Best JavaScript code snippet using storybook-root
bloodhound_spec.js
Source:bloodhound_spec.js
1describe('Bloodhound', function() {2 function build(o) {3 return new Bloodhound(_.mixin({4 datumTokenizer: datumTokenizer,5 queryTokenizer: queryTokenizer6 }, o || {}));7 }8 beforeEach(function() {9 jasmine.Remote.useMock();10 jasmine.Prefetch.useMock();11 jasmine.Transport.useMock();12 jasmine.PersistentStorage.useMock();13 });14 afterEach(function() {15 clearAjaxRequests();16 });17 describe('#initialize', function() {18 beforeEach(function() {19 this.bloodhound = build({ initialize: false });20 spyOn(this.bloodhound, '_initialize').andCallThrough();21 });22 it('should not initialize if intialize option is false', function() {23 expect(this.bloodhound._initialize).not.toHaveBeenCalled();24 });25 it('should not support reinitialization by default', function() {26 var p1, p2;27 p1 = this.bloodhound.initialize();28 p2 = this.bloodhound.initialize();29 expect(p1).toBe(p2);30 expect(this.bloodhound._initialize.callCount).toBe(1);31 });32 it('should reinitialize if reintialize flag is true', function() {33 var p1, p2;34 p1 = this.bloodhound.initialize();35 p2 = this.bloodhound.initialize(true);36 expect(p1).not.toBe(p2);37 expect(this.bloodhound._initialize.callCount).toBe(2);38 });39 it('should clear the index', function() {40 this.bloodhound = build({ initialize: false, prefetch: '/prefetch' });41 spyOn(this.bloodhound, 'clear');42 this.bloodhound.initialize();43 expect(this.bloodhound.clear).toHaveBeenCalled();44 });45 it('should load data from prefetch cache if available', function() {46 this.bloodhound = build({ initialize: false, prefetch: '/prefetch' });47 this.bloodhound.prefetch.fromCache.andReturn(fixtures.serialized.simple);48 this.bloodhound.initialize();49 expect(this.bloodhound.all()).toEqual(fixtures.data.simple);50 expect(this.bloodhound.prefetch.fromNetwork).not.toHaveBeenCalled();51 });52 it('should load data from prefetch network as fallback', function() {53 this.bloodhound = build({ initialize: false, prefetch: '/prefetch' });54 this.bloodhound.prefetch.fromCache.andReturn(null);55 this.bloodhound.prefetch.fromNetwork.andCallFake(fakeFromNetwork);56 this.bloodhound.initialize();57 expect(this.bloodhound.all()).toEqual(fixtures.data.simple);58 function fakeFromNetwork(cb) { cb(null, fixtures.data.simple); }59 });60 it('should store prefetch network data in the prefetch cache', function() {61 this.bloodhound = build({ initialize: false, prefetch: '/prefetch' });62 this.bloodhound.prefetch.fromCache.andReturn(null);63 this.bloodhound.prefetch.fromNetwork.andCallFake(fakeFromNetwork);64 this.bloodhound.initialize();65 expect(this.bloodhound.prefetch.store)66 .toHaveBeenCalledWith(fixtures.serialized.simple);67 function fakeFromNetwork(cb) { cb(null, fixtures.data.simple); }68 });69 it('should add local after prefetch is loaded', function() {70 this.bloodhound = build({71 initialize: false,72 local: [{ foo: 'bar' }],73 prefetch: '/prefetch'74 });75 this.bloodhound.prefetch.fromNetwork.andCallFake(fakeFromNetwork);76 expect(this.bloodhound.all()).toEqual([]);77 this.bloodhound.initialize();78 expect(this.bloodhound.all()).toEqual([{ foo: 'bar' }]);79 function fakeFromNetwork(cb) { cb(null, []); }80 });81 });82 describe('#add', function() {83 it('should add datums to search index', function() {84 var spy = jasmine.createSpy();85 this.bloodhound = build().add(fixtures.data.simple);86 this.bloodhound.search('big', spy);87 expect(spy).toHaveBeenCalledWith([88 { value: 'big' },89 { value: 'bigger' },90 { value: 'biggest' }91 ]);92 });93 });94 describe('#get', function() {95 beforeEach(function() {96 this.bloodhound = build({97 identify: function(d) { return d.value; },98 local: fixtures.data.simple99 });100 });101 it('should support array signature', function() {102 expect(this.bloodhound.get(['big', 'bigger'])).toEqual([103 { value: 'big' },104 { value: 'bigger' }105 ]);106 });107 it('should support splat signature', function() {108 expect(this.bloodhound.get('big', 'bigger')).toEqual([109 { value: 'big' },110 { value: 'bigger' }111 ]);112 });113 it('should return nothing for unknown ids', function() {114 expect(this.bloodhound.get('big', 'foo', 'bigger')).toEqual([115 { value: 'big' },116 { value: 'bigger' }117 ]);118 });119 });120 describe('#clear', function() {121 it('should remove all datums to search index', function() {122 var spy = jasmine.createSpy();123 this.bloodhound = build({ local: fixtures.data.simple }).clear();124 this.bloodhound.search('big', spy);125 expect(spy).toHaveBeenCalledWith([]);126 });127 });128 describe('#clearPrefetchCache', function() {129 it('should clear persistent storage', function() {130 this.bloodhound = build({ prefetch: '/prefetch' }).clearPrefetchCache();131 expect(this.bloodhound.prefetch.clear).toHaveBeenCalled();132 });133 });134 describe('#clearRemoteCache', function() {135 it('should clear remote request cache', function() {136 spyOn(Transport, 'resetCache');137 this.bloodhound = build({ remote: '/remote' }).clearRemoteCache();138 expect(Transport.resetCache).toHaveBeenCalled();139 });140 });141 describe('#all', function() {142 it('should return all local results', function() {143 this.bloodhound = build({ local: fixtures.data.simple });144 expect(this.bloodhound.all()).toEqual(fixtures.data.simple);145 });146 });147 describe('#search â local', function() {148 it('should return sync matches', function() {149 var spy = jasmine.createSpy();150 this.bloodhound = build({ local: fixtures.data.simple });151 this.bloodhound.search('big', spy);152 expect(spy).toHaveBeenCalledWith([153 { value: 'big' },154 { value: 'bigger' },155 { value: 'biggest' }156 ]);157 });158 });159 describe('#search â prefetch', function() {160 it('should return sync matches', function() {161 var spy = jasmine.createSpy();162 this.bloodhound = build({ initialize: false, prefetch: '/prefetch' });163 this.bloodhound.prefetch.fromCache.andReturn(fixtures.serialized.simple);164 this.bloodhound.initialize();165 this.bloodhound.search('big', spy);166 expect(spy).toHaveBeenCalledWith([167 { value: 'big' },168 { value: 'bigger' },169 { value: 'biggest' }170 ]);171 });172 });173 describe('#search â remote', function() {174 it('should return async matches', function() {175 var spy = jasmine.createSpy();176 this.bloodhound = build({ remote: '/remote' });177 this.bloodhound.remote.get.andCallFake(fakeGet);178 this.bloodhound.search('dog', $.noop, spy);179 expect(spy.callCount).toBe(1);180 function fakeGet(o, cb) { cb(fixtures.data.animals); }181 });182 });183 describe('#search â integration', function() {184 it('should backfill when local/prefetch is not sufficient', function() {185 var syncSpy, asyncSpy;186 syncSpy = jasmine.createSpy();187 asyncSpy = jasmine.createSpy();188 this.bloodhound = build({189 sufficient: 3,190 local: fixtures.data.simple,191 remote: '/remote'192 });193 this.bloodhound.remote.get.andCallFake(fakeGet);194 this.bloodhound.search('big', syncSpy, asyncSpy);195 expect(syncSpy).toHaveBeenCalledWith([196 { value: 'big' },197 { value: 'bigger' },198 { value: 'biggest' }199 ]);200 expect(asyncSpy).not.toHaveBeenCalled();201 this.bloodhound.search('bigg', syncSpy, asyncSpy);202 expect(syncSpy).toHaveBeenCalledWith([203 { value: 'bigger' },204 { value: 'biggest' }205 ]);206 expect(asyncSpy).toHaveBeenCalledWith(fixtures.data.animals);207 function fakeGet(o, cb) { cb(fixtures.data.animals); }208 });209 it('should remove duplicates from backfill', function() {210 var syncSpy, asyncSpy;211 syncSpy = jasmine.createSpy();212 asyncSpy = jasmine.createSpy();213 this.bloodhound = build({214 identify: function(d) { return d.value; },215 local: fixtures.data.animals,216 remote: '/remote'217 });218 this.bloodhound.remote.get.andCallFake(fakeGet);219 this.bloodhound.search('dog', syncSpy, asyncSpy);220 expect(syncSpy).toHaveBeenCalledWith([{ value: 'dog' }]);221 expect(asyncSpy).toHaveBeenCalledWith([222 { value: 'cat' },223 { value: 'moose' }224 ]);225 function fakeGet(o, cb) { cb(fixtures.data.animals); }226 });227 });228 // helper functions229 // ----------------230 function datumTokenizer(d) { return $.trim(d.value).split(/\s+/); }231 function queryTokenizer(s) { return $.trim(s).split(/\s+/); }...
Using AI Code Generation
1import { syncSpy } from 'storybook-root-decorator';2import { syncSpy } from 'storybook-root-decorator';3import { syncSpy } from 'storybook-root-decorator';4import { syncSpy } from 'storybook-root-decorator';5import { syncSpy } from 'storybook-root-decorator';6import { syncSpy } from 'storybook-root-decorator';7import { syncSpy } from 'storybook-root-decorator';8import { syncSpy } from 'storybook-root-decorator';9import { syncSpy } from 'storybook-root-decorator';10import { syncSpy } from 'storybook-root-decorator';11import { syncSpy } from
Using AI Code Generation
1import { syncSpy } from 'storybook-root-decorator';2import { rootDecorator } from 'storybook-root-decorator';3import { withKnobs } from '@storybook/addon-knobs';4import { withInfo } from '@storybook/addon-info';5import { withA11y } from '@storybook/addon-a11y';6import { withOptions } from '@storybook/addon-options';7import { jsxDecorator } from 'storybook-addon-jsx';8import { withPropsTable } from 'storybook-addon-react-docgen';9import { withPropsTable } from 'storybook-addon-react-docgen';10import { withThemesProvider } from 'storybook-addon-styled-component-theme';11import { withThemesProvider } from 'storybook-addon-styled-component-theme';12import { withThemesProvider } from 'storybook-addon-styled-component-theme';13import { withThemesProvider } from 'storybook-addon-styled-component-theme';14import { withThemesProvider } from 'storybook-addon-styled-component-theme';15import { withThemesProvider } from 'storybook-addon-styled-component-theme';16import { withThemesProvider } from 'storybook-addon-styled-component-theme';17import { withThemesProvider } from 'storybook-addon-styled-component-theme';18import { withThemesProvider } from 'storybook-addon-styled-component-theme';19import { withThemes } from 'storybook-addon-styled-component-theme';20import { withThemes } from 'storybook-addon-styled-component-theme';21import { withThemesProvider } from 'storybook-addon-styled-component-theme';22import { withThemes } from 'storybook-addon-styled-component-theme';23import { withThemes } from '
Using AI Code Generation
1import { syncSpy } from 'storybook-root'2syncSpy('MyComponent', 'MyComponent')3import { spy } from 'storybook-root'4spy('MyComponent', 'MyComponent')5syncSpy('MyComponent', 'MyComponent')6import { syncSpy } from 'storybook-root'7syncSpy('MyComponent', 'MyComponent')8import { spy } from 'storybook-root'9spy('MyComponent', 'MyComponent')
Using AI Code Generation
1import { syncSpy } from 'storybook-root';2import { syncSpy } from 'storybook-root';3syncSpy('mySpy', 'mySpy');4import { syncSpy } from 'storybook-root';5import { syncSpy } from 'storybook-root';6syncSpy('mySpy', 'mySpy');7import { syncSpy } from 'storybook-root';8import { syncSpy } from 'storybook-root';9syncSpy('mySpy', 'mySpy');10import { syncSpy } from 'storybook-root';11import { syncSpy } from 'storybook-root';12syncSpy('mySpy', 'mySpy');13import { syncSpy } from 'storybook-root';14import { syncSpy } from 'storybook-root';15syncSpy('mySpy', 'mySpy');16import { syncSpy } from 'storybook-root';17import { syncSpy } from 'storybook-root';18syncSpy('mySpy', 'mySpy');19import { syncSpy } from 'storybook-root';20import { syncSpy } from 'storybook-root';21syncSpy('mySpy', 'mySpy');22import { syncSpy } from 'storybook-root';23import
Using AI Code Generation
1import { syncSpy } from 'storybook-root-provider';2describe('test', () => {3 it('should test', () => {4 syncSpy();5 });6});7import { syncSpy } from 'storybook-root-provider';8beforeEach(() => {9 syncSpy();10});11import { syncSpy } from 'storybook-root-provider';12beforeEach(() => {13 syncSpy();14});15afterEach(() => {16 syncSpy();17});18import { syncSpy } from 'storybook-root-provider';19beforeEach(() => {20 syncSpy();21});22afterEach(() => {23 syncSpy();24});25import { syncSpy } from 'storybook-root-provider';26beforeEach(() => {27 syncSpy();28});29afterEach(() => {30 syncSpy();31});32import { syncSpy } from 'storybook-root-provider';33beforeEach(() => {34 syncSpy();35});36afterEach(() => {37 syncSpy();38});39import { syncSpy } from 'storybook-root-provider';
Using AI Code Generation
1import { syncSpy } from 'storybook-root';2import { syncSpy } from 'storybook-root';3describe('test', () => {4 it('should sync spy', () => {5 syncSpy('someSpy', 'someOtherSpy');6 });7});8app.directive('inputMask', function() {9 return {10 link: function(scope, elem, attrs) {11 var mask = attrs.inputMask;12 var maskArray = mask.split('');13 var maskLength = maskArray.length;14 var maskChar = maskArray[maskLength - 1];15 var maskRegex = new RegExp(maskChar, "g");16 var maskRegexLength = (mask.match(maskRegex) || []).length;17 elem.on('input', function() {18 var input = elem.val();19 var inputLength = input.length;20 if (inputLength < maskLength) {21 for (var i = inputLength; i < maskLength; i++) {22 if (maskArray[i] == maskChar) {23 input = input + maskChar;24 } else {25 input = input + maskArray[i];26 }27 }28 elem.val(input);29 }30 if (inputLength == maskLength) {31 if (maskArray[inputLength - 1] == maskChar) {32 elem.val(input);33 } else {34 elem.val(input + maskChar);35 }36 }37 if (inputLength > maskLength) {38 var newInput = input.substring(0, maskLength);39 var newInputLength = newInput.length;40 if (maskArray[newInputLength - 1] ==
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!