Best JavaScript code snippet using wpt
TestCollection.js
Source:TestCollection.js
1JsUnitTesting.TestCollection = (function(Utility, UnitTest) {2 function _add() {3 for (var a = 0; a < arguments.length; a++) {4 var arr = Utility.toArray(arguments[a]);5 for (var i = 0; i < arr.length; i++) {6 if (typeof(arr[i]) !== "undefined" && arr[i] !== null && (arr[i] instanceof UnitTest))7 this.notRun.push(arr[i]);8 }9 }10 }11 12 function _clear() {13 this.notRun = [];14 this.resultInfo = [];15 }16 17 function _run() {18 var passCount = 0;19 var totalCount = 0;20 var completedIds = this.resultInfo.map(function(r) { return r.result.testId; });21 var state = {};22 var currentResults = [];23 var index = 0;24 while (this.notRun.length > 0) {25 var unitTest = this.notRun.unshift();26 if (Utility.nil(unitTest))27 continue;28 totalCount++;29 var id = unitTest.id;30 if (typeof(id) !== "number" || isNaN(id) || !Number.isFinite(id))31 id = 0;32 while (completedIds.filter(function(n) { return n == id; }).length > 0)33 id++;34 completedIds.push(id);35 var tc = new TestContext(unitTest, this, index, stateInfo);36 this.resultInfo.push({37 test: unitTest,38 result: result39 });40 currentResults.push(result);41 if (result.passed)42 passCount++;43 }44 return {45 passed: passCount,46 failed: totalCount - passed,47 results: currentResults48 };49 }50 function _runAll() {51 var passCount = 0;52 var toAdd = Utility.mapArray(this.resultInfo, function(r) { return r.test; });53 for (var i = 0; i < toAdd.length; i++)54 this.notRun.push(toAdd[i]);55 this.resultInfo = [];56 var completedIds = [];57 var state = {};58 59 while (this.notRun.length > 0) {60 var unitTest = this.notRun.pop();61 if (Utility.nil(unitTest))62 return null;63 var id = unitTest.id;64 if (typeof(id) !== "number" || isNaN(id) || !Number.isFinite(id))65 id = 0;66 var canUseId = true;67 for (var i = 0; i < completedIds.length; i++) {68 if (completedIds[i] == n) {69 canUseId = false;70 break;71 }72 }73 if (!canUseId) {74 var hasId = function(n) {75 for (var i = 0; i < this.completed.length; i++) {76 var x = this.completed[i].id;77 if (typeof(x) === "number" && !isNaN(x) && Number.isFinite(x) && x == n)78 return true;79 }80 for (var i = 0; i < this.notRun.length; i++) {81 var x = this.notRun[i].id;82 if (typeof(x) === "number" && !isNaN(x) && Number.isFinite(x) && x == n)83 return true;84 }85 return false;86 };87 do {88 id++;89 } while (hasId(id));90 }91 completedIds.push(id);92 var result = unitTest.exec(this, id, state);93 this.resultInfo.push({94 test: unitTest,95 result: result96 });97 if (result.passed)98 passCount++;99 }100 return {101 passed: passCount,102 failed: this.resultInfo.count - passCount,103 results: this.getResults()104 };105 }106 /**107 * @classDescription A collection of unit tests to be performed.108 * @param {Array=} tests - Tests to initialy add.109 * @param {string=} name - Name of unit test collection.110 * @param {number=} id - Unique ID of unit test collection.111 * @constructor112 */113 function TestCollection(tests, name, id) {114 var innerData = {115 name: Utility.convertToString(name),116 id: Utility.convertToNumber(id),117 notRun: [],118 resultInfo: []119 };120 this.name = innerData.name;121 this.id = innerData.id;122 this.add = function() { _add.apply(innerData, arguments); };123 this.clear = function() { _clear.call(innerData); };124 this.getPassedTests = function() {125 return Utility.mapArray(Utility.filterArray(innerData.resultInfo, function(r) { return r.result.passed; }),126 function(r) { return r.test; });127 };128 this.getFailedTests = function() {129 return Utility.mapArray(Utility.filterArray(innerData.resultInfo, function(r) { return !r.result.passed; }),130 function(r) { return r.test; }); };131 this.getResults = function() { return Utility.mapArray(innerData.resultInfo, function(r) { return !r.result.passed; }); };132 this.allPassed = function() {133 for (var i = 0; i < innerData.resultInfo.length; i++) {134 if (!innerData.resultInfo[i].result.passed)135 return false;136 }137 return true;138 };139 this.anyPassed = function() {140 for (var i = 0; i < innerData.resultInfo.length; i++) {141 if (innerData.resultInfo[i].result.passed)142 return true;143 }144 return false;145 };146 this.run = function() { return _run.call(innerData); };147 this.runAll = function() { return _runAll.call(innerData); };148 this.runFailed = function() {149 var passCount = 0;150 var totalCount = 0;151 var toAdd = Utility.mapArray(Utility.filterArray(innerData.resultInfo, function(r) { return !r.result.passed; }), function(r) { return r.test; });152 for (var i = 0; i < this.notRun.length; i++)153 toAdd.push(this.notRun[i]);154 this.notRun = toAdd;155 innerData.resultInfo= Utility.filterArray(innerData.resultInfo, function(r) { return r.result.passed; });156 var completedIds = Utility.mapArray(innerData.resultInfo, function(r) { return r.result.testId; });157 var state = {};158 var currentResults = [];159 while (this.notRun.length > 0) {160 var unitTest = this.notRun.pop();161 if (Utility.nil(unitTest))162 return null;163 totalCount++;164 var id = unitTest.id;165 if (typeof(id) !== "number" || isNaN(id) || !Number.isFinite(id))166 id = 0;167 var canUseId = true;168 for (var i = 0; i < completedIds.length; i++) {169 if (completedIds[i] == n) {170 canUseId = false;171 break;172 }173 }174 if (!canUseId) {175 var hasId = function(n) {176 for (var i = 0; i < this.completed.length; i++) {177 var x = this.completed[i].id;178 if (typeof(x) === "number" && !isNaN(x) && Number.isFinite(x) && x == n)179 return true;180 }181 for (var i = 0; i < this.notRun.length; i++) {182 var x = this.notRun[i].id;183 if (typeof(x) === "number" && !isNaN(x) && Number.isFinite(x) && x == n)184 return true;185 }186 return false;187 };188 do {189 id++;190 } while (hasId(id));191 }192 completedIds.push(id);193 var result = unitTest.exec(this, id, state);194 innerData.resultInfo.push({195 test: unitTest,196 result: result197 });198 currentResults.push(result);199 if (result.passed)200 passCount++;201 }202 return {203 passCount: passCount,204 failed: totalCount - passCount,205 results: currentResults206 };207 };208 this.add(tests);209 }210 return TestCollection;...
RoleTypes.ts
Source:RoleTypes.ts
1export type RoleName = 'Pres' | 'Judge' | 'Speaker'2export class TeamAndTurns {3 Team1: number4 Team2: number5 Team3: number6 Team4: number7 Team5: number8 Team6: number9 NotRun: number10 constructor(11 team1: number = 0,12 team2: number = 0,13 team3: number = 0,14 team4: number = 0,15 team5: number = 0,16 team6: number = 0,17 NotRun: number = 018 ) {19 this.Team1 = team120 this.Team2 = team221 this.Team3 = team322 this.Team4 = team423 this.Team5 = team524 this.Team6 = team625 this.NotRun = NotRun26 }27 set(key: string, val: number) {28 switch (key) {29 case 'Team1': {30 this.Team1 = val31 break32 }33 case 'Team2': {34 this.Team2 = val35 break36 }37 case 'Team3': {38 this.Team3 = val39 break40 }41 case 'Team4': {42 this.Team4 = val43 break44 }45 case 'Team5': {46 this.Team5 = val47 break48 }49 case 'Team6': {50 this.Team6 = val51 break52 }53 case 'NotRun': {54 this.NotRun = val55 break56 }57 default:58 break59 }60 }61 get(key: string): number {62 switch (key) {63 case 'Team1':64 return this.Team165 case 'Team2':66 return this.Team267 case 'Team3':68 return this.Team369 case 'Team4':70 return this.Team471 case 'Team5':72 return this.Team573 case 'Team6':74 return this.Team675 case 'NotRun':76 return this.NotRun77 default:78 return 079 }80 }81 has(key: string): boolean {82 switch (key) {83 case 'Team1':84 return this.Team1 !== 085 case 'Team2':86 return this.Team2 !== 087 case 'Team3':88 return this.Team3 !== 089 case 'Team4':90 return this.Team4 !== 091 case 'Team5':92 return this.Team5 !== 093 case 'Team6':94 return this.Team6 !== 095 case 'NotRun':96 return this.NotRun !== 097 default:98 return false99 }100 }101 increment(key: string, val: number = 1) {102 switch (key) {103 case 'Team1': {104 this.Team1 += val105 break106 }107 case 'Team2': {108 this.Team2 += val109 break110 }111 case 'Team3': {112 this.Team3 += val113 break114 }115 case 'Team4': {116 this.Team4 += val117 break118 }119 case 'Team5': {120 this.Team5 += val121 break122 }123 case 'Team6': {124 this.Team6 += val125 break126 }127 case 'NotRun': {128 this.NotRun += val129 break130 }131 default:132 break133 }134 }135 touched(): boolean {136 return (137 this.Team1 !== 0 ||138 this.Team2 !== 0 ||139 this.Team3 !== 0 ||140 this.Team4 !== 0 ||141 this.Team5 !== 0 ||142 this.Team6 !== 0 ||143 this.NotRun !== 0144 )145 }146 turns(): number {147 return (148 this.Team1 +149 this.Team2 +150 this.Team3 +151 this.Team4 +152 this.Team5 +153 this.Team6 +154 this.NotRun155 )156 }157 add(teamAndTurns: TeamAndTurns): TeamAndTurns {158 return new TeamAndTurns(159 this.Team1 + teamAndTurns.Team1,160 this.Team2 + teamAndTurns.Team2,161 this.Team3 + teamAndTurns.Team3,162 this.Team4 + teamAndTurns.Team4,163 this.Team5 + teamAndTurns.Team5,164 this.Team6 + teamAndTurns.Team6,165 this.NotRun + teamAndTurns.NotRun166 )167 }168 map<T>(func: (team: string, turns: number) => T): T[] {169 return [170 func('Team1', this.Team1),171 func('Team2', this.Team2),172 func('Team3', this.Team3),173 func('Team4', this.Team4),174 func('Team5', this.Team5),175 func('Team6', this.Team6),176 func('NotRun', this.NotRun),177 ]178 }179}180export type ProcessedRoleElem = {181 role: RoleName182 occupied: TeamAndTurns[]183}184export type ProcessedRoleData = ProcessedRoleElem[]185export type IIGOInfo = {186 turn: number187 status: string188}...
compute-test-stats.test.ts
Source:compute-test-stats.test.ts
1/*2 * Copyright (c) Enalean, 2020-Present. All Rights Reserved.3 *4 * This file is a part of Tuleap.5 *6 * Tuleap is free software; you can redistribute it and/or modify7 * it under the terms of the GNU General Public License as published by8 * the Free Software Foundation; either version 2 of the License, or9 * (at your option) any later version.10 *11 * Tuleap is distributed in the hope that it will be useful,12 * but WITHOUT ANY WARRANTY; without even the implied warranty of13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the14 * GNU General Public License for more details.15 *16 * You should have received a copy of the GNU General Public License17 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.18 */19import { computeTestStats, getTestStatusFromStats, TestStats } from "./compute-test-stats";20import { BacklogItem } from "../../type";21describe("Compute test stats", () => {22 it("computes raw statistics", () => {23 const stats = computeTestStats({24 test_definitions: [25 { test_status: null },26 { test_status: "passed" },27 { test_status: "blocked" },28 { test_status: "notrun" },29 { test_status: "passed" },30 ],31 } as BacklogItem);32 expect(stats).toStrictEqual({33 passed: 2,34 failed: 0,35 blocked: 1,36 notrun: 1,37 });38 });39 it.each([40 [{ passed: 1, failed: 1, blocked: 1, notrun: 1 }, "failed"],41 [{ passed: 1, failed: 0, blocked: 1, notrun: 1 }, "blocked"],42 [{ passed: 1, failed: 0, blocked: 0, notrun: 1 }, "notrun"],43 [{ passed: 1, failed: 0, blocked: 0, notrun: 0 }, "passed"],44 [{ passed: 0, failed: 0, blocked: 0, notrun: 0 }, null],45 ])(46 "determines global status from statistics",47 (stats: TestStats, expected_status: string | null) => {48 expect(getTestStatusFromStats(stats)).toBe(expected_status);49 }50 );...
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) {4 console.log('Error: '+err);5 } else {6 console.log('Test status: '+data.statusCode);7 console.log('Test ID: '+data.data.testId);8 console.log('Test URL: '+data.data.userUrl);9 }10});11 if (err) {12 console.log('Error: '+err);13 } else {14 console.log('Test status: '+data.statusCode);15 console.log('Test ID: '+data.data.testId);16 console.log('Test URL: '+data.data.userUrl);17 }18});19Your name to display (optional):20Your name to display (optional):21var wpt = require('wpt');22var wpt = new WebPageTest('www.webpagetest.org');23 if (err) {24 console.log('Error: '+err);25 } else {26 console.log('Test status: '+data.statusCode);27 console.log('Test ID: '+data.data.testId);28 console.log('Test URL: '+data.data.userUrl);29 }30});31 if (err) {32 console.log('Error: '+err);33 } else {34 console.log('Test status: '+data.statusCode);35 console.log('Test ID: '+data.data.testId);36 console.log('Test URL: '+data.data.userUrl);37 }38});39Your name to display (optional):
Using AI Code Generation
1var wpt = require('webpagetest');2var client = wpt('www.webpagetest.org');3 if (err) {4 console.log(err);5 } else {6 console.log(data);7 }8});9var wpt = require('webpagetest');10var client = wpt('www.webpagetest.org');11client.notRun(data.data.testId, function(err, data) {12 if (err) {13 console.log(err);14 } else {15 console.log(data);16 }17});18{ statusCode: 400,19 { statusCode: 400,20 data: 'Missing test ID' } }21{ statusCode: 400,22 { statusCode: 400,23 data: 'Missing test ID' } }24{ statusCode: 400,25 { statusCode: 400,26 data: 'Missing test ID' } }27{ statusCode: 400,28 { statusCode: 400,29 data: 'Missing test ID' } }30{ statusCode: 400,31 { statusCode: 400,32 data: 'Missing test ID' } }33{ statusCode: 400,34 { statusCode: 400,35 data: 'Missing test ID' } }36{ statusCode: 400,
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');3wpt.runTest('www.google.com', { runs: 3, firstViewOnly: true }, function(err, data) {4 if (err) {5 console.log(err);6 } else {7 console.log(data);8 }9});10var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');11wpt.notrun('123456_1', function(err, data) {12 if (err) {13 console.log(err);14 } else {15 console.log(data);16 }17});18var wpt = require('wpt');19var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');20wpt.getLocations(function(err, data) {21 if (err) {22 console.log(err);23 } else {24 console.log(data);25 }26});27var wpt = require('wpt');28var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');29wpt.getTesters(function(err, data) {30 if (err) {31 console.log(err);32 } else {33 console.log(data);34 }35});36var wpt = require('wpt');37var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');38wpt.getTesters(function(err, data) {39 if (err) {40 console.log(err);41 } else {42 console.log(data);43 }44});45var wpt = require('wpt');46var wpt = new WebPageTest('www.webpagetest.org', 'A.12345678901234567890123456789012');47wpt.getTesters(function(err
Using AI Code Generation
1var notrun = require('wpt').notrun;2 console.log(data);3});4var notrun = require('wpt').notrun;5 console.log(data);6});7var notrun = require('wpt').notrun;8 console.log(data);9});10var notrun = require('wpt').notrun;11 console.log(data);12});13var notrun = require('wpt').notrun;14 console.log(data);15});16var notrun = require('wpt').notrun;17 console.log(data);18});19var notrun = require('wpt').notrun;20 console.log(data);21});22var notrun = require('wpt').notrun;23 console.log(data);24});25var notrun = require('wpt').notrun;26 console.log(data);27});28var notrun = require('wpt').notrun;29 console.log(data);30});
Using AI Code Generation
1var wpt = require('wpt');2 if (err) {3 console.error(err);4 } else {5 wpt.notRun(data.data.testId, function(err, data) {6 if (err) {7 console.error(err);8 } else {9 console.log(data);10 }11 });12 }13});14var wpt = require('wpt');15 if (err) {16 console.error(err);17 } else {18 wpt.getTestStatus(data.data.testId, function(err, data) {19 if (err) {20 console.error(err);21 } else {22 console.log(data);23 }24 });25 }26});27var wpt = require('wpt');28wpt.getLocations(function(err, data) {29 if (err) {30 console.error(err);31 } else {32 console.log(data);33 }34});35var wpt = require('wpt');36wpt.getTesters(function(err, data) {37 if (err) {38 console.error(err);39 } else {40 console.log(data);41 }42});43var wpt = require('wpt');44wpt.getTesters(function(err, data) {45 if (err) {46 console.error(err);47 } else {48 console.log(data);49 }50});51var wpt = require('wpt');52wpt.getTesters(function(err, data) {53 if (err) {54 console.error(err);55 } else {56 console.log(data);57 }58});59var wpt = require('wpt');
Using AI Code Generation
1var wpt = require('wpt');2var test = new wpt('your api key');3test.notrun('url to test', function(err, data) {4 if (err) return console.log(err);5 console.log(data);6});
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new wpt('API_KEY');3wpt.notrun(function(err, data){4 console.log(data);5});6var wpt = require('wpt');7var wpt = new wpt('API_KEY');8wpt.notrun({f: 'json'}, function(err, data){9 console.log(data);10});11var wpt = require('wpt');12var wpt = new wpt('API_KEY');13wpt.notrun({f: 'json'}, function(err, data){14 console.log(data);15});16var wpt = require('wpt');17var wpt = new wpt('API_KEY');18wpt.notrun({f: 'json'}, function(err, data){19 console.log(data);20});21var wpt = require('wpt');22var wpt = new wpt('API_KEY');23wpt.notrun({f: 'json'}, function(err, data){24 console.log(data);25});26var wpt = require('wpt');27var wpt = new wpt('API_KEY');28wpt.notrun({f: 'json'}, function(err, data){29 console.log(data);30});31var wpt = require('wpt');32var wpt = new wpt('API_KEY');33wpt.notrun({f: 'json'}, function(err, data){34 console.log(data);35});36var wpt = require('wpt');37var wpt = new wpt('API_KEY');38wpt.notrun({f: 'json'}, function(err, data){39 console.log(data);40});
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!!