Best JavaScript code snippet using fast-check-monorepo
animation.js
Source:animation.js
1( function() {2// Can't test what ain't there3if ( !jQuery.fx ) {4 return;5}6var oldRaf = window.requestAnimationFrame,7 defaultPrefilter = jQuery.Animation.prefilters[ 0 ],8 defaultTweener = jQuery.Animation.tweeners[ "*" ][ 0 ],9 startTime = 505877050;10// This module tests jQuery.Animation and the corresponding 1.8+ effects APIs11QUnit.module( "animation", {12 setup: function() {13 window.requestAnimationFrame = null;14 this.sandbox = sinon.sandbox.create();15 this.clock = this.sandbox.useFakeTimers( startTime );16 this._oldInterval = jQuery.fx.interval;17 jQuery.fx.step = {};18 jQuery.fx.interval = 10;19 jQuery.now = Date.now;20 jQuery.Animation.prefilters = [ defaultPrefilter ];21 jQuery.Animation.tweeners = { "*": [ defaultTweener ] };22 },23 teardown: function() {24 this.sandbox.restore();25 jQuery.now = Date.now;26 jQuery.fx.stop();27 jQuery.fx.interval = this._oldInterval;28 window.requestAnimationFrame = oldRaf;29 return moduleTeardown.apply( this, arguments );30 }31} );32QUnit.test( "Animation( subject, props, opts ) - shape", function( assert ) {33 assert.expect( 20 );34 var subject = { test: 0 },35 props = { test: 1 },36 opts = { queue: "fx", duration: 100 },37 animation = jQuery.Animation( subject, props, opts );38 assert.equal(39 animation.elem,40 subject,41 ".elem is set to the exact object passed"42 );43 assert.equal(44 animation.originalOptions,45 opts,46 ".originalOptions is set to options passed"47 );48 assert.equal(49 animation.originalProperties,50 props,51 ".originalProperties is set to props passed"52 );53 assert.notEqual( animation.props, props, ".props is not the original however" );54 assert.deepEqual( animation.props, props, ".props is a copy of the original" );55 assert.deepEqual( animation.opts, {56 duration: 100,57 queue: "fx",58 specialEasing: { test: undefined },59 easing: jQuery.easing._default60 }, ".options is filled with default easing and specialEasing" );61 assert.equal( animation.startTime, startTime, "startTime was set" );62 assert.equal( animation.duration, 100, ".duration is set" );63 assert.equal( animation.tweens.length, 1, ".tweens has one Tween" );64 assert.equal( typeof animation.tweens[ 0 ].run, "function", "which has a .run function" );65 assert.equal( typeof animation.createTween, "function", ".createTween is a function" );66 assert.equal( typeof animation.stop, "function", ".stop is a function" );67 assert.equal( typeof animation.done, "function", ".done is a function" );68 assert.equal( typeof animation.fail, "function", ".fail is a function" );69 assert.equal( typeof animation.always, "function", ".always is a function" );70 assert.equal( typeof animation.progress, "function", ".progress is a function" );71 assert.equal( jQuery.timers.length, 1, "Added a timers function" );72 assert.equal( jQuery.timers[ 0 ].elem, subject, "...with .elem as the subject" );73 assert.equal( jQuery.timers[ 0 ].anim, animation, "...with .anim as the animation" );74 assert.equal( jQuery.timers[ 0 ].queue, opts.queue, "...with .queue" );75 // Cleanup after ourselves by ticking to the end76 this.clock.tick( 100 );77} );78QUnit.test( "Animation.prefilter( fn ) - calls prefilter after defaultPrefilter",79 function( assert ) {80 assert.expect( 1 );81 var prefilter = this.sandbox.stub(),82 defaultSpy = this.sandbox.spy( jQuery.Animation.prefilters, 0 );83 jQuery.Animation.prefilter( prefilter );84 jQuery.Animation( {}, {}, {} );85 assert.ok( prefilter.calledAfter( defaultSpy ), "our prefilter called after" );86 }87);88QUnit.test( "Animation.prefilter( fn, true ) - calls prefilter before defaultPrefilter",89 function( assert ) {90 assert.expect( 1 );91 var prefilter = this.sandbox.stub(),92 defaultSpy = this.sandbox.spy( jQuery.Animation.prefilters, 0 );93 jQuery.Animation.prefilter( prefilter, true );94 jQuery.Animation( {}, {}, {} );95 assert.ok( prefilter.calledBefore( defaultSpy ), "our prefilter called before" );96 }97);98QUnit.test( "Animation.prefilter - prefilter return hooks", function( assert ) {99 assert.expect( 34 );100 var animation, realAnimation, element,101 sandbox = this.sandbox,102 ourAnimation = { stop: this.sandbox.spy() },103 target = { height: 50 },104 props = { height: 100 },105 opts = { duration: 100 },106 prefilter = this.sandbox.spy( function() {107 realAnimation = this;108 sandbox.spy( realAnimation, "createTween" );109 assert.deepEqual( realAnimation.originalProperties, props, "originalProperties" );110 assert.equal( arguments[ 0 ], this.elem, "first param elem" );111 assert.equal( arguments[ 1 ], this.props, "second param props" );112 assert.equal( arguments[ 2 ], this.opts, "third param opts" );113 return ourAnimation;114 } ),115 defaultSpy = sandbox.spy( jQuery.Animation.prefilters, 0 ),116 queueSpy = sandbox.spy( function( next ) {117 next();118 } ),119 TweenSpy = sandbox.spy( jQuery, "Tween" );120 jQuery.Animation.prefilter( prefilter, true );121 sandbox.stub( jQuery.fx, "timer" );122 animation = jQuery.Animation( target, props, opts );123 assert.equal( prefilter.callCount, 1, "Called prefilter" );124 assert.equal(125 defaultSpy.callCount,126 0,127 "Returning something from a prefilter caused remaining prefilters to not run"128 );129 assert.equal( jQuery.fx.timer.callCount, 0, "Returning something never queues a timer" );130 assert.equal(131 animation,132 ourAnimation,133 "Returning something returned it from jQuery.Animation"134 );135 assert.equal(136 realAnimation.createTween.callCount,137 0,138 "Returning something never creates tweens"139 );140 assert.equal( TweenSpy.callCount, 0, "Returning something never creates tweens" );141 // Test overridden usage on queues:142 prefilter.reset();143 element = jQuery( "<div>" )144 .css( "height", 50 )145 .animate( props, 100 )146 .queue( queueSpy )147 .animate( props, 100 )148 .queue( queueSpy )149 .animate( props, 100 )150 .queue( queueSpy );151 assert.equal( prefilter.callCount, 1, "Called prefilter" );152 assert.equal( queueSpy.callCount, 0, "Next function in queue not called" );153 realAnimation.opts.complete.call( realAnimation.elem );154 assert.equal( queueSpy.callCount, 1, "Next function in queue called after complete" );155 assert.equal( prefilter.callCount, 2, "Called prefilter again - animation #2" );156 assert.equal( ourAnimation.stop.callCount, 0, ".stop() on our animation hasn't been called" );157 element.stop();158 assert.equal( ourAnimation.stop.callCount, 1, ".stop() called ourAnimation.stop()" );159 assert.ok(160 !ourAnimation.stop.args[ 0 ][ 0 ],161 ".stop( falsy ) (undefined or false are both valid)"162 );163 assert.equal( queueSpy.callCount, 2, "Next queue function called" );164 assert.ok( queueSpy.calledAfter( ourAnimation.stop ), "After our animation was told to stop" );165 // ourAnimation.stop.reset();166 assert.equal( prefilter.callCount, 3, "Got the next animation" );167 ourAnimation.stop.reset();168 // do not clear queue, gotoEnd169 element.stop( false, true );170 assert.ok( ourAnimation.stop.calledWith( true ), ".stop(true) calls .stop(true)" );171 assert.ok( queueSpy.calledAfter( ourAnimation.stop ),172 "and the next queue function ran after we were told" );173} );174QUnit.test( "Animation.tweener( fn ) - unshifts a * tweener", function( assert ) {175 assert.expect( 2 );176 var starTweeners = jQuery.Animation.tweeners[ "*" ];177 jQuery.Animation.tweener( jQuery.noop );178 assert.equal( starTweeners.length, 2 );179 assert.deepEqual( starTweeners, [ jQuery.noop, defaultTweener ] );180} );181QUnit.test( "Animation.tweener( 'prop', fn ) - unshifts a 'prop' tweener", function( assert ) {182 assert.expect( 4 );183 var tweeners = jQuery.Animation.tweeners,184 fn = function() {};185 jQuery.Animation.tweener( "prop", jQuery.noop );186 assert.equal( tweeners.prop.length, 1 );187 assert.deepEqual( tweeners.prop, [ jQuery.noop ] );188 jQuery.Animation.tweener( "prop", fn );189 assert.equal( tweeners.prop.length, 2 );190 assert.deepEqual( tweeners.prop, [ fn, jQuery.noop ] );191} );192QUnit.test(193 "Animation.tweener( 'list of props', fn ) - unshifts a tweener to each prop",194 function( assert ) {195 assert.expect( 2 );196 var tweeners = jQuery.Animation.tweeners,197 fn = function() {};198 jQuery.Animation.tweener( "list of props", jQuery.noop );199 assert.deepEqual( tweeners, {200 list: [ jQuery.noop ],201 of: [ jQuery.noop ],202 props: [ jQuery.noop ],203 "*": [ defaultTweener ]204 } );205 // Test with extra whitespaces206 jQuery.Animation.tweener( " list\t of \tprops\n*", fn );207 assert.deepEqual( tweeners, {208 list: [ fn, jQuery.noop ],209 of: [ fn, jQuery.noop ],210 props: [ fn, jQuery.noop ],211 "*": [ fn, defaultTweener ]212 } );213 }214);...
filtersReducer.js
Source:filtersReducer.js
1import {2 CHANGE_FILTER_CATEGORIES,3 CHANGE_FILTER_PRICE_RANGE,4 CHANGE_FILTER_PRICE_SORT,5 CHANGE_FILTER_RATING,6 RESET_FILTER,7} from "redux/actions/filterAction";8const initialState = {9 params: {10 categories: {11 label: "categoryId",12 operator: "in",13 value: [],14 },15 rating: {16 label: "rating",17 operator: "==",18 value: 0,19 },20 fromPrice: {21 label: "price",22 operator: ">=",23 value: 0,24 },25 toPrice: {26 label: "price",27 operator: "<=",28 value: 0,29 },30 },31 sort: {32 label: "price",33 value: "",34 },35};36const filtersReducer = (state = initialState, action) => {37 const preFilter = JSON.parse(JSON.stringify(state));38 switch (action.type) {39 case CHANGE_FILTER_CATEGORIES: {40 if (action.payload.assemble) {41 const { value } = preFilter.params.categories;42 const index = value.indexOf(action.payload.category);43 if (index > -1) {44 value.splice(index, 1);45 } else {46 value.push(action.payload.category);47 }48 preFilter.params.categories.value = value;49 } else {50 preFilter.params.categories.value =51 action.payload.category !== "all" ? [action.payload.category] : [];52 }53 return preFilter;54 }55 case CHANGE_FILTER_RATING: {56 preFilter.params.rating.value =57 preFilter.params.rating.value === action.payload ? 0 : action.payload;58 return preFilter;59 }60 case CHANGE_FILTER_PRICE_RANGE: {61 const { from, to } = action.payload;62 if (63 preFilter.params.fromPrice.value === from &&64 preFilter.params.toPrice.value === to65 ) {66 preFilter.params.fromPrice.value = 0;67 preFilter.params.toPrice.value = 0;68 } else {69 preFilter.params.fromPrice.value = from;70 preFilter.params.toPrice.value = to;71 }72 return preFilter;73 }74 case CHANGE_FILTER_PRICE_SORT: {75 preFilter.sort.value = action.payload !== "default" ? action.payload : "";76 return preFilter;77 }78 case RESET_FILTER: {79 return initialState;80 }81 default:82 return state;83 }84};...
Using AI Code Generation
1const { preFilter } = require('fast-check');2const isEven = (n) => n % 2 === 0;3const isOdd = (n) => n % 2 !== 0;4const isPositive = (n) => n > 0;5const evenOddPositive = preFilter(isEven, isOdd, isPositive);6const result = evenOddPositive((a, b, c) => a + b + c);7console.log('result', result);8const { preFilter } = require('fast-check');9const isEven = (n) => n % 2 === 0;10const isOdd = (n) => n % 2 !== 0;11const isPositive = (n) => n > 0;12const evenOddPositive = preFilter(isEven, isOdd, isPositive);13const result = evenOddPositive((a, b, c) => a - b - c);14console.log('result', result);15const { preFilter } = require('fast-check');16const isEven = (n) => n % 2 === 0;17const isOdd = (n) => n % 2 !== 0;18const isPositive = (n) => n > 0;19const evenOddPositive = preFilter(isEven, isOdd, isPositive);20const result = evenOddPositive((a, b, c) => a * b * c);21console.log('result', result);22const { preFilter } = require('fast-check');23const isEven = (n) => n % 2 === 0;24const isOdd = (n) => n % 2 !== 0;25const isPositive = (n) => n > 0;26const evenOddPositive = preFilter(isEven, isOdd, isPositive);27const result = evenOddPositive((a, b, c) => a / b / c);28console.log('result', result);
Using AI Code Generation
1const fc = require('fast-check');2const { preFilter } = require('fast-check/lib/check/arbitrary/definition/PreFilterArbitrary');3const myArbitrary = fc.integer();4const myPredicate = (x) => {5 return x % 2 === 0;6};7const myPreFilteredArbitrary = preFilter(myArbitrary, myPredicate);8console.log(fc.sample(myPreFilteredArbitrary));9const myPredicate2 = (x) => {10 return x % 2 !== 0;11};12const myPreFilteredArbitrary2 = preFilter(myArbitrary, myPredicate2);13console.log(fc.sample(myPreFilteredArbitrary2));14const myPredicate3 = (x) => {15 return x < 0;16};17const myPreFilteredArbitrary3 = preFilter(myArbitrary, myPredicate3);18console.log(fc.sample(myPreFilteredArbitrary3));19const myPredicate4 = (x) => {20 return x > 0;21};22const myPreFilteredArbitrary4 = preFilter(myArbitrary, myPredicate4);23console.log(fc.sample(myPreFilteredArbitrary4));24const myPredicate5 = (x) => {25 return x === 0;26};27const myPreFilteredArbitrary5 = preFilter(myArbitrary, myPredicate5);28console.log(fc.sample(myPreFilteredArbitrary5));
Using AI Code Generation
1var fc = require('fast-check');2var gen = fc.integer(1, 100);3var preFilter = fc.preFilter;4var filteredGen = preFilter(gen, function (n) { return n % 2 == 0; });5fc.assert(fc.property(filteredGen, function (n) { return n % 2 == 0; }));6var fc = require('fast-check');7var gen = fc.integer(1, 100);8var preFilter = fc.preFilter;9var filteredGen = preFilter(gen, function (n) { return n % 2 == 0; });10fc.assert(fc.property(filteredGen, function (n) { return n % 2 == 0; }));11var fc = require('fast-check');12var gen = fc.integer(1, 100);13var preFilter = fc.preFilter;14var filteredGen = preFilter(gen, function (n) { return n % 2 == 0; });15fc.assert(fc.property(filteredGen, function (n) { return n % 2 == 0; }));16var fc = require('fast-check');17var gen = fc.integer(1, 100);18var preFilter = fc.preFilter;19var filteredGen = preFilter(gen, function (n) { return n % 2 == 0; });20fc.assert(fc.property(filteredGen, function (n) { return n % 2 == 0; }));21var fc = require('fast-check');22var gen = fc.integer(1, 100);23var preFilter = fc.preFilter;24var filteredGen = preFilter(gen, function (n) { return n % 2 ==
Using AI Code Generation
1const fc = require('fast-check');2const { preFilter } = require('fast-check-monorepo');3const preFilterTest = () => {4 const preFilterTest = preFilter(5 (value) => typeof value === 'number' && value > 0,6 fc.integer()7 );8 return preFilterTest;9};10fc.assert(11 fc.property(preFilterTest(), (value) => {12 return typeof value === 'number' && value > 0;13 })14);15const fc = require('fast-check');16const { preFilter } = require('fast-check-monorepo');17const preFilterTest = () => {18 const preFilterTest = preFilter(19 (value) => typeof value === 'number' && value > 0,20 fc.integer()21 );22 return preFilterTest;23};24fc.assert(25 fc.property(preFilterTest(), (value) => {26 return typeof value === 'number' && value > 0;27 })28);29const fc = require('fast-check');30const { preFilter } = require('fast-check-monorepo');31const preFilterTest = () => {32 const preFilterTest = preFilter(33 (value) => typeof value === 'number' && value > 0,34 fc.integer()35 );36 return preFilterTest;37};38fc.assert(39 fc.property(preFilterTest(), (value) => {40 return typeof value === 'number' && value > 0;41 })42);43const fc = require('fast-check');44const { preFilter } = require('fast-check-monorepo');45const preFilterTest = () => {46 const preFilterTest = preFilter(47 (value) => typeof value === 'number' && value
Using AI Code Generation
1const { preFilter } = require('fast-check');2const generateRandomArray = preFilter(3 (array) => array.length < 100,4 fc.array(fc.integer())5);6const sumOfArray = (array) => {7 let sum = 0;8 for (let i = 0; i < array.length; i++) {9 sum += array[i];10 }11 return sum;12};13const sumOfArrayProperty = fc.property(generateRandomArray, (array) => {14 return sumOfArray(array) === array.reduce((a, b) => a + b, 0);15});16fc.assert(sumOfArrayProperty, { verbose: true });
Using AI Code Generation
1const { myFunction } = require("./myFunction");2const { preFilter } = require("fast-check");3describe("myFunction", () => {4 test("should return the correct result", () => {5 { input: 1, output: 1 },6 { input: 2, output: 2 },7 { input: 3, output: 3 },8 { input: 4, output: 4 },9 { input: 5, output: 5 },10 { input: 6, output: 6 },11 { input: 7, output: 7 },12 { input: 8, output: 8 },13 { input: 9, output: 9 },14 { input: 10, output: 10 },15 ];16 preFilter(17 (data) => {18 expect(myFunction(data.input)).toBe(data.output);19 },20 (data) => {21 return data.input === data.output;22 }23 );24 });25});26exports.myFunction = (input) => {27 return input;28};29{30 "scripts": {31 },32 "dependencies": {33 },34 "devDependencies": {35 }36}
Using AI Code Generation
1const fc = require('fast-check');2const preFilter = (s) => s.length === 5;3const postFilter = (s) => s.length === 5;4const map = (s) => s.repeat(2);5const chain = (s) => s.repeat(4);6fc.assert(7 fc.property(8 fc.preFilter(fc.string(), preFilter),9 fc.postFilter(fc.string(), postFilter),10 fc.map(fc.string(), map),11 fc.chain(fc.string(), chain),12 (a, b, c, d) => {13 console.log('a = ', a);14 console.log('b = ', b);15 console.log('c = ', c);16 console.log('d = ', d);17 console.log('a.length = ', a.length);18 console.log('b.length = ', b.length);19 console.log('c.length = ', c.length);20 console.log('d.length = ', d.length);21 return a.length === 5 && b.length === 5 && c.length === 10 && d.length === 20;22 }23);
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!!