Best JavaScript code snippet using ava
ValidatorDefTests.js
Source:ValidatorDefTests.js
1// Copyright 2019-2021, University of Colorado Boulder2/**3 * QUnit tests for Validator4 *5 * @author Sam Reid (PhET Interactive Simulations)6 */7import Enumeration from '../../phet-core/js/Enumeration.js';8import Node from '../../scenery/js/nodes/Node.js';9import StringIO from '../../tandem/js/types/StringIO.js';10import Emitter from './Emitter.js';11import validate from './validate.js';12import ValidatorDef from './ValidatorDef.js';13// constants14const ASSERTIONS_TRUE = { assertions: true };15QUnit.module( 'Validator' );16// Note that many validation tests are in PropertyTests17QUnit.test( 'Test validate and ValidatorDef.isValidValue', assert => {18 window.assert && assert.throws( () => validate( 4, { validValues: [ 1, 2, 3 ] } ), 'invalid number' );19 window.assert && assert.throws( () => validate( 'hello', { valueType: Array } ), 'string isn\'t Array' );20 assert.ok( ValidatorDef.isValueValid( 3, { validValues: [ 1, 2, 3 ] } ) );21 assert.ok( ValidatorDef.isValueValid( [], { valueType: Array } ) );22 assert.ok( ValidatorDef.isValueValid( 7, { valueType: 'number', isValidValue: v => v > 5 } ) );23 assert.ok( !ValidatorDef.isValueValid( 7, { valueType: 'number', isValidValue: v => v > 7 } ) );24 assert.ok( !ValidatorDef.isValueValid( 7, { valueType: 'number', isValidValue: v => v < 3 } ) );25} );26QUnit.test( 'Test containsValidatorKey', assert => {27 assert.ok( ValidatorDef.containsValidatorKey( { validValues: [] }, 'has key validValues' ) );28 assert.ok( !ValidatorDef.containsValidatorKey( { shmalidValues: [] }, 'does not have key: validValues' ) );29 assert.ok( ValidatorDef.containsValidatorKey( {30 validValues: [],31 valueType: []32 }, 'does have keys: valueType and validValues' ) );33 assert.ok( ValidatorDef.containsValidatorKey( {34 validValue: [],35 valueType: []36 }, 'still have valueType and be ok even though it doesn\'t have validValues' ) );37} );38QUnit.test( 'Test isValidValidator and validateValidator', assert => {39 window.assert && assert.throws( () => ValidatorDef.validateValidator( {40 valueType: Array,41 isValidValue: 442 } ), 'isValidValue should be function' );43 window.assert && assert.throws( () => ValidatorDef.isValidValidator( {44 valueType: Array,45 validValues: [ 'hi' ]46 }, ASSERTIONS_TRUE ), 'validValues contains invalid value' );47 assert.ok( ValidatorDef.isValidValidator( { valueType: 'number' } ), 'good valueType' );48 assert.ok( !ValidatorDef.isValidValidator( { validValue: 'number' } ), 'no validator keys supplied' );49 assert.ok( !ValidatorDef.isValidValidator( { validValue: 4 } ), 'no validator keys supplied' );50 assert.ok( !ValidatorDef.isValidValidator( { valueType: 'blaradysharady' } ), 'invalid valueType string' );51 assert.ok( ValidatorDef.isValidValidator( { isValidValue: () => {} } ), 'isValidValue is a function' );52 assert.ok( !ValidatorDef.isValidValidator( { isValidValue: 'hi' } ), 'isValidValue should not be string' );53 assert.ok( ValidatorDef.isValidValidator( { valueType: null } ), 'null is valid' );54 assert.ok( ValidatorDef.isValidValidator( { valueType: [ 'number', null ] } ), 'array of null and number is valid' );55 assert.ok( ValidatorDef.isValidValidator( { valueType: [ 'number', null, Node ] } ), 'array of null and number is valid' );56 assert.ok( !ValidatorDef.isValidValidator( { valueType: [ 'numberf', null, Node ] } ), 'numberf is not a valid valueType' );57 window.assert && assert.throws( () => {58 ValidatorDef.isValueValid( undefined, { valueType: [ 'number', 'sstring' ] }, ASSERTIONS_TRUE );59 }, 'sstring is not a valid valueType' );60 window.assert && assert.throws( () => {61 ValidatorDef.isValueValid( undefined, { valueType: [ 7 ] }, ASSERTIONS_TRUE );62 }, '7 is not a valid valueType' );63 window.assert && assert.throws( () => {64 ValidatorDef.isValueValid( undefined, { valueType: [ 'number', {} ] }, ASSERTIONS_TRUE );65 }, 'Object literal is not a valid valueType' );66} );67QUnit.test( 'Test valueType: {Array.<number|null|string|function|Enumeration>}', assert => {68 assert.ok( ValidatorDef.isValueValid( null, { valueType: null } ), 'null is valid' );69 assert.ok( ValidatorDef.isValueValid( 7, { valueType: [ 'number', null ] } ), '7 is valid for null and number' );70 assert.ok( ValidatorDef.isValueValid( null, { valueType: [ 'number', null ] } ), 'null is valid for null and number' );71 assert.ok( ValidatorDef.isValueValid( new Node(), { valueType: [ 'number', null, Node ] } ), 'Node is valid' );72 assert.ok( ValidatorDef.isValueValid( Enumeration.byKeys( [ 'ROBIN', 'JAY', 'WREN' ] ), { valueType: [ Enumeration, null, Node ] } ), 'Node is valid' );73 assert.ok( !ValidatorDef.isValueValid( 'hello', { valueType: [ 'number', null, Node ] } ), 'string not valid' );74 window.assert && assert.throws( () => validate( true, { valueType: [ 'number', 'string' ] } ), 'number and string do not validate boolean' );75 window.assert && assert.throws( () => validate( null, { valueType: [ 'number', 'string' ] } ), 'number and string do not validate null' );76 window.assert && assert.throws( () => validate( undefined, { valueType: [ 'number', 'string' ] } ), 'number and string do not validate undefined' );77 window.assert && assert.throws( () => validate( () => {}, { valueType: [ 'number', 'string' ] } ), 'number and string do not validate undefined' );78 const Birds = Enumeration.byKeys( [ 'ROBIN', 'JAY', 'WREN' ] );79 window.assert && assert.throws( () => validate( () => {}, { valueType: [ Birds, 'string' ] } ), 'number and string do not validate undefined' );80} );81QUnit.test( 'Test valueType: {Enumeration}', assert => {82 const Birds = Enumeration.byKeys( [ 'ROBIN', 'JAY', 'WREN' ] );83 assert.ok( ValidatorDef.isValidValidator( { valueType: Birds } ), 'good valueType' );84 assert.ok( ValidatorDef.isValueValid( Birds.ROBIN, { valueType: Birds } ), 'good value' );85 window.assert && assert.throws( () => ValidatorDef.isValueValid( 4, { valueType: Birds } ), 'bad value' );86} );87QUnit.test( 'Test phetioType', assert => {88 assert.ok( ValidatorDef.isValidValidator( { phetioType: { validator: { valueType: 'number' } } } ), 'good phetioType' );89 assert.ok( ValidatorDef.isValidValidator( { phetioType: { validator: { isValidValue: () => true } } } ), 'good phetioType' );90 assert.ok( !ValidatorDef.isValidValidator( { phetioType: { notValidator: { isValidValue: () => true } } } ), 'bad phetioType' );91 assert.ok( !ValidatorDef.isValidValidator( { phetioType: { validator: { isValidValue: 'number' } } } ), 'bad phetioType' );92 assert.ok( !ValidatorDef.isValidValidator( { phetioType: { validator: {} } } ), 'bad phetioType' );93 assert.ok( !ValidatorDef.isValidValidator( { phetioType: { validator: null } } ), 'bad phetioType' );94 assert.ok( !ValidatorDef.isValidValidator( { phetioType: 'null' } ), 'bad phetioType' );95 assert.ok( !ValidatorDef.isValidValidator( { phetioType: null } ), 'bad phetioType' );96 assert.ok( ValidatorDef.isValueValid( 'hello', { phetioType: StringIO } ), 'string valid' );97 assert.ok( !ValidatorDef.isValueValid( null, { phetioType: StringIO } ), 'null not valid' );98 assert.ok( !ValidatorDef.isValueValid( undefined, { phetioType: StringIO } ), 'undefined not valid' );99 assert.ok( ValidatorDef.isValueValid( 'oh hi', { phetioType: StringIO } ), 'string valid' );100 assert.ok( ValidatorDef.isValueValid( 'oh no', {101 phetioType: StringIO,102 isValidValue: v => v.startsWith( 'o' )103 } ), 'string valid' );104 assert.ok( !ValidatorDef.isValueValid( 'ho on', {105 phetioType: StringIO,106 isValidValue: v => v.startsWith( 'o' )107 } ), 'string not valid' );108 assert.ok( ValidatorDef.isValueValid( new Emitter(), { phetioType: Emitter.EmitterIO( [] ) } ), 'emitter is valid' );109} );110QUnit.test( 'Test arrayElementType', assert => {111 window.assert && assert.throws( () => ValidatorDef.validateValidator( {112 valueType: 'not array',113 arrayElementType: null114 } ), 'arrayElementType expected should not have valueType or for it to be "Array"' );115 assert.ok( ValidatorDef.isValidValidator( { arrayElementType: 'number' } ), 'good valueType' );116 assert.ok( ValidatorDef.isValidValidator( { valueType: Array, arrayElementType: 'number' } ), 'does not matter if valueType: Array is provided' );117 assert.ok( !ValidatorDef.isValidValidator( { arrayElementTypes: 'number' } ), 'no validator keys supplied' );118 assert.ok( !ValidatorDef.isValidValidator( { arrayElementTypes: 4 } ), 'no validator keys supplied' );119 assert.ok( !ValidatorDef.isValidValidator( { arrayElementType: 'blaradysharady' } ), 'invalid valueType string' );120 assert.ok( ValidatorDef.isValidValidator( { arrayElementType: null } ), 'null is valid' );121 assert.ok( ValidatorDef.isValidValidator( { arrayElementType: [ 'number', null ] } ), 'array of null and number is valid' );122 assert.ok( ValidatorDef.isValidValidator( { arrayElementType: [ 'number', null, Node ] } ), 'array of null and number is valid' );123 assert.ok( !ValidatorDef.isValidValidator( { arrayElementType: [ 'numberf', null, Node ] } ), 'numberf is not a valid arrayElementType' );124 assert.ok( ValidatorDef.isValueValid( [ 1, 2, 3, 4, 5 ], { arrayElementType: [ 'number' ] } ), 'number array ok' );125 assert.ok( !ValidatorDef.isValueValid( [ 1, 2, 3, 4, 5, null ], { arrayElementType: [ 'number' ] } ), 'number array bad with null' );126 assert.ok( ValidatorDef.isValueValid( [ 1, 2, 3, 4, 5, null ], { arrayElementType: [ 'number', null ] } ), 'number array ok with null' );127 assert.ok( ValidatorDef.isValueValid( [ 1, 'fdsaf', 3, 4, 5, null ], { arrayElementType: [ 'number', 'string', null ] } ), 'number and string array ok with null' );128 assert.ok( !ValidatorDef.isValueValid( [ 1, 'fdsaf', 3, 4, 5, null ], { arrayElementType: [ 'string', null ] } ), 'number and string array ok with null' );129 assert.ok( ValidatorDef.isValueValid( [ [], [], [], [] ], { arrayElementType: [ Array ] } ), 'array array' );130 assert.ok( ValidatorDef.isValueValid( [ [ 4 ], [ 'other' ], null, [] ], { arrayElementType: [ Array, null ] } ), 'array {array|null}' );131 assert.ok( ValidatorDef.isValueValid( [ [ 4 ], [ 'other' ], null, 432, [] ], { arrayElementType: [ Array, null, 'number' ] } ), 'array {array|null|number}' );132 window.assert && assert.throws( () => {133 ValidatorDef.isValueValid( undefined, { arrayElementType: [ 'number', 'string' ] }, ASSERTIONS_TRUE );134 }, 'undefined is not a valid arrayElementType' );135 window.assert && assert.throws( () => {136 ValidatorDef.isValueValid( undefined, { arrayElementType: [ 7 ] }, ASSERTIONS_TRUE );137 }, '7 is not a valid arrayElementType' );138 window.assert && assert.throws( () => {139 ValidatorDef.isValueValid( undefined, { arrayElementType: [ 'number', {} ] }, ASSERTIONS_TRUE );140 }, 'Object literal is not a valid arrayElementType' );141 window.assert && assert.throws( () => {142 ValidatorDef.isValueValid( [ 'sting here, what up' ], { arrayElementType: [ 'number' ] }, ASSERTIONS_TRUE );143 }, 'sstring is not a valid arrayElementType' );144 window.assert && assert.throws( () => {145 ValidatorDef.isValueValid( [ 'sting here, what up' ], { arrayElementType: [ 'number' ] }, ASSERTIONS_TRUE );146 }, 'sstring is not a valid arrayElementType' );147 window.assert && assert.throws( () => {148 ValidatorDef.isValueValid( [ 5 ], { arrayElementType: [ 'string' ] }, ASSERTIONS_TRUE );149 }, 'sstring is not a valid arrayElementType' );150 window.assert && assert.throws( () => {151 ValidatorDef.isValueValid( [ null, 3, 4, 5, undefined ], { arrayElementType: [ 'number', null ] }, ASSERTIONS_TRUE );152 }, 'sstring is not a valid arrayElementType' );153 window.assert && assert.throws( () => {154 ValidatorDef.isValueValid( undefined, { arrayElementType: [ 7 ] }, ASSERTIONS_TRUE );155 }, '7 is not a valid arrayElementType' );156 window.assert && assert.throws( () => {157 ValidatorDef.isValueValid( undefined, { arrayElementType: [ 'number', {} ] }, ASSERTIONS_TRUE );158 }, 'Object literal is not a valid arrayElementType' );...
enterjit-osr-disabling-earlyret.js
Source:enterjit-osr-disabling-earlyret.js
1setJitCompilerOption("baseline.usecount.trigger", 10);2setJitCompilerOption("ion.usecount.trigger", 20);3enableSPSProfilingAssertions(true);4(function() {5 var n = 50;6 while (n--) {7 disableSPSProfiling();8 if (!n)9 return;10 enableSPSProfilingAssertions(true);11 }...
Using AI Code Generation
1import test from 'ava';2test('my passing test', t => {3 t.pass();4});5import test from 'ava';6test('my passing test', t => {7 t.is(1, 1);8});9Please refer to the [documentation](
Using AI Code Generation
1import test from 'ava';2test('my passing test', t => {3 t.true(true);4});5test('my passing test', t => {6 t.is(1, 1);7});8test('my passing test', t => {9 t.not(1, 2);10});11test('my passing test', t => {12 t.pass();13});14test('my passing test', t => {15 t.fail();16});17test('my passing test', t => {18 t.truthy('hello');19});20test('my passing test', t => {21 t.falsy(0);22});23test('my passing test', t => {24 t.deepEqual({a: 1}, {a: 1});25});26test('my passing test', t => {27 t.notDeepEqual({a: 1}, {a: 2});28});29test('my passing test', t => {30 t.regex('I love AVA', /AVA/);31});32test('my passing test', t => {33 t.notRegex('I love AVA', /AVA/);34});35test('my passing test', t => {36 t.ifError('error');37});38test('my passing test', t => {39 t.snapshot('hello');40});41test('my passing test', t => {42 t.throws(() => {43 throw new Error('error');44 });45});46test('my passing test', t => {47 t.notThrows(() => {48 throw new Error('error');49 });50});51test('my passing test', t => {52 t.plan(1);53 t.pass();54});55test('my passing test
Using AI Code Generation
1import test from 'ava';2test('my passing test', t => {3 t.pass();4});5test('my failing test', t => {6 t.fail();7});8test('my true test', t => {9 t.true(1 === 1);10});11test('my false test', t => {12 t.false(1 === 2);13});14test('my is test', t => {15 t.is(1, 1);16});17test('my not test', t => {18 t.not(1, 2);19});20test('my deepEqual test', t => {21 t.deepEqual({name: 'John'}, {name: 'John'});22});23test('my notDeepEqual test', t => {24 t.notDeepEqual({name: 'John'}, {name: 'John1'});25});26test('my regex test', t => {27 t.regex('I love AVA', /AVA/);28});29test('my notRegex test', t => {30 t.notRegex('I love AVA', /AVA1/);31});32test('my ifError test', t => {33 t.ifError(false);34});35test('my ifError test', t => {36 t.ifError('Error');37});38test('my ifError test', t => {39 t.ifError(0);40});41test('my ifError test', t => {42 t.ifError(1);43});44test('my ifError test', t => {45 t.ifError(true);46});47import test from 'ava';48test('my passing test', t => {49 t.pass();50});51test('my failing test', t => {52 t.fail();53});54test('my true test', t => {55 t.true(1 === 1);56});57test('my false test', t => {58 t.false(1 === 2);59});60test('my is test', t => {61 t.is(1, 1);62});63test('my not test', t => {64 t.not(1, 2);65});66test('my deepEqual test', t => {67 t.deepEqual({name: 'John'}, {name: 'John'});68});69test('my notDeepEqual test', t => {70 t.notDeepEqual({name: 'John'}, {name: 'John1'});71});72test('my regex test', t => {73 t.regex('
Using AI Code Generation
1var test = require('ava');2test('true is true', t => {3 t.true(true);4});5var test = require('ava');6test('false is false', t => {7 t.false(false);8});9var test = require('ava');10test('truthy is truthy', t => {11 t.truthy('truthy');12});13var test = require('ava');14test('falsy is falsy', t => {15 t.falsy('');16});17var test = require('ava');18test('is is is', t => {19 t.is('is', 'is');20});21var test = require('ava');22test('not is not', t => {23 t.not('not', 'is');24});25var test = require('ava');26test('same is same', t => {27 t.same('same', 'same');28});29var test = require('ava');30test('notSame is notSame', t => {31 t.notSame('notSame', 'is');32});33var test = require('ava');34test('regex is regex', t => {35 t.regex('regex', /regex/);36});37var test = require('ava');38test('notRegex is notRegex', t => {39 t.notRegex('notRegex', /regex/);40});
Using AI Code Generation
1import test from 'ava'2test('foo', t => {3 t.true('foo')4})5test('bar', async t => {6 const bar = Promise.resolve('bar')7 t.true(await bar)8})
Using AI Code Generation
1import test from 'ava';2import { sum } from '../src/index.js';3test('sum', t => {4 t.true(sum(1, 2) === 3);5});6export const sum = (a, b) => a + b;7export const sum = (a, b) => a - b;8import test from 'ava';9import { isEven } from '../src/index.js';10test('isEven', t => {11 t.false(isEven(1));12});13export const isEven = num => num % 2 === 0;14export const isEven = num => num % 2 !== 0;15import test from 'ava';16import { isEven } from '../src/index.js';17test('isEven', t => {18 t.truthy(isEven(4));19});20export const isEven = num => num % 2 === 0;21export const isEven = num => num % 2 !== 0;22import test from 'ava';23import { isEven } from '../src/index.js';24test('isEven', t => {25 t.falsy(isEven(1));26});27export const isEven = num => num % 2 === 0;
Using AI Code Generation
1const test = require('ava');2const assert = require('assert');3test('foo', t => {4 t.true('foo' === 'foo');5});6test('bar', t => {7 assert.equal('bar', 'bar');8});9test('baz', t => {10 assert.equal('baz', 'baz');11});12test('qux', t => {13 assert.equal('qux', 'qux');14});15test('quux', t => {16 assert.equal('quux', 'quux');17});18test('corge', t => {19 assert.equal('corge', 'corge');20});21test('grault', t => {22 assert.equal('grault', 'grault');23});24test('garply', t => {25 assert.equal('garply', 'garply');26});27test('waldo', t => {28 assert.equal('waldo', 'waldo');29});30test('fred', t => {31 assert.equal('fred', 'fred');32});33test('plugh', t => {34 assert.equal('plugh', 'plugh');35});36test('xyzzy', t => {37 assert.equal('xyzzy', 'xyzzy');38});39test('thud', t => {40 assert.equal('thud', 'thud');41});42test('thud1', t => {43 assert.equal('thud1', 'thud1');44});45test('thud2', t => {46 assert.equal('thud2', 'thud2');47});48test('thud3', t => {49 assert.equal('thud3', 'thud3');50});51test('thud4',
Using AI Code Generation
1const test = require('ava')2test('this will pass', t => {3 t.true(true)4})5const test = require('ava')6test('this will fail', t => {7 t.false(true)8})9 t.false(true)10const test = require('ava')11test('this will pass', t => {12 t.pass()13})14const test = require('ava')15test('this will fail', t => {16 t.fail()17})18 t.fail()19const test = require('ava')20test('this will pass', t => {21 t.truthy(true)22})23const test = require('ava')24test('this will fail', t => {25 t.falsy(true)26})27 t.falsy(true)
Using AI Code Generation
1const test = require('ava');2const isOdd = require('./index.js');3test('isOdd', t => {4 t.true(isOdd(3));5 t.true(isOdd(5));6 t.true(isOdd(7));7 t.false(isOdd(2));8 t.false(isOdd(4));9 t.false(isOdd(6));10});11function isOdd(num) {12 return num % 2;13}14module.exports = isOdd;15{16 "scripts": {17 },18 "devDependencies": {19 }20}
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!!