Best JavaScript code snippet using playwright-internal
parser.js
Source:parser.js
...10 filename = name + '.less';11 }12 return path.join(__dirname, '..', 'fixtures', filename);13}14function loadTestFile(name) {15 return new Promise((res, rej) => {16 const filePath = createPath(name);17 fs.readFile(filePath, (err, result) => {18 if (err) {19 rej(err);20 } else {21 res({f: result, name: filePath});22 }23 });24 });25}26function verifyGraph(g, vertexList, edgeList = []) {27 let nodes = g.nodes().sort();28 let edges = sortBy(g.edges(), (value) => value.v);29 edgeList = sortBy(edgeList.map(e => ({ v: createPath(e.v), w: createPath(e.w) })), (value) => value.v);30 vertexList = vertexList.map(createPath).sort();31 expect(nodes).to.eql(vertexList);32 expect(edges).to.eql(edgeList);33}34function sign(file) {35 return file.length;36}37describe('createGraphFromFile', () => {38 it("works with empty files", () => {39 return loadTestFile("test_empty_css").then(({f, name}) => {40 return createGraphFromFile(f, sign, {41 filename: name,42 paths: []43 }).then(g => {44 verifyGraph(g, ['test_empty_css', 'empty.css'], [45 { v: 'empty.css', w: 'test_empty_css' },46 ]);47 });48 });49 });50 it("returns 1 node graph for file with no deps", () => {51 return loadTestFile("t5").then(({f, name}) => {52 return createGraphFromFile(f, sign, {53 filename: name,54 paths: []55 }).then(g => {56 verifyGraph(g, ['t5'], []);57 });58 });59 });60 it("returns 2 node graph for file with one dep", () => {61 return loadTestFile("t3").then(({f, name}) => {62 return createGraphFromFile(f, sign, {63 filename: name,64 paths: []65 }).then(g => {66 verifyGraph(g, ['t3', 't5'], [{ v: 't5', w: 't3' }]);67 });68 });69 });70 it("returns 3 nodes for file with 3 deps", () => {71 return loadTestFile("t4").then(({f, name}) => {72 return createGraphFromFile(f, sign, {73 filename: name,74 paths: []75 }).then(g => {76 verifyGraph(g, ['t3', 't4', 't5'], [77 { v: 't3', w: 't4' },78 { v: 't5', w: 't3' }79 ]);80 });81 });82 });83 it("returns 4 nodes for file with 4 deps", () => {84 return loadTestFile("t1").then(({f, name}) => {85 return createGraphFromFile(f, sign, {86 filename: name,87 paths: []88 }).then(g => {89 verifyGraph(g, ['t1', 't2', 't3', 't5'], [90 { v: 't2', w: 't1' },91 { v: 't3', w: 't1' },92 { v: 't5', w: 't3' }93 ]);94 });95 });96 });97 it("returns 6 nodes for file with 6 deps", () => {98 return loadTestFile("t6").then(({f, name}) => {99 return createGraphFromFile(f, sign, {100 filename: name,101 paths: []102 }).then(g => {103 verifyGraph(g, ['t1', 't2', 't3', 't4', 't5', 't6'], [104 { v: 't1', w: 't6' },105 { v: 't2', w: 't1' },106 { v: 't3', w: 't1' },107 { v: 't3', w: 't4' },108 { v: 't4', w: 't6' },109 { v: 't5', w: 't3' }110 ]);111 });112 });113 });114 it("returns ast for less file respecting include paths", () => {115 // return loadTestFile("test_fold").then(({f, name}) => {116 // return convertFileToAst(f, { filename: name, paths: ['tests/fixtures/fold'] });117 // }).then(({ast, fileName}) => {118 // expect(ast.firstRoot).to.be.true;119 // expect(fileName).to.equal(path.join(process.cwd(), "tests/fixtures/test_fold.less"));120 // });121 return loadTestFile("test_fold").then(({f, name}) => {122 return createGraphFromFile(f, sign, {123 filename: name,124 paths: ['tests/fixtures/fold']125 }).then(g => {126 verifyGraph(g, ['test_fold', 'fold/fold'], [{ v: 'fold/fold', w: 'test_fold' }]);127 });128 });129 })...
suiteSetup.sjs
Source:suiteSetup.sjs
2declareUpdate();3const sc = require('/state-conductor/state-conductor.sjs');4const test = require('/test/test-helper.xqy');5// insert the test stateMachines6test.loadTestFile(7 'stateMachines/test-state-machine.asl.json',8 xdmp.database(),9 sc.STATE_MACHINE_DIRECTORY + 'test-state-machine.asl.json',10 xdmp.defaultPermissions(),11 sc.STATE_MACHINE_COLLECTION12);13test.loadTestFile(14 'stateMachines/branching-state-machine.asl.json',15 xdmp.database(),16 sc.STATE_MACHINE_DIRECTORY + 'branching-state-machine.asl.json',17 xdmp.defaultPermissions(),18 sc.STATE_MACHINE_COLLECTION19);20test.loadTestFile(21 'stateMachines/no-context-state-machine.asl.json',22 xdmp.database(),23 sc.STATE_MACHINE_DIRECTORY + 'no-context-state-machine.asl.json',24 xdmp.defaultPermissions(),25 sc.STATE_MACHINE_COLLECTION26);27test.loadTestFile(28 'stateMachines/noStates-state-machine.asl.json',29 xdmp.database(),30 sc.STATE_MACHINE_DIRECTORY + 'noStates-state-machine.asl.json',31 xdmp.defaultPermissions(),32 sc.STATE_MACHINE_COLLECTION33);34test.loadTestFile(35 'stateMachines/task-state-machine.asl.json',36 xdmp.database(),37 sc.STATE_MACHINE_DIRECTORY + 'task-state-machine.asl.json',38 xdmp.defaultPermissions(),39 sc.STATE_MACHINE_COLLECTION40);41test.loadTestFile(42 'stateMachines/wait-state-machine.asl.json',43 xdmp.database(),44 sc.STATE_MACHINE_DIRECTORY + 'wait-state-machine.asl.json',45 xdmp.defaultPermissions(),46 sc.STATE_MACHINE_COLLECTION47);48test.loadTestFile(49 'stateMachines/bad-state-machine.asl.json',50 xdmp.database(),51 sc.STATE_MACHINE_DIRECTORY + 'bad-state-machine.asl.json',52 xdmp.defaultPermissions(),53 sc.STATE_MACHINE_COLLECTION54);55test.loadTestFile(56 'stateMachines/contextual-state-machine.asl.json',57 xdmp.database(),58 sc.STATE_MACHINE_DIRECTORY + 'contextual-state-machine.asl.json',59 xdmp.defaultPermissions(),60 sc.STATE_MACHINE_COLLECTION61);62test.loadTestFile(63 'stateMachines/test-time-wait.asl.json',64 xdmp.database(),65 sc.STATE_MACHINE_DIRECTORY + 'test-time-wait.asl.json',66 xdmp.defaultPermissions(),67 [sc.STATE_MACHINE_COLLECTION, 'waitStateTest']68);69test.loadTestFile(70 'stateMachines/ref-path-state-machine.asl.json',71 xdmp.database(),72 sc.STATE_MACHINE_DIRECTORY + 'ref-path-state-machine.asl.json',73 xdmp.defaultPermissions(),74 sc.STATE_MACHINE_COLLECTION75);76test.loadTestFile(77 'stateMachines/choice-state-machine.asl.json',78 xdmp.database(),79 sc.STATE_MACHINE_DIRECTORY + 'choice-state-machine.asl.json',80 xdmp.defaultPermissions(),81 sc.STATE_MACHINE_COLLECTION82);83test.loadTestFile(84 'stateMachines/retry-state-machine.asl.json',85 xdmp.database(),86 sc.STATE_MACHINE_DIRECTORY + 'retry-state-machine.asl.json',87 xdmp.defaultPermissions(),88 sc.STATE_MACHINE_COLLECTION89);90// insert the test executions91test.loadTestFile(92 'executions/test-wait-execution.json',93 xdmp.database(sc.STATE_CONDUCTOR_EXECUTIONS_DB),94 '/stateConductorExecution/test-wait-execution.json',95 xdmp.defaultPermissions(),96 [sc.EXECUTION_COLLECTION, 'unitTest']97);98test.loadTestFile(99 'executions/test-execution1.json',100 xdmp.database(sc.STATE_CONDUCTOR_EXECUTIONS_DB),101 '/stateConductorExecution/test-execution1.json',102 xdmp.defaultPermissions(),103 [sc.EXECUTION_COLLECTION, 'unitTest']104);105test.loadTestFile(106 'executions/test-execution2.json',107 xdmp.database(sc.STATE_CONDUCTOR_EXECUTIONS_DB),108 '/stateConductorExecution/test-execution2.json',109 xdmp.defaultPermissions(),110 [sc.EXECUTION_COLLECTION, 'unitTest']111);...
check_file_cache.js
Source:check_file_cache.js
...5const { expect } = chai;6const { checkFileCache } = require('../../lib/check_file_cache');7describe('checkFileCache', () => {8 it('returns false if cache is cold', () =>9 loadTestFile('1.txt').then(([file, filename]) => {10 const g = testGraph();11 return expect(checkFileCache(g, testSign, file, filename))12 .eventually.to.eql([filename]);13 })14 );15 it('returns false if file has no deps and signatures do not match', () =>16 loadTestFile('1.txt').then(([file, filename]) => {17 const g = testGraph();18 g.setNode(filename, 0);19 return expect(checkFileCache(g, testSign, file, filename))20 .eventually.eql([filename]);21 })22 );23 it('can check cycle graphs not changed', () =>24 loadCyclicGraph(true).then(([g, files, names]) => {25 return expect(checkFileCache(g, testSign, files[0], names[0]))26 .eventually.eql([]);27 })28 );29 it('can check cycle graphs changed', () =>30 loadCyclicGraph(true).then(([g, files, names]) => {31 g.setNode(names[1], 2123);32 return expect(checkFileCache(g, testSign, files[0], names[0]))33 .eventually.eql([names[1]]);34 })35 );36 it('returns true if file has no deps and signatures match', () =>37 loadTestFile('1.txt').then(([file, filename]) => {38 const sign = testSign(file);39 const g = testGraph();40 g.setNode(filename, sign);41 return expect(checkFileCache(g, testSign, file, filename))42 .eventually.eql([]);43 })44 );45 it('returns false if some deps are missing', () =>46 loadTestFile('1.txt').then(([file, filename]) => {47 const sign = testSign(file);48 const g = testGraph();49 g.setNode(filename, sign);50 g.setNode('some-file', 2);51 g.setEdge('some-file', filename);52 return expect(checkFileCache(g, testSign, file, filename))53 .eventually.eql(['some-file']);54 })55 );56 it('returns false if file has one dep and signatures do not match', () => {57 const files = Promise.all([loadTestFile('1.txt'), loadTestFile('2.txt')]);58 return files.then(([[file1, filename1], [file2, filename2]]) => {59 const g = testGraph();60 g.setNode(filename1, testSign(file1));61 g.setNode(filename2, testSign(file2) - 1);62 g.setEdge(filename2, filename1);63 return expect(checkFileCache(g, testSign, file1, filename1))64 .eventually.eql([filename2]);65 });66 });67 it('returns true if file has one dep and signatures match', () => {68 const files = Promise.all([loadTestFile('1.txt'), loadTestFile('2.txt')]);69 return files.then(([[file1, filename1], [file2, filename2]]) => {70 const g = testGraph();71 g.setNode(filename1, testSign(file1));72 g.setNode(filename2, testSign(file2));73 g.setEdge(filename2, filename1);74 return expect(checkFileCache(g, testSign, file1, filename1))75 .eventually.eql([]);76 });77 });...
index.test.js
Source:index.test.js
...9 })10})11describe('isValidPost()', () => {12 it('returns true when post valid', () => {13 const validPost = loadTestFile(__dirname, './valid-post.html')14 expect(isValidPost(validPost)).toBe(true)15 })16 it('returns false when post invalid', () => {17 const invalidPost = ''18 expect(isValidPost(invalidPost)).toBe(false)19 })20 it('returns false when post invalid', () => {21 const invalidPost = loadTestFile(__dirname, './invalid-post-1.html')22 expect(isValidPost(invalidPost)).toBe(false)23 })24})25describe('isValidThread()', () => {26 it('returns true when thread valid', () => {27 const validThread = loadTestFile(__dirname, './valid-thread.html')28 expect(isValidThread(validThread)).toBe(true)29 })30 it('returns false when thread invalid', () => {31 const invalidThread = ''32 expect(isValidThread(invalidThread)).toBe(false)33 })34})35describe('isValidDateDividerLine()', () => {36 it('returns true when day divider line valid', () => {37 const validDayDividerLine = loadTestFile(__dirname, './valid-date-divider-line.html')38 expect(isValidDateDividerLine(validDayDividerLine)).toBe(true)39 })40 it('returns false when day divider line invalid', () => {41 const invalidThread = ''42 expect(isValidDateDividerLine(invalidThread)).toBe(false)43 })...
index.js
Source:index.js
...18 .then(function () {19 return logstash;20 });21 });22 loadTestFile(require.resolve('./_editor'));23 loadTestFile(require.resolve('./_chart_types'));24 loadTestFile(require.resolve('./_area_chart'));25 loadTestFile(require.resolve('./_line_chart'));26 loadTestFile(require.resolve('./_data_table'));27 loadTestFile(require.resolve('./_metric_chart'));28 loadTestFile(require.resolve('./_pie_chart'));29 loadTestFile(require.resolve('./_tag_cloud'));30 loadTestFile(require.resolve('./_tile_map'));31 loadTestFile(require.resolve('./_vertical_bar_chart'));32 loadTestFile(require.resolve('./_heatmap_chart'));33 loadTestFile(require.resolve('./_point_series_options'));34 loadTestFile(require.resolve('./_shared_item'));35 });...
setup.sjs
Source:setup.sjs
2declareUpdate();3const sc = require('/state-conductor/state-conductor.sjs');4const test = require('/test/test-helper.xqy');5// insert the test documents6test.loadTestFile('test-doc1.json', xdmp.database(), '/data/test-doc1.json');7test.loadTestFile('test-doc2.json', xdmp.database(), '/data/test-doc2.json');8test.loadTestFile('test-doc3.json', xdmp.database(), '/data/test-doc3.json');9test.loadTestFile('test-doc4.json', xdmp.database(), '/data/test-doc4.json');10test.loadTestFile(11 'test-doc5.json',12 xdmp.database(),13 '/data/test-doc5.json',14 xdmp.defaultPermissions(),15 ['test', 'enrollee']16);17test.loadTestFile('lorem.txt', xdmp.database(), '/data/lorem.txt');18xdmp.documentAddCollections('/data/test-doc2.json', [sc.STATE_MACHINE_ITEM_COLLECTION, 'test']);19xdmp.documentAddCollections('/data/test-doc3.json', [sc.STATE_MACHINE_ITEM_COLLECTION, 'enrollee']);20xdmp.documentAddCollections('/data/test-doc4.json', [sc.STATE_MACHINE_ITEM_COLLECTION, 'waitStateTest']);...
Using AI Code Generation
1const { loadTestFile } = require('@playwright/test');2const test = loadTestFile(require.resolve('./test.spec.js'));3module.exports = test;4const { test, expect } = require('@playwright/test');5test('My test', async ({ page }) => {6 expect(page.locator('text=Get started')).toBeVisible();7});
Using AI Code Generation
1const { loadTestFile } = require('playwright/test');2loadTestFile(require.resolve('./myTestFile.js'));3const { test } = require('playwright/test');4test('My test', async ({ page }) => {5 const title = page.locator('text=Playwright');6 await title.waitFor();7 expect(await title.innerText()).toBe('Playwright');8});
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!