Best JavaScript code snippet using ava
vexflow_test_helpers.js
Source:vexflow_test_helpers.js
1/**2 * VexFlow Test Support Library3 * Copyright Mohit Muthanna 2010 <mohit@muthanna.com>4 */5/* eslint-disable global-require, import/no-unresolved, import/no-extraneous-dependencies */6/* eslint max-classes-per-file: "off" */7// Mock out the QUnit stuff for generating svg images,8// since we don't really care about the assertions.9if (!window.QUnit) {10 window.QUnit = {};11 QUnit = window.QUnit;12 QUnit.assertions = {13 ok: () => true,14 equal: () => true,15 deepEqual: () => true,16 expect: () => true,17 throws: () => true,18 notOk: () => true,19 notEqual: () => true,20 notDeepEqual: () => true,21 strictEqual: () => true,22 notStrictEqual: () => true,23 };24 QUnit.module = (name) => {25 QUnit.current_module = name;26 };27 /* eslint-disable */28 QUnit.test = (name, func) => {29 QUnit.current_test = name;30 process.stdout.write(" \u001B[0G" + QUnit.current_module + " :: " + name + "\u001B[0K");31 func(QUnit.assertions);32 };33 test = QUnit.test;34 ok = QUnit.assertions.ok;35 equal = QUnit.assertions.equal;36 deepEqual = QUnit.assertions.deepEqual;37 expect = QUnit.assertions.expect;38 throws = QUnit.assertions.throws;39 notOk = QUnit.assertions.notOk;40 notEqual = QUnit.assertions.notEqual;41 notDeepEqual = QUnit.assertions.notDeepEqual;42 strictEqual = QUnit.assertions.strictEqual;43 notStrictEqual = QUnit.assertions.notStrictEqual;44}45if (typeof require === 'function') {46 Vex = require('./vexflow-debug.js');47}48var VF = Vex.Flow;49VF.Test = (function () {50 var Test = {51 // Test Options.52 RUN_CANVAS_TESTS: true,53 RUN_SVG_TESTS: true,54 RUN_RAPHAEL_TESTS: false,55 RUN_NODE_TESTS: false,56 // Where images are stored for NodeJS tests.57 NODE_IMAGEDIR: 'images',58 // Default font properties for tests.59 Font: { size: 10 },60 // Returns a unique ID for a test.61 genID: function (prefix) {62 return prefix + VF.Test.genID.ID++;63 },64 genTitle: function (type, assert, name) {65 return assert.test.module.name + ' (' + type + '): ' + name;66 },67 // Run `func` inside a QUnit test for each of the enabled68 // rendering backends.69 runTests: function (name, func, params) {70 if (VF.Test.RUN_CANVAS_TESTS) {71 VF.Test.runCanvasTest(name, func, params);72 }73 if (VF.Test.RUN_SVG_TESTS) {74 VF.Test.runSVGTest(name, func, params);75 }76 if (VF.Test.RUN_RAPHAEL_TESTS) {77 VF.Test.runRaphaelTest(name, func, params);78 }79 if (VF.Test.RUN_NODE_TESTS) {80 VF.Test.runNodeTest(name, func, params);81 }82 },83 // Run `func` inside a QUnit test for each of the enabled84 // rendering backends. These are for interactivity tests, and85 // currently only work with the SVG backend.86 runUITests: function (name, func, params) {87 if (VF.Test.RUN_SVG_TESTS) {88 VF.Test.runSVGTest(name, func, params);89 }90 },91 createTestCanvas: function (testId, testName) {92 var testContainer = $('<div></div>').addClass('testcanvas');93 testContainer.append(94 $('<div></div>')95 .addClass('name')96 .text(testName)97 );98 testContainer.append(99 $('<canvas></canvas>')100 .addClass('vex-tabdiv')101 .attr('id', testId)102 .addClass('name')103 .text(name)104 );105 $(VF.Test.testRootSelector).append(testContainer);106 },107 createTestSVG: function (testId, testName) {108 var testContainer = $('<div></div>').addClass('testcanvas');109 testContainer.append(110 $('<div></div>')111 .addClass('name')112 .text(testName)113 );114 testContainer.append(115 $('<div></div>')116 .addClass('vex-tabdiv')117 .attr('id', testId)118 );119 $(VF.Test.testRootSelector).append(testContainer);120 },121 resizeCanvas: function (elementId, width, height) {122 $('#' + elementId).width(width);123 $('#' + elementId).attr('width', width);124 $('#' + elementId).attr('height', height);125 },126 makeFactory: function (options, width, height) {127 return new VF.Factory({128 renderer: {129 elementId: options.elementId,130 backend: options.backend,131 width: width || 450,132 height: height || 140,133 },134 });135 },136 runCanvasTest: function (name, func, params) {137 QUnit.test(name, function (assert) {138 var elementId = VF.Test.genID('canvas_');139 var title = VF.Test.genTitle('Canvas', assert, name);140 VF.Test.createTestCanvas(elementId, title);141 var testOptions = {142 backend: VF.Renderer.Backends.CANVAS,143 elementId: elementId,144 params: params,145 assert: assert,146 };147 func(testOptions, VF.Renderer.getCanvasContext);148 });149 },150 runRaphaelTest: function (name, func, params) {151 QUnit.test(name, function (assert) {152 var elementId = VF.Test.genID('raphael_');153 var title = VF.Test.genTitle('Raphael', assert, name);154 VF.Test.createTestSVG(elementId, title);155 var testOptions = {156 elementId: elementId,157 backend: VF.Renderer.Backends.RAPHAEL,158 params: params,159 assert: assert,160 };161 func(testOptions, VF.Renderer.getRaphaelContext);162 });163 },164 runSVGTest: function (name, func, params) {165 if (!VF.Test.RUN_SVG_TESTS) return;166 const fontStacks = {167 Bravura: [VF.Fonts.Bravura, VF.Fonts.Gonville, VF.Fonts.Custom],168 Gonville: [VF.Fonts.Gonville, VF.Fonts.Bravura, VF.Fonts.Custom],169 Petaluma: [VF.Fonts.Petaluma, VF.Fonts.Gonville, VF.Fonts.Custom],170 }171 const testFunc = (fontName) => (assert) => {172 const defaultFontStack = VF.DEFAULT_FONT_STACK;173 VF.DEFAULT_FONT_STACK = fontStacks[fontName];174 var elementId = VF.Test.genID('svg_'+fontName);175 var title = VF.Test.genTitle('SVG '+fontName, assert, name);176 VF.Test.createTestSVG(elementId, title);177 var testOptions = {178 elementId: elementId,179 backend: VF.Renderer.Backends.SVG,180 params: params,181 assert: assert,182 };183 func(testOptions, VF.Renderer.getSVGContext);184 VF.DEFAULT_FONT_STACK = defaultFontStack;185 }186 QUnit.test(name, testFunc('Bravura'));187 QUnit.test(name, testFunc('Gonville'));188 QUnit.test(name, testFunc('Petaluma'));189 },190 runNodeTest: function (name, func, params) {191 var fs = require('fs');192 // Allows `name` to be used inside file names.193 function sanitizeName(name) {194 return name.replace(/[^a-zA-Z0-9]/g, '_');195 }196 QUnit.test(name, function (assert) {197 var elementId = VF.Test.genID('nodecanvas_');198 var canvas = document.createElement('canvas');199 canvas.setAttribute('id', elementId);200 document.body.appendChild(canvas);201 var testOptions = {202 elementId: elementId,203 backend: VF.Renderer.Backends.CANVAS,204 params: params,205 assert: assert,206 };207 func(testOptions, VF.Renderer.getCanvasContext);208 if (VF.Renderer.lastContext !== null) {209 var moduleName = sanitizeName(QUnit.current_module);210 var testName = sanitizeName(QUnit.current_test);211 var fileName = `${VF.Test.NODE_IMAGEDIR}/${moduleName}.${testName}.png`;212 var imageData = canvas.toDataURL().split(';base64,').pop();213 var image = Buffer.from(imageData, 'base64');214 fs.writeFileSync(fileName, image, { encoding: 'base64' });215 }216 });217 },218 plotNoteWidth: VF.Note.plotMetrics,219 plotLegendForNoteWidth: function (ctx, x, y) {220 ctx.save();221 ctx.setFont('Arial', 8, '');222 var spacing = 12;223 var lastY = y;224 function legend(color, text) {225 ctx.beginPath();226 ctx.setStrokeStyle(color);227 ctx.setFillStyle(color);228 ctx.setLineWidth(10);229 ctx.moveTo(x, lastY - 4);230 ctx.lineTo(x + 10, lastY - 4);231 ctx.stroke();232 ctx.setFillStyle('black');233 ctx.fillText(text, x + 15, lastY);234 lastY += spacing;235 }236 legend('green', 'Note + Flag');237 legend('red', 'Modifiers');238 legend('#999', 'Displaced Head');239 legend('#DDD', 'Formatter Shift');240 ctx.restore();241 },242 almostEqual: function (value, expectedValue, errorMargin) {243 return equal(Math.abs(value - expectedValue) < errorMargin, true);244 },245 };246 Test.genID.ID = 0;247 Test.testRootSelector = '#vexflow_testoutput';248 return Test;...
index.js
Source:index.js
1/* eslint-disable comma-dangle */2const path = require('path');3const spawn = require('./utils/spawn');4const exec = require('./utils/exec');5const assertions = require('./utils/assertions');6const CWD = path.join(process.cwd(), '../e2eApp');7process.on('uncaughtException', (error) => {8 console.error(error);9 process.exit(1);10});11module.exports = () => {12 exec('sudo npm install -g ./packages/gluestick-cli');13 exec(14 'sudo npm install ~/gluestick/packages/gluestick-generators',15 '/usr/local/lib/node_modules/gluestick-cli'16 );17 // New project with npm18 exec('gluestick new e2eApp --dev ./gluestick', path.dirname(CWD));19 exec('rm node_modules/gluestick/.babelrc', CWD);20 // New apps (camel and kebab case)21 exec('gluestick generate app secondApp', CWD);22 exec('gluestick generate app third-app', CWD);23 // Generate component24 exec('gluestick generate component MyComponent', CWD);25 assertions.exists(26 `${CWD}/src/apps/main/components`,27 'MyComponent.js',28 '__tests__/MyComponent.test.js'29 );30 exec('gluestick generate component MyComponent -E shared', CWD);31 assertions.exists(32 `${CWD}/src/shared/components`,33 'MyComponent.js',34 '__tests__/MyComponent.test.js'35 );36 exec('gluestick generate component MyComponent -E apps/secondApp', CWD);37 assertions.exists(38 `${CWD}/src/apps/secondApp/components`,39 'MyComponent.js',40 '__tests__/MyComponent.test.js'41 );42 // Generate container43 exec('gluestick generate container MyContainer', CWD);44 assertions.exists(45 `${CWD}/src/apps/main/containers`,46 'MyContainer.js',47 '__tests__/MyContainer.test.js'48 );49 exec('gluestick generate container MyContainer -E shared', CWD);50 assertions.exists(51 `${CWD}/src/shared/containers`,52 'MyContainer.js',53 '__tests__/MyContainer.test.js'54 );55 exec('gluestick generate container MyContainer -E apps/secondApp', CWD);56 assertions.exists(57 `${CWD}/src/apps/secondApp/containers`,58 'MyContainer.js',59 '__tests__/MyContainer.test.js'60 );61 // Generate reducer62 exec('gluestick generate reducer myReducer', CWD);63 assertions.exists(64 `${CWD}/src/apps/main/reducers`,65 'myReducer.js',66 '__tests__/myReducer.test.js'67 );68 exec('gluestick generate reducer myReducer -E shared', CWD);69 assertions.exists(70 `${CWD}/src/shared/reducers`,71 'myReducer.js',72 '__tests__/myReducer.test.js'73 );74 exec('gluestick generate reducer myReducer -E apps/secondApp', CWD);75 assertions.exists(76 `${CWD}/src/apps/secondApp/reducers`,77 'myReducer.js',78 '__tests__/myReducer.test.js'79 );80 // Generate generator81 exec('gluestick generate generator myGenerator', CWD);82 assertions.exists(83 `${CWD}/generators`,84 'myGenerator.js'85 );86 // Lint, flow, test87 exec('npm run lint', CWD);88 exec('npm run flow', CWD);89 exec('gluestick test', CWD);90 // Build in dev and prod bundles91 exec('gluestick build', CWD);92 exec('gluestick build', CWD, { NODE_ENV: 'production' });93 // Destroy component94 exec('gluestick destroy component MyComponent', CWD);95 assertions.notExists(96 `${CWD}/src/apps/main/components`,97 'MyComponent.js',98 '__tests__/MyComponent.test.js'99 );100 exec('gluestick destroy component MyComponent -E shared', CWD);101 assertions.notExists(102 `${CWD}/src/shared/components`,103 'MyComponent.js',104 '__tests__/MyComponent.test.js'105 );106 exec('gluestick destroy component MyComponent -E apps/secondApp', CWD);107 assertions.notExists(108 `${CWD}/src/apps/secondApp/components`,109 'MyComponent.js',110 '__tests__/MyComponent.test.js'111 );112 // Destroy container113 exec('gluestick destroy container MyContainer', CWD);114 assertions.notExists(115 `${CWD}/src/apps/main/containers`,116 'MyContainer.js',117 '__tests__/MyContainer.test.js'118 );119 exec('gluestick destroy container MyContainer -E shared', CWD);120 assertions.notExists(121 `${CWD}/src/shared/containers`,122 'MyContainer.js',123 '__tests__/MyContainer.test.js'124 );125 exec('gluestick destroy container MyContainer -E apps/secondApp', CWD);126 assertions.notExists(127 `${CWD}/src/apps/secondApp/containers`,128 'MyContainer.js',129 '__tests__/MyContainer.test.js'130 );131 // Destroy reducer132 exec('gluestick destroy reducer myReducer', CWD);133 assertions.notExists(134 `${CWD}/src/apps/main/reducers`,135 'myReducer.js',136 '__tests__/myReducer.test.js'137 );138 exec('gluestick destroy reducer myReducer -E shared', CWD);139 assertions.notExists(140 `${CWD}/src/shared/reducers`,141 'myReducer.js',142 '__tests__/myReducer.test.js'143 );144 exec('gluestick destroy reducer myReducer -E apps/secondApp', CWD);145 assertions.notExists(146 `${CWD}/src/apps/secondApp/reducers`,147 'myReducer.js',148 '__tests__/myReducer.test.js'149 );150 // Lint, flow, test after removal of components, containers and reducers151 exec('npm run lint', CWD);152 exec('npm run flow', CWD);153 exec('gluestick test', CWD);154 // Build in dev and prod bundles after removal of components, containers and reducers155 exec('gluestick build', CWD);156 exec('gluestick build', CWD, { NODE_ENV: 'production' });157 // Run bin command158 spawn('gluestick bin gluestick -V', CWD, {}, 'pipe').then(({ stdout }) => {159 console.log(stdout);160 if (!stdout.includes(require('../../lerna.json').version)) {161 throw new Error('gluestick version from `bin` command does not contain version from `lerna.json`');162 }163 return Promise.resolve();164 })165 .then(() => {166 process.exit(0);167 })168 .catch((error) => {169 console.error(error);170 process.exit(1);171 });...
routes_test.js
Source:routes_test.js
1pavlov.specify('Project Tasks Route Tests', function() {2 describe('App.ProjectTasksIndexRoute Class', function () {3 it('should be an Ember.Route', function() {4 assert(App.ProjectTasksIndexRoute).isDefined();5 assert(Ember.Route.detect(App.ProjectTasksIndexRoute)).isTrue();6 });7 });8 describe('App.ProjectTasksIndexRoute Instance', function () {9 var route;10 before(function () {11 Ember.run( function () {12 route = App.ProjectTasksIndexRoute.create();13 });14 });15 it('should have an empty model property', function() {16 var model = route.model();17 assert(model).isEmptyArray();18 });19 it('should add project tasks to controller when calling setupController', function () {20 expect(0); // Expect 0 Assertions == Not Implemented21 });22 });23 ...
Using AI Code Generation
1const test = require('ava')2const { not } = require('ramda')3test('not', t => {4 t.not(1, 2)5 t.not('foo', 'bar')6 t.not([1, 2], [1, 2])7 t.not({ a: 1 }, { a: 1 })8 t.not(/foo/, /bar/)9 t.not(NaN, NaN)10 t.not(new Date(), new Date())11})12const test = require('ava')13const { notThrows } = require('ramda')14test('notThrows', async t => {15 await t.notThrows(Promise.resolve())16})17const test = require('ava')18const { notThrowsAsync } = require('ramda')19test('notThrowsAsync', async t => {20 await t.notThrowsAsync(Promise.resolve())21})22const test = require('ava')23const { notThrowsSync } = require('ramda')24test('notThrowsSync', t => {25 t.notThrowsSync(() => {})26})27const test = require('ava')28const { pass } = require('ramda')29test('pass', t => {30 t.pass()31})32const test = require('ava')33const { regex } = require('ramda')34test('regex', t => {35 t.regex('foobar', /^foo/)36})37const test = require('ava')38const { snapshot } = require('ramda')39test('snapshot', t => {40 t.snapshot({ foo: 'bar' })41})42const test = require('ava')43const { throws } = require('ramda')44test('throws', async t => {45 await t.throws(Promise.reject(fixture), fixture)46})47const test = require('ava
Using AI Code Generation
1const test = require('ava');2test('foo', t => {3 t.not(1, 2);4});5const test = require('ava');6test('foo', t => {7 t.notThrows(function() {8 throw new TypeError('foo');9 });10});11const test = require('ava');12test('foo', async t => {13 await t.notThrowsAsync(Promise.resolve());14});15const test = require('ava');16test('foo', t => {17 t.plan(2);18 t.is(1, 1);19 t.is(2, 2);20});21const test = require('ava');22test('foo', t => {23 t.regex('I love unicorns', /unicorn/);24});25const test = require('ava');26test('foo', t => {27 t.snapshot({foo: 'bar'});28});29const test = require('ava');30test('foo', t => {31 const error = t.throws(function() {32 throw new TypeError('foo');33 }, TypeError);34 t.is(error.message, 'foo');35});36const test = require('ava');37test('foo', async t => {38 await t.throwsAsync(Promise.reject(new Error('foo')), 'foo');39});40const test = require('ava');41test('foo', t => {42 t.true('unicorn' === 'unicorn');43});44const test = require('ava');45test('foo', t => {46 t.truthy('unicorn');47});
Using AI Code Generation
1const test = require('ava');2const assertions = require('ava-assertions');3assertions(test, 'not');4test('not', t => {5 t.not(1, 2);6 t.not('foo', 'bar');7});8### assertions(test, method)
Using AI Code Generation
1test('not', t => {2 t.not(1, 2);3 t.not(is.not.number(2), true);4 t.not(is.not.number('2'), true);5 t.not(is.not.number(2), false);6 t.not(is.not.number('2'), false);7 t.not(is.not.number(2), '2');8 t.not(is.not.number('2'), 2);9 t.not(is.not.number(2), '2');10 t.not(is.not.number('2'), '2');11 t.not(is.not.number(2), 2);12 t.not(is.not.number('2'), '2');13 t.not(is.not.number(2), '2');14 t.not(is.not.number('2'), '2');15 t.not(is.not.number(2), 2);16 t.not(is.not.number('2'), '2');17 t.not(is.not.number(2), '2');18 t.not(is.not.number('2'), '2');19 t.not(is.not.number(2), 2);20 t.not(is.not.number('2'), '2');21 t.not(is.not.number(2), '2');22 t.not(is.not.number('2'), '2');23 t.not(is.not.number(2), 2);24 t.not(is.not.number('2'), '2');25 t.not(is.not.number(2), '2');26 t.not(is.not.number('2'), '2');27 t.not(is.not.number(2), 2);28 t.not(is.not.number('2'), '2');29 t.not(is.not.number(2), '2');30 t.not(is.not.number('2'), '2');31 t.not(is.not.number(2), 2);32 t.not(is.not.number('2'), '2');33 t.not(is.not.number(2), '2');34 t.not(is.not.number('2'), '2');35 t.not(is.not.number(2), 2);36 t.not(is.not.number('2'), '2');37 t.not(is.not.number(2), '2');38 t.not(is.not.number('2'), '2');39 t.not(is.not.number(2), 2);40 t.not(is.not.number('2'), '2');41 t.not(is
Using AI Code Generation
1const test = require('ava')2const assertions = require('./assertions')3test('not', t => {4 const a = assertions.not(1, 2)5 t.is(a, true)6})7module.exports = {8 not: (a, b) => a !== b9}10const test = require('ava')11const assertions = require('./assertions')12test('is', t => {13 const a = assertions.is(1, 1)14 t.is(a, true)15})16module.exports = {17 is: (a, b) => a === b18}19const test = require('ava')20const assertions = require('./assertions')21test('truthy', t => {22 const a = assertions.truthy(1)23 t.is(a, true)24})25module.exports = {26 truthy: a => Boolean(a)27}28const test = require('ava')29const assertions = require('./assertions')30test('falsy', t => {31 const a = assertions.falsy(0)32 t.is(a, true)33})34module.exports = {35 falsy: a => !Boolean(a)36}37const test = require('ava')38const assertions = require('./assertions')39test('true', t => {40 const a = assertions.true(true)41 t.is(a, true)42})
Using AI Code Generation
1var test = require('ava');2test('my passing test', function (t) {3 t.not(1, 2);4});5var test = require('ava');6test('my passing test', function (t) {7 t.notDeepEqual({a: 1}, {a: '1'});8});
Using AI Code Generation
1const test = require('ava');2const { not } = require('chai').assert;3test('assert.not', t => {4 not(1, 2);5});6const test = require('ava');7const { notEqual } = require('chai').assert;8test('assert.notEqual', t => {9 notEqual(1, 2);10});11const test = require('ava');12const { notStrictEqual } = require('chai').assert;13test('assert.notStrictEqual', t => {14 notStrictEqual(1, 2);15});16const test = require('ava');17const { ok } = require('chai').assert;18test('assert.ok', t => {19 ok(true);20});21const test = require('ava');22const { property } = require('chai').assert;23test('assert.property', t => {24 property({ a: 1 }, 'a');25});26const test = require('ava');27const { propertyVal } = require('chai').assert;28test('assert.propertyVal', t => {29 propertyVal({ a: 1 }, 'a', 1);30});31const test = require('ava');32const { propertyNotVal } = require('chai').assert;33test('assert.propertyNotVal', t => {34 propertyNotVal({ a: 1 }, 'a', 2);35});36const test = require('ava');37const { propertyNotVal } = require('chai').assert;38test('assert.propertyNotVal', t => {39 propertyNotVal({ a:
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!!