Best JavaScript code snippet using best
value-attribute-observer.spec.ts
Source:value-attribute-observer.spec.ts
1import { ValueAttributeObserver } from '@aurelia/runtime-html';2import { _, TestContext, assert, createSpy } from '@aurelia/testing';3// eslint-disable-next-line mocha/no-skipped-tests4describe.skip('ValueAttributeObserver', function () {5 const eventDefaults = { bubbles: true };6 for (const { inputType, nullValues, validValues } of [7 { inputType: 'button', nullValues: [null, undefined], validValues: ['', 'foo'] },8 { inputType: 'email', nullValues: [null, undefined], validValues: ['', 'foo'] },9 { inputType: 'hidden', nullValues: [null, undefined], validValues: ['', 'foo'] },10 { inputType: 'image', nullValues: [null, undefined], validValues: ['', 'foo'] },11 { inputType: 'password', nullValues: [null, undefined], validValues: ['', 'foo'] },12 { inputType: 'reset', nullValues: [null, undefined], validValues: ['', 'foo'] },13 { inputType: 'search', nullValues: [null, undefined], validValues: ['', 'foo'] },14 { inputType: 'submit', nullValues: [null, undefined], validValues: ['', 'foo'] },15 { inputType: 'tel', nullValues: [null, undefined], validValues: ['', 'foo'] },16 { inputType: 'text', nullValues: [null, undefined], validValues: ['', 'foo'] },17 { inputType: 'url', nullValues: [null, undefined], validValues: ['', 'foo'] }18 ]) {19 describe(`setValue() - type="${inputType}"`, function () {20 function createFixture(hasSubscriber: boolean) {21 const ctx = TestContext.create();22 const { container, observerLocator, platform } = ctx;23 const el = ctx.createElementFromMarkup(`<input type="${inputType}"/>`) as HTMLInputElement;24 ctx.doc.body.appendChild(el);25 const sut = observerLocator.getObserver(el, 'value') as ValueAttributeObserver;26 const subscriber = { handleChange: createSpy() };27 if (hasSubscriber) {28 sut.subscribe(subscriber);29 }30 return { ctx, container, observerLocator, el, sut, subscriber, platform };31 }32 function tearDown({ ctx, el }: Partial<ReturnType<typeof createFixture>>) {33 ctx.doc.body.removeChild(el);34 assert.areTaskQueuesEmpty();35 }36 for (const hasSubscriber of [true, false]) {37 for (const valueBefore of [...nullValues, ...validValues]) {38 for (const valueAfter of [...nullValues, ...validValues]) {39 it(_`hasSubscriber=${hasSubscriber}, valueBefore=${valueBefore}, valueAfter=${valueAfter}`, function () {40 const { ctx, sut, el, subscriber, platform } = createFixture(hasSubscriber);41 const expectedValueBefore = nullValues.includes(valueBefore) ? '' : valueBefore;42 const expectedValueAfter = nullValues.includes(valueAfter) ? '' : valueAfter;43 const changeCountBefore = expectedValueBefore !== '' ? 1 : 0;44 const changeCountAfter = expectedValueBefore !== expectedValueAfter ? 1 : 0;45 let callCount = 0;46 sut.setValue(valueBefore);47 // assert.strictEqual(lifecycle.flushCount, changeCountBefore, 'lifecycle.flushCount 1');48 platform.domWriteQueue.flush();49 assert.strictEqual(el.value, expectedValueBefore, 'el.value 1');50 assert.strictEqual(sut.getValue(), expectedValueBefore, 'sut.getValue() 1');51 if (hasSubscriber && changeCountBefore) {52 callCount++;53 assert.deepStrictEqual(54 subscriber.handleChange.calls,55 [56 [expectedValueBefore, ''],57 ],58 'subscriber.handleChange.calls',59 );60 }61 sut.setValue(valueAfter);62 // assert.strictEqual(lifecycle.flushCount, changeCountAfter, 'lifecycle.flushCount 2');63 platform.domWriteQueue.flush();64 assert.strictEqual(el.value, expectedValueAfter, 'el.value 2');65 assert.strictEqual(sut.getValue(), expectedValueAfter, 'sut.getValue() 2',);66 if (hasSubscriber && changeCountAfter) {67 callCount++;68 assert.deepStrictEqual(69 subscriber.handleChange.calls,70 [71 [expectedValueBefore, ''],72 [expectedValueAfter, expectedValueBefore],73 ],74 'subscriber.handleChange.calls',75 );76 }77 if (hasSubscriber) {78 assert.strictEqual(subscriber.handleChange.calls.length, callCount, `subscriber.handleChange.calls.length`);79 }80 tearDown({ ctx, sut, el });81 });82 }83 }84 }85 });86 describe(`handleEvent() - type="${inputType}"`, function () {87 function createFixture() {88 const ctx = TestContext.create();89 const { container, observerLocator } = ctx;90 const el = ctx.createElementFromMarkup(`<input type="${inputType}"/>`) as HTMLInputElement;91 ctx.doc.body.appendChild(el);92 const sut = observerLocator.getObserver(el, 'value') as ValueAttributeObserver;93 const subscriber = { handleChange: createSpy() };94 sut.subscribe(subscriber);95 return { ctx, container, observerLocator, el, sut, subscriber };96 }97 function tearDown({ ctx, el }: Partial<ReturnType<typeof createFixture>>) {98 ctx.doc.body.removeChild(el);99 }100 for (const valueBefore of [...nullValues, ...validValues]) {101 for (const valueAfter of [...nullValues, ...validValues]) {102 for (const event of ['change', 'input']) {103 it(_`valueBefore=${valueBefore}, valueAfter=${valueAfter}`, function () {104 const { ctx, sut, el, subscriber } = createFixture();105 const expectedValueBefore = valueBefore == null ? '' : `${valueBefore}`;106 const expectedValueAfter = valueAfter == null ? '' : `${valueAfter}`;107 let callCount = 0;108 el.value = valueBefore;109 el.dispatchEvent(new ctx.Event(event, eventDefaults));110 assert.strictEqual(el.value, expectedValueBefore, 'el.value 1');111 assert.strictEqual(sut.getValue(), expectedValueBefore, 'sut.getValue() 1');112 if (expectedValueBefore !== '') {113 callCount++;114 assert.deepStrictEqual(115 subscriber.handleChange.calls,116 [117 [expectedValueBefore, ''],118 ],119 'subscriber.handleChange.calls',120 );121 }122 el.value = valueAfter;123 el.dispatchEvent(new ctx.Event(event, eventDefaults));124 assert.strictEqual(el.value, expectedValueAfter, 'el.value 2');125 assert.strictEqual(sut.getValue(), expectedValueAfter, 'sut.getValue() 2');126 if (expectedValueBefore !== expectedValueAfter) {127 callCount++;128 assert.deepStrictEqual(129 subscriber.handleChange.calls,130 [131 [expectedValueBefore, ''],132 [expectedValueAfter, expectedValueBefore],133 ],134 'subscriber.handleChange.calls',135 );136 }137 assert.strictEqual(subscriber.handleChange.calls.length, callCount, `subscriber.handleChange.calls.length`);138 tearDown({ ctx, sut, el });139 });140 }141 }142 }143 });144 }...
data-parser.test.ts
Source:data-parser.test.ts
1import { parseString, parseNumber, parseIsbn } from './data-parser';2describe(`${parseString.name}`, () => {3 const nullValues = [null, undefined, ''];4 nullValues.forEach((inputValue) => {5 it(`returns null when the input is ${JSON.stringify(inputValue)}`, () => {6 const value = parseString(inputValue);7 expect(value).toBe(null);8 });9 });10 it('returns the input value when it is defined', () => {11 const input = 'this has a value';12 const value = parseString(input);13 expect(value).toBe(input);14 });15});16describe(`${parseNumber.name}`, () => {17 const nullValues = [null, undefined];18 nullValues.forEach((inputValue) => {19 it(`returns null when the input is ${JSON.stringify(inputValue)}`, () => {20 const value = parseNumber(inputValue);21 expect(value).toBe(null);22 });23 });24 const validValues = [-1, 0, 1, 2];25 validValues.forEach((inputValue) => {26 it(`returns the value when the input is ${JSON.stringify(27 inputValue28 )}`, () => {29 const value = parseNumber(inputValue);30 expect(value).toBe(inputValue);31 });32 });33});34describe(`${parseIsbn.name}`, () => {35 const nullValues = [null, undefined, '', 'unknown'];36 nullValues.forEach((inputValue) => {37 it(`returns null when the input is ${JSON.stringify(inputValue)}`, () => {38 const value = parseIsbn(inputValue);39 expect(value).toBe(null);40 });41 });42 it('returns the input value when it is defined', () => {43 const isbn = '9781449325862';44 const value = parseIsbn(isbn);45 expect(value).toBe(isbn);46 });...
nullvalues.js
Source:nullvalues.js
1.import QtQuick.LocalStorage 2.0 as Sql2function test() {3 var db = Sql.LocalStorage.openDatabaseSync("QmlTestDB-nullvalues", "", "Test database from Qt autotests", 1000000);4 var r="transaction_not_finished";5 db.transaction(6 function(tx) {7 tx.executeSql('CREATE TABLE IF NOT EXISTS NullValues(salutation TEXT, salutee TEXT)');8 tx.executeSql('INSERT INTO NullValues VALUES(?, ?)', [ 'hello', null ]);9 var firstRow = tx.executeSql("SELECT * FROM NullValues").rows.item(0);10 if (firstRow.salutation !== "hello")11 return12 if (firstRow.salutee === "") {13 r = "wrong_data_type"14 return15 }16 if (firstRow.salutee === null)17 r = "passed";18 }19 );20 return r;...
Using AI Code Generation
1const BestTimeToBuyAndSellStock = require('./BestTimeToBuyAndSellStock');2const obj = new BestTimeToBuyAndSellStock();3obj.nullValues(0, 0);4obj.nullValues(0, 1);5obj.nullValues(1, 0);6obj.nullValues(1, 1);7obj.nullValues(2, 2);8obj.nullValues(2, 3);9obj.nullValues(3, 2);10obj.nullValues(3, 3);11obj.nullValues(4, 4);12obj.nullValues(4, 5);13obj.nullValues(5, 4);14obj.nullValues(5, 5);15obj.nullValues(6, 6);16obj.nullValues(6, 7);17obj.nullValues(7, 6);18obj.nullValues(7, 7);19obj.nullValues(8, 8);20obj.nullValues(8, 9);21obj.nullValues(9, 8);22obj.nullValues(9, 9);23obj.nullValues(10, 10);24obj.nullValues(10, 11);25obj.nullValues(11, 10);26obj.nullValues(11, 11);27obj.nullValues(12, 12);28obj.nullValues(12, 13);29obj.nullValues(13, 12);30obj.nullValues(13, 13);31obj.nullValues(14, 14);32obj.nullValues(14, 15);33obj.nullValues(15, 14);34obj.nullValues(15, 15);35obj.nullValues(16, 16);36obj.nullValues(16, 17);37obj.nullValues(17, 16);38obj.nullValues(17, 17);39obj.nullValues(18, 18);40obj.nullValues(18, 19);41obj.nullValues(19, 18);42obj.nullValues(19, 19);43obj.nullValues(20, 20);44obj.nullValues(20, 21);45obj.nullValues(21, 20);46obj.nullValues(21, 21);47obj.nullValues(22, 22);48obj.nullValues(22, 23);49obj.nullValues(23, 22);50obj.nullValues(23, 23);51obj.nullValues(24, 24);52obj.nullValues(24, 25);53obj.nullValues(25, 24);
Using AI Code Generation
1var bestMatch = require('./bestMatch');2var bm = new bestMatch();3var arr = [1,2,3,4,5,6,7,8,9,10];4var arr1 = [1,2,3,4,5,6,7,8,9,10];5var arr2 = [1,2,3,4,5,6,7,8,9,10];6var arr3 = [1,2,3,4,5,6,7,8,9,10];7var arr4 = [1,2,3,4,5,6,7,8,9,10];8var arr5 = [1,2,3,4,5,6,7,8,9,10];9var arr6 = [1,2,3,4,5,6,7,8,9,10];10var arr7 = [1,2,3,4,5,6,7,8,9,10];11var arr8 = [1,2,3,4,5,6,7,8,9,10];12var arr9 = [1,2,3,4,5,6,7,8,9,10];13var arr10 = [1,2,3,4,5,6,7,8,9,10];14var arr11 = [1,2,3,4,5,6,7,8,9,10];15var arr12 = [1,2,3,4,5,6,7,8,9,10];16var arr13 = [1,2,3,4,5,6,7,8,9,10];17var arr14 = [1,2,3,4,5,6,7,8,9,10];18var arr15 = [1,2,3,4,5,6,7,8,9,10];19var arr16 = [1,2,3,4,5,6,7,8,9,10];20var arr17 = [1,2,3,4,5,6,7,8,9,10];21var arr18 = [1,2,3,4,5,6,7,8,9,10];
Using AI Code Generation
1var BestLapTime = require('./BestLapTime');2var bestLapTime = new BestLapTime();3var lapTimes = [1, 2, null, 4, 5, 6, 7, 8, 9, 10];4var lapTimes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];5var lapTimes = [null, 2, 3, 4, 5, 6, 7, 8, 9, null];6var lapTimes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];7var lapTimes = [1, null, 3, 4, 5, 6, 7, 8, 9, null];8var lapTimes = [1, 2, 3, 4, 5, 6, 7, 8, 9, null];
Using AI Code Generation
1var BestMatch = require('./BestMatch.js');2var myBestMatch = new BestMatch();3var myString = "This is a test of the emergency broadcast system.";4var myWords = myString.split(" ");5var myOtherString = "This is a test of the emergency broadcast system. This is only a test.";6var myOtherWords = myOtherString.split(" ");7var myBestMatch = new BestMatch();
Using AI Code Generation
1var BestBuy = require('./bestbuy.js');2var bestbuy = new BestBuy();3var nullValues = bestbuy.nullValues();4function handleNullValues(err, data) {5 if (err) {6 console.log(err);7 } else {8 console.log(data);9 }10}11nullValues(handleNullValues);
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!!