Best JavaScript code snippet using wpt
verbose_reporter.ts
Source:verbose_reporter.ts
1/**2 * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.3 *4 * This source code is licensed under the MIT license found in the5 * LICENSE file in the root directory of this source tree.6 */7import {Config} from '@jest/types';8import {9 AggregatedResult,10 AssertionResult,11 Suite,12 TestResult,13} from '@jest/test-result';14import chalk from 'chalk';15import {specialChars} from 'jest-util';16import {Test} from './types';17import DefaultReporter from './default_reporter';18const {ICONS} = specialChars;19export default class VerboseReporter extends DefaultReporter {20 protected _globalConfig: Config.GlobalConfig;21 constructor(globalConfig: Config.GlobalConfig) {22 super(globalConfig);23 this._globalConfig = globalConfig;24 }25 static filterTestResults(26 testResults: Array<AssertionResult>,27 ): Array<AssertionResult> {28 return testResults.filter(({status}) => status !== 'pending');29 }30 static groupTestsBySuites(testResults: Array<AssertionResult>) {31 const root: Suite = {suites: [], tests: [], title: ''};32 testResults.forEach(testResult => {33 let targetSuite = root;34 // Find the target suite for this test,35 // creating nested suites as necessary.36 for (const title of testResult.ancestorTitles) {37 let matchingSuite = targetSuite.suites.find(s => s.title === title);38 if (!matchingSuite) {39 matchingSuite = {suites: [], tests: [], title};40 targetSuite.suites.push(matchingSuite);41 }42 targetSuite = matchingSuite;43 }44 targetSuite.tests.push(testResult);45 });46 return root;47 }48 onTestResult(49 test: Test,50 result: TestResult,51 aggregatedResults: AggregatedResult,52 ) {53 super.testFinished(test.context.config, result, aggregatedResults);54 if (!result.skipped) {55 this.printTestFileHeader(56 result.testFilePath,57 test.context.config,58 result,59 );60 if (!result.testExecError && !result.skipped) {61 this._logTestResults(result.testResults);62 }63 this.printTestFileFailureMessage(64 result.testFilePath,65 test.context.config,66 result,67 );68 }69 super.forceFlushBufferedOutput();70 }71 private _logTestResults(testResults: Array<AssertionResult>) {72 this._logSuite(VerboseReporter.groupTestsBySuites(testResults), 0);73 this._logLine();74 }75 private _logSuite(suite: Suite, indentLevel: number) {76 if (suite.title) {77 this._logLine(suite.title, indentLevel);78 }79 this._logTests(suite.tests, indentLevel + 1);80 suite.suites.forEach(suite => this._logSuite(suite, indentLevel + 1));81 }82 private _getIcon(status: string) {83 if (status === 'failed') {84 return chalk.red(ICONS.failed);85 } else if (status === 'pending') {86 return chalk.yellow(ICONS.pending);87 } else if (status === 'todo') {88 return chalk.magenta(ICONS.todo);89 } else {90 return chalk.green(ICONS.success);91 }92 }93 private _logTest(test: AssertionResult, indentLevel: number) {94 const status = this._getIcon(test.status);95 const time = test.duration ? ` (${test.duration.toFixed(0)}ms)` : '';96 this._logLine(status + ' ' + chalk.dim(test.title + time), indentLevel);97 }98 private _logTests(tests: Array<AssertionResult>, indentLevel: number) {99 if (this._globalConfig.expand) {100 tests.forEach(test => this._logTest(test, indentLevel));101 } else {102 const summedTests = tests.reduce<{103 pending: Array<AssertionResult>;104 todo: Array<AssertionResult>;105 }>(106 (result, test) => {107 if (test.status === 'pending') {108 result.pending.push(test);109 } else if (test.status === 'todo') {110 result.todo.push(test);111 } else {112 this._logTest(test, indentLevel);113 }114 return result;115 },116 {pending: [], todo: []},117 );118 if (summedTests.pending.length > 0) {119 summedTests.pending.forEach(this._logTodoOrPendingTest(indentLevel));120 }121 if (summedTests.todo.length > 0) {122 summedTests.todo.forEach(this._logTodoOrPendingTest(indentLevel));123 }124 }125 }126 private _logTodoOrPendingTest(indentLevel: number) {127 return (test: AssertionResult) => {128 const printedTestStatus =129 test.status === 'pending' ? 'skipped' : test.status;130 const icon = this._getIcon(test.status);131 const text = chalk.dim(`${printedTestStatus} ${test.title}`);132 this._logLine(`${icon} ${text}`, indentLevel);133 };134 }135 private _logLine(str?: string, indentLevel?: number) {136 const indentation = ' '.repeat(indentLevel || 0);137 this.log(indentation + (str || ''));138 }...
assert-type-of.ts
Source:assert-type-of.ts
1import { assert } from './assert';2import { AssertionError } from './assertion-error';3import { AssertionResult } from './assertion-result';4export function assertTypeOf<TSubject>(subject: TSubject, expected: 'string'): AssertionResult<TSubject, TSubject, string>;5export function assertTypeOf<TSubject>(subject: TSubject, expected: 'number'): AssertionResult<TSubject, TSubject, number>;6export function assertTypeOf<TSubject>(subject: TSubject, expected: 'bigint'): AssertionResult<TSubject, TSubject, bigint>;7export function assertTypeOf<TSubject>(subject: TSubject, expected: 'boolean'): AssertionResult<TSubject, TSubject, boolean>;8export function assertTypeOf<TSubject>(subject: TSubject, expected: 'symbol'): AssertionResult<TSubject, TSubject, symbol>;9export function assertTypeOf<TSubject>(subject: TSubject, expected: 'undefined'): AssertionResult<TSubject, TSubject, undefined>;10// eslint-disable-next-line @typescript-eslint/ban-types11export function assertTypeOf<TSubject>(subject: TSubject, expected: 'object'): AssertionResult<TSubject, TSubject, object>;12// eslint-disable-next-line @typescript-eslint/ban-types13export function assertTypeOf<TSubject>(subject: TSubject, expected: 'function'): AssertionResult<TSubject, TSubject, Function>;14export function assertTypeOf<TSubject>(subject: TSubject, expected: 'string', reverse: boolean): AssertionResult<TSubject, TSubject, string>;15export function assertTypeOf<TSubject>(subject: TSubject, expected: 'number', reverse: boolean): AssertionResult<TSubject, TSubject, number>;16export function assertTypeOf<TSubject>(subject: TSubject, expected: 'bigint', reverse: boolean): AssertionResult<TSubject, TSubject, bigint>;17export function assertTypeOf<TSubject>(subject: TSubject, expected: 'boolean', reverse: boolean): AssertionResult<TSubject, TSubject, boolean>;18export function assertTypeOf<TSubject>(subject: TSubject, expected: 'symbol', reverse: boolean): AssertionResult<TSubject, TSubject, symbol>;19export function assertTypeOf<TSubject>(subject: TSubject, expected: 'undefined', reverse: boolean): AssertionResult<TSubject, TSubject, undefined>;20// eslint-disable-next-line @typescript-eslint/ban-types21export function assertTypeOf<TSubject>(subject: TSubject, expected: 'object', reverse: boolean): AssertionResult<TSubject, TSubject, object>;22// eslint-disable-next-line @typescript-eslint/ban-types23export function assertTypeOf<TSubject>(subject: TSubject, expected: 'function', reverse: boolean): AssertionResult<TSubject, TSubject, Function>;24export function assertTypeOf(subject: unknown, expected: string, reverse: boolean = false): AssertionResult<unknown, unknown, unknown> {25 switch (expected) {26 case 'string':27 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a string.', reverse);28 case 'number':29 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a number.', reverse);30 case 'bigint':31 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a BigInt.', reverse);32 case 'boolean':33 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a boolean.', reverse);34 case 'symbol':35 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a symbol.', reverse);36 case 'undefined':37 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be undefined.', reverse);38 case 'object':39 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be an object.', reverse);40 case 'function':41 return assert(subject, subject, expected, typeof subject === expected, 'Expected %subject% to %reverse=not %be a function.', reverse);42 default: {43 // eslint-disable-next-line @typescript-eslint/quotes44 const message = `Parameter 'expected' must be 'string', 'number', 'bigint', 'boolean', 'symbol', 'undefined', 'object', or 'function', got %expected%.`;45 throw new AssertionError(new AssertionResult(subject, subject, expected, reverse, false, message), message);46 }47 }...
spahql-repl.js
Source:spahql-repl.js
1REPL = function() {2 }3 REPL.prototype = {4 "exec": function(json, query, target) {5 var data, db, parsedQuery, assertionResult, selectionResult;6 try { data = $.parseJSON(json); }7 catch(e) { return this.renderError(target, "Error parsing JSON: "+e.message); }8 try { db = SpahQL.db(data); }9 catch(e) { return this.renderError(target, "Error instantiating SpahQL database: "+e.message); }10 try { parsedQuery = SpahQL.QueryParser.parseQuery(query); }11 catch(e) { return this.renderError(target, "Error parsing SpahQL query: "+e.message); }12 if(parsedQuery.assertion) {13 try { assertionResult = db.assert(query); }14 catch(e) { return this.renderError(target, "Error running assertion: "+e.message); }15 this.resetRender(target);16 this.renderAssertion(target, query, assertionResult);17 }18 else {19 try { selectionResult = db.select(query); }20 catch(e) { return this.renderError(target, "Error running selection: "+e.message); }21 try { assertionResult = db.assert(query); }22 catch(e) { return this.renderError(target, "Error running assertion: "+e.message); }23 this.resetRender(target);24 this.renderSelection(target, query, selectionResult, assertionResult);25 }26 return false;27 },28 "resetRender": function(target) {29 target.html("");30 target.append('<div class="assertion result"></div>');31 target.append('<div class="selection result"></div>');32 },33 "renderError": function(target, message) {34 this.resetRender(target);35 target.append('<span class="error">'+message+'</span>');36 },37 "renderAssertion": function(target, query, assertionResult) {38 var $op = $(".assertion.result", target);39 $op.html('Assertion result: <span class="bool">'+assertionResult+'</span>');40 },41 "renderSelection": function(target, query, selectionResult, assertionResult) {42 var $op = $(".selection.result", target),43 summary = 'Selection returned '+selectionResult.length+' '+(selectionResult.length == 1 ? 'item' : 'items'),44 $ol = $("<ol></ol>");45 for(var i=0; i<selectionResult.length;i++) {46 var r = selectionResult[i],47 $li = $("<li></li>");48 $li.append('<span class="value">'+((typeof(JSON)!='undefined' && typeof(JSON.stringify)!='undefined') ? JSON.stringify(r.value) : r.value)+'</span>');49 $li.addClass(r.path ? "from-source" : "from-literal");50 $li.append('<span class="path">'+(r.path || "No path")+'</span>');51 $ol.append($li);52 }53 $op.html("");54 $op.append('<span class="summary">'+summary+'</span>');55 $op.append($ol);56 this.renderAssertion(target, query, assertionResult);57 }...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 wpt.getTestResults(data.data.testId, function(err, data) {4 console.log(data.data.runs[1].firstView.assertionResult);5 });6});7{ "total": 6, "passed": 6, "failed": 0, "data": [ { "label": "First Contentful Paint", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 }, { "label": "First Meaningful Paint", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 }, { "label": "First CPU Idle", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 }, { "label": "Time to Interactive", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 }, { "label": "Speed Index", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 }, { "label": "Estimated Input Latency", "passed": true, "result": 0.949, "expected": 1.5, "deviation": -0.551 } ] }
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3var options = {4};5 if (err) return console.log(err);6 wpt.getTestResults(data.data.testId, function(err, data) {7 if (err) return console.log(err);8 console.log(data);9 });10});11Apache-2.0 © [Sudhakar Konda](
Using AI Code Generation
1var wpt = require('wpt');2var options = {3};4wpt.runTest(options, function (err, data) {5 if (err) {6 console.log('Error: ' + err);7 } else {8 console.log('Test ID: ' + data.data.testId);9 wpt.assertionResult(data.data.testId, function (err, data) {10 if (err) {11 console.log('Error: ' + err);12 } else {13 console.log(data);14 }15 });16 }17});18var wpt = require('wpt');19var options = {20};21wpt.runTest(options, function (err, data) {22 if (err) {23 console.log('Error: ' + err);24 } else {25 console.log('Test ID: ' + data.data.testId);26 wpt.assertionResultRaw(data.data.testId, function (err, data) {27 if (err) {28 console.log('Error: ' + err);29 } else {30 console.log(data);31 }32 });33 }34});35var wpt = require('wpt');36wpt.getLocations(function (err, data) {
Using AI Code Generation
1wptAssert.assertResult(result, expected, message);2WptAssert.AssertResult(result, expected, message);3WptAssert::assertResult($result, $expected, $message);4wptAssert.assertResult(result, expected, message)5WptAssert.assertResult(result, expected, message)6WptAssert.AssertResult(result, expected, message)7[MIT](LICENSE) © [WebPagetest](
Using AI Code Generation
1var wpt = require('wpt');2var wpt = new WebPageTest('www.webpagetest.org', 'A.4f4b0a8c4f4b0a8c4f4b0a8c4f4b0a8c');3var location = 'Dulles:Chrome';4var runs = 1;5var firstViewOnly = true;6var video = true;7var pollResults = 5;8var timeout = 30;9var private = false;10var connectivity = 'Cable';11var bwDown = 1000;12var bwUp = 1000;13var latency = 28;14var plr = 0;15wpt.runTest(url, location, runs, firstViewOnly, video, pollResults, timeout, private, connectivity, bwDown, bwUp, latency, plr, function(err, data) {16 if (err) {17 console.log(err);18 } else {19 console.log(data);20 wpt.getTestResults(data.data.testId, function(err, data) {21 if (err) {22 console.log(err);23 } else {24 console.log(data);25 }26 });27 }28});29[MIT](LICENSE)
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org', 'A.0b4c7a2f2b9d0e0b4a1f1c0d0b1c1d2e');3 if (err) return console.error(err);4 console.log('Test status check: ' + data.statusText);5 var testId = data.data.testId;6 console.log('Test ID: ' + testId);7 wpt.getTestResults(testId, function(err, data) {8 if (err) return console.error(err);9 console.log('Test completed: ' + data.data.completeTime);10 console.log('First View: ' + data.data.runs[1].firstView.TTFB);11 console.log('Repeat View: ' + data.data.runs[1].repeatView.TTFB);12 });13});14wpt.getTestResults('130605_2Q_3Z', function(err, data) {15 if (err) return console.error(err);16 console.log('Test completed: ' + data.data.completeTime);17 console.log('First View: ' + data.data.runs[1].firstView.TTFB);18 console.log('Repeat View: ' + data.data.runs[1].repeatView.TTFB);19});20wpt.getLocations(function(err, data) {21 if (err) return console.error(err);22 console.log(data);23});24wpt.getTesters(function(err, data) {25 if (err) return console.error(err);26 console.log(data);27});28wpt.getTestStatus('130605_2Q_3Z', function(err, data) {29 if (err) return console.error(err);30 console.log(data);31});32wpt.getTestStatus('130605_2Q_3Z', function(err, data) {33 if (err) return console.error(err);34 console.log(data.statusText);35});36wpt.getTestStatus('130605_2Q_3Z', function(err, data) {37 if (err) return console.error(err);38 console.log(data.statusText);39 console.log(data.statusText);40});41wpt.getLocations(function(err, data) {42 if (err) return console.error(err);43 console.log(data);44});
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!!