Best JavaScript code snippet using wpt
errors.any.js
Source:errors.any.js
1// META: global=window,worker,jsshell2// META: script=../resources/test-utils.js3'use strict';4const thrownError = new Error('bad things are happening!');5thrownError.name = 'error1';6promise_test(t => {7 const ts = new TransformStream({8 transform() {9 throw thrownError;10 }11 });12 const reader = ts.readable.getReader();13 const writer = ts.writable.getWriter();14 return Promise.all([15 promise_rejects_exactly(t, thrownError, writer.write('a'),16 'writable\'s write should reject with the thrown error'),17 promise_rejects_exactly(t, thrownError, reader.read(),18 'readable\'s read should reject with the thrown error'),19 promise_rejects_exactly(t, thrownError, reader.closed,20 'readable\'s closed should be rejected with the thrown error'),21 promise_rejects_exactly(t, thrownError, writer.closed,22 'writable\'s closed should be rejected with the thrown error')23 ]);24}, 'TransformStream errors thrown in transform put the writable and readable in an errored state');25promise_test(t => {26 const ts = new TransformStream({27 transform() {28 },29 flush() {30 throw thrownError;31 }32 });33 const reader = ts.readable.getReader();34 const writer = ts.writable.getWriter();35 return Promise.all([36 writer.write('a'),37 promise_rejects_exactly(t, thrownError, writer.close(),38 'writable\'s close should reject with the thrown error'),39 promise_rejects_exactly(t, thrownError, reader.read(),40 'readable\'s read should reject with the thrown error'),41 promise_rejects_exactly(t, thrownError, reader.closed,42 'readable\'s closed should be rejected with the thrown error'),43 promise_rejects_exactly(t, thrownError, writer.closed,44 'writable\'s closed should be rejected with the thrown error')45 ]);46}, 'TransformStream errors thrown in flush put the writable and readable in an errored state');47test(() => {48 new TransformStream({49 start(c) {50 c.enqueue('a');51 c.error(new Error('generic error'));52 assert_throws_js(TypeError, () => c.enqueue('b'), 'enqueue() should throw');53 }54 });55}, 'errored TransformStream should not enqueue new chunks');56promise_test(t => {57 const ts = new TransformStream({58 start() {59 return flushAsyncEvents().then(() => {60 throw thrownError;61 });62 },63 transform: t.unreached_func('transform should not be called'),64 flush: t.unreached_func('flush should not be called')65 });66 const writer = ts.writable.getWriter();67 const reader = ts.readable.getReader();68 return Promise.all([69 promise_rejects_exactly(t, thrownError, writer.write('a'), 'writer should reject with thrownError'),70 promise_rejects_exactly(t, thrownError, writer.close(), 'close() should reject with thrownError'),71 promise_rejects_exactly(t, thrownError, reader.read(), 'reader should reject with thrownError')72 ]);73}, 'TransformStream transformer.start() rejected promise should error the stream');74promise_test(t => {75 const controllerError = new Error('start failure');76 controllerError.name = 'controllerError';77 const ts = new TransformStream({78 start(c) {79 return flushAsyncEvents()80 .then(() => {81 c.error(controllerError);82 throw new Error('ignored error');83 });84 },85 transform: t.unreached_func('transform should never be called if start() fails'),86 flush: t.unreached_func('flush should never be called if start() fails')87 });88 const writer = ts.writable.getWriter();89 const reader = ts.readable.getReader();90 return Promise.all([91 promise_rejects_exactly(t, controllerError, writer.write('a'), 'writer should reject with controllerError'),92 promise_rejects_exactly(t, controllerError, writer.close(), 'close should reject with same error'),93 promise_rejects_exactly(t, controllerError, reader.read(), 'reader should reject with same error')94 ]);95}, 'when controller.error is followed by a rejection, the error reason should come from controller.error');96test(() => {97 assert_throws_js(URIError, () => new TransformStream({98 start() { throw new URIError('start thrown error'); },99 transform() {}100 }), 'constructor should throw');101}, 'TransformStream constructor should throw when start does');102test(() => {103 const strategy = {104 size() { throw new URIError('size thrown error'); }105 };106 assert_throws_js(URIError, () => new TransformStream({107 start(c) {108 c.enqueue('a');109 },110 transform() {}111 }, undefined, strategy), 'constructor should throw the same error strategy.size throws');112}, 'when strategy.size throws inside start(), the constructor should throw the same error');113test(() => {114 const controllerError = new URIError('controller.error');115 let controller;116 const strategy = {117 size() {118 controller.error(controllerError);119 throw new Error('redundant error');120 }121 };122 assert_throws_js(URIError, () => new TransformStream({123 start(c) {124 controller = c;125 c.enqueue('a');126 },127 transform() {}128 }, undefined, strategy), 'the first error should be thrown');129}, 'when strategy.size calls controller.error() then throws, the constructor should throw the first error');130promise_test(t => {131 const ts = new TransformStream();132 const writer = ts.writable.getWriter();133 const closedPromise = writer.closed;134 return Promise.all([135 ts.readable.cancel(thrownError),136 promise_rejects_exactly(t, thrownError, closedPromise, 'closed should throw a TypeError')137 ]);138}, 'cancelling the readable side should error the writable');139promise_test(t => {140 let controller;141 const ts = new TransformStream({142 start(c) {143 controller = c;144 }145 });146 const writer = ts.writable.getWriter();147 const reader = ts.readable.getReader();148 const writePromise = writer.write('a');149 const closePromise = writer.close();150 controller.error(thrownError);151 return Promise.all([152 promise_rejects_exactly(t, thrownError, reader.closed, 'reader.closed should reject'),153 promise_rejects_exactly(t, thrownError, writePromise, 'writePromise should reject'),154 promise_rejects_exactly(t, thrownError, closePromise, 'closePromise should reject')]);155}, 'it should be possible to error the readable between close requested and complete');156promise_test(t => {157 const ts = new TransformStream({158 transform(chunk, controller) {159 controller.enqueue(chunk);160 controller.terminate();161 throw thrownError;162 }163 }, undefined, { highWaterMark: 1 });164 const writePromise = ts.writable.getWriter().write('a');165 const closedPromise = ts.readable.getReader().closed;166 return Promise.all([167 promise_rejects_exactly(t, thrownError, writePromise, 'write() should reject'),168 promise_rejects_exactly(t, thrownError, closedPromise, 'reader.closed should reject')169 ]);170}, 'an exception from transform() should error the stream if terminate has been requested but not completed');171promise_test(t => {172 const ts = new TransformStream();173 const writer = ts.writable.getWriter();174 // The microtask following transformer.start() hasn't completed yet, so the abort is queued and not notified to the175 // TransformStream yet.176 const abortPromise = writer.abort(thrownError);177 const cancelPromise = ts.readable.cancel(new Error('cancel reason'));178 return Promise.all([179 abortPromise,180 cancelPromise,181 promise_rejects_exactly(t, thrownError, writer.closed, 'writer.closed should reject with thrownError')]);182}, 'abort should set the close reason for the writable when it happens before cancel during start, but cancel should ' +183 'still succeed');184promise_test(t => {185 let resolveTransform;186 const transformPromise = new Promise(resolve => {187 resolveTransform = resolve;188 });189 const ts = new TransformStream({190 transform() {191 return transformPromise;192 }193 }, undefined, { highWaterMark: 2 });194 const writer = ts.writable.getWriter();195 return delay(0).then(() => {196 const writePromise = writer.write();197 const abortPromise = writer.abort(thrownError);198 const cancelPromise = ts.readable.cancel(new Error('cancel reason'));199 resolveTransform();200 return Promise.all([201 writePromise,202 abortPromise,203 cancelPromise,204 promise_rejects_exactly(t, thrownError, writer.closed, 'writer.closed should reject with thrownError')]);205 });206}, 'abort should set the close reason for the writable when it happens before cancel during underlying sink write, ' +207 'but cancel should still succeed');208const ignoredError = new Error('ignoredError');209ignoredError.name = 'ignoredError';210promise_test(t => {211 const ts = new TransformStream({212 start(controller) {213 controller.error(thrownError);214 controller.error(ignoredError);215 }216 });217 return promise_rejects_exactly(t, thrownError, ts.writable.abort(), 'abort() should reject with thrownError');218}, 'controller.error() should do nothing the second time it is called');219promise_test(t => {220 let controller;221 const ts = new TransformStream({222 start(c) {223 controller = c;224 }225 });226 const cancelPromise = ts.readable.cancel(thrownError);227 controller.error(ignoredError);228 return Promise.all([229 cancelPromise,230 promise_rejects_exactly(t, thrownError, ts.writable.getWriter().closed, 'closed should reject with thrownError')231 ]);232}, 'controller.error() should do nothing after readable.cancel()');233promise_test(t => {234 let controller;235 const ts = new TransformStream({236 start(c) {237 controller = c;238 }239 });240 return ts.writable.abort(thrownError).then(() => {241 controller.error(ignoredError);242 return promise_rejects_exactly(t, thrownError, ts.writable.getWriter().closed, 'closed should reject with thrownError');243 });244}, 'controller.error() should do nothing after writable.abort() has completed');245promise_test(t => {246 let controller;247 const ts = new TransformStream({248 start(c) {249 controller = c;250 },251 transform() {252 throw thrownError;253 }254 }, undefined, { highWaterMark: Infinity });255 const writer = ts.writable.getWriter();256 return promise_rejects_exactly(t, thrownError, writer.write(), 'write() should reject').then(() => {257 controller.error();258 return promise_rejects_exactly(t, thrownError, writer.closed, 'closed should reject with thrownError');259 });260}, 'controller.error() should do nothing after a transformer method has thrown an exception');261promise_test(t => {262 let controller;263 let calls = 0;264 const ts = new TransformStream({265 start(c) {266 controller = c;267 },268 transform() {269 ++calls;270 }271 }, undefined, { highWaterMark: 1 });272 return delay(0).then(() => {273 // Create backpressure.274 controller.enqueue('a');275 const writer = ts.writable.getWriter();276 // transform() will not be called until backpressure is relieved.277 const writePromise = writer.write('b');278 assert_equals(calls, 0, 'transform() should not have been called');279 controller.error(thrownError);280 // Now backpressure has been relieved and the write can proceed.281 return promise_rejects_exactly(t, thrownError, writePromise, 'write() should reject').then(() => {282 assert_equals(calls, 0, 'transform() should not be called');283 });284 });285}, 'erroring during write with backpressure should result in the write failing');286promise_test(t => {287 const ts = new TransformStream({}, undefined, { highWaterMark: 0 });288 return delay(0).then(() => {289 const writer = ts.writable.getWriter();290 // write should start synchronously291 const writePromise = writer.write(0);292 // The underlying sink's abort() is not called until the write() completes.293 const abortPromise = writer.abort(thrownError);294 // Perform a read to relieve backpressure and permit the write() to complete.295 const readPromise = ts.readable.getReader().read();296 return Promise.all([297 promise_rejects_exactly(t, thrownError, readPromise, 'read() should reject'),298 promise_rejects_exactly(t, thrownError, writePromise, 'write() should reject'),299 abortPromise300 ]);301 });302}, 'a write() that was waiting for backpressure should reject if the writable is aborted');303promise_test(t => {304 const ts = new TransformStream();305 ts.writable.abort(thrownError);306 const reader = ts.readable.getReader();307 return promise_rejects_exactly(t, thrownError, reader.read(), 'read() should reject with thrownError');...
errors.js
Source:errors.js
1'use strict';2if (self.importScripts) {3 self.importScripts('/resources/testharness.js');4 self.importScripts('../resources/test-utils.js');5}6const thrownError = new Error('bad things are happening!');7thrownError.name = 'error1';8promise_test(t => {9 const ts = new TransformStream({10 transform() {11 throw thrownError;12 }13 });14 const reader = ts.readable.getReader();15 const writer = ts.writable.getWriter();16 return Promise.all([17 promise_rejects(t, thrownError, writer.write('a'),18 'writable\'s write should reject with the thrown error'),19 promise_rejects(t, thrownError, reader.read(),20 'readable\'s read should reject with the thrown error'),21 promise_rejects(t, thrownError, reader.closed,22 'readable\'s closed should be rejected with the thrown error'),23 promise_rejects(t, thrownError, writer.closed,24 'writable\'s closed should be rejected with the thrown error')25 ]);26}, 'TransformStream errors thrown in transform put the writable and readable in an errored state');27promise_test(t => {28 const ts = new TransformStream({29 transform() {30 },31 flush() {32 throw thrownError;33 }34 });35 const reader = ts.readable.getReader();36 const writer = ts.writable.getWriter();37 return Promise.all([38 writer.write('a'),39 promise_rejects(t, thrownError, writer.close(),40 'writable\'s close should reject with the thrown error'),41 promise_rejects(t, thrownError, reader.read(),42 'readable\'s read should reject with the thrown error'),43 promise_rejects(t, thrownError, reader.closed,44 'readable\'s closed should be rejected with the thrown error'),45 promise_rejects(t, thrownError, writer.closed,46 'writable\'s closed should be rejected with the thrown error')47 ]);48}, 'TransformStream errors thrown in flush put the writable and readable in an errored state');49test(() => {50 new TransformStream({51 start(c) {52 c.enqueue('a');53 c.error(new Error('generic error'));54 assert_throws(new TypeError(), () => c.enqueue('b'), 'enqueue() should throw');55 }56 });57}, 'errored TransformStream should not enqueue new chunks');58promise_test(t => {59 const ts = new TransformStream({60 start() {61 return flushAsyncEvents().then(() => {62 throw thrownError;63 });64 },65 transform: t.unreached_func('transform should not be called'),66 flush: t.unreached_func('flush should not be called')67 });68 const writer = ts.writable.getWriter();69 const reader = ts.readable.getReader();70 return Promise.all([71 promise_rejects(t, thrownError, writer.write('a'), 'writer should reject with thrownError'),72 promise_rejects(t, thrownError, writer.close(), 'close() should reject with thrownError'),73 promise_rejects(t, thrownError, reader.read(), 'reader should reject with thrownError')74 ]);75}, 'TransformStream transformer.start() rejected promise should error the stream');76promise_test(t => {77 const controllerError = new Error('start failure');78 controllerError.name = 'controllerError';79 const ts = new TransformStream({80 start(c) {81 return flushAsyncEvents()82 .then(() => {83 c.error(controllerError);84 throw new Error('ignored error');85 });86 },87 transform: t.unreached_func('transform should never be called if start() fails'),88 flush: t.unreached_func('flush should never be called if start() fails')89 });90 const writer = ts.writable.getWriter();91 const reader = ts.readable.getReader();92 return Promise.all([93 promise_rejects(t, controllerError, writer.write('a'), 'writer should reject with controllerError'),94 promise_rejects(t, controllerError, writer.close(), 'close should reject with same error'),95 promise_rejects(t, controllerError, reader.read(), 'reader should reject with same error')96 ]);97}, 'when controller.error is followed by a rejection, the error reason should come from controller.error');98test(() => {99 assert_throws(new URIError(), () => new TransformStream({100 start() { throw new URIError('start thrown error'); },101 transform() {}102 }), 'constructor should throw');103}, 'TransformStream constructor should throw when start does');104test(() => {105 const strategy = {106 size() { throw new URIError('size thrown error'); }107 };108 assert_throws(new URIError(), () => new TransformStream({109 start(c) {110 c.enqueue('a');111 },112 transform() {}113 }, undefined, strategy), 'constructor should throw the same error strategy.size throws');114}, 'when strategy.size throws inside start(), the constructor should throw the same error');115test(() => {116 const controllerError = new URIError('controller.error');117 let controller;118 const strategy = {119 size() {120 controller.error(controllerError);121 throw new Error('redundant error');122 }123 };124 assert_throws(new URIError(), () => new TransformStream({125 start(c) {126 controller = c;127 c.enqueue('a');128 },129 transform() {}130 }, undefined, strategy), 'the first error should be thrown');131}, 'when strategy.size calls controller.error() then throws, the constructor should throw the first error');132promise_test(t => {133 const ts = new TransformStream();134 const writer = ts.writable.getWriter();135 const closedPromise = writer.closed;136 return Promise.all([137 ts.readable.cancel(thrownError),138 promise_rejects(t, thrownError, closedPromise, 'closed should throw a TypeError')139 ]);140}, 'cancelling the readable side should error the writable');141promise_test(t => {142 let controller;143 const ts = new TransformStream({144 start(c) {145 controller = c;146 }147 });148 const writer = ts.writable.getWriter();149 const reader = ts.readable.getReader();150 const writePromise = writer.write('a');151 const closePromise = writer.close();152 controller.error(thrownError);153 return Promise.all([154 promise_rejects(t, thrownError, reader.closed, 'reader.closed should reject'),155 promise_rejects(t, thrownError, writePromise, 'writePromise should reject'),156 promise_rejects(t, thrownError, closePromise, 'closePromise should reject')]);157}, 'it should be possible to error the readable between close requested and complete');158promise_test(t => {159 const ts = new TransformStream({160 transform(chunk, controller) {161 controller.enqueue(chunk);162 controller.terminate();163 throw thrownError;164 }165 }, undefined, { highWaterMark: 1 });166 const writePromise = ts.writable.getWriter().write('a');167 const closedPromise = ts.readable.getReader().closed;168 return Promise.all([169 promise_rejects(t, thrownError, writePromise, 'write() should reject'),170 promise_rejects(t, thrownError, closedPromise, 'reader.closed should reject')171 ]);172}, 'an exception from transform() should error the stream if terminate has been requested but not completed');173promise_test(t => {174 const ts = new TransformStream();175 const writer = ts.writable.getWriter();176 // The microtask following transformer.start() hasn't completed yet, so the abort is queued and not notified to the177 // TransformStream yet.178 const abortPromise = writer.abort(thrownError);179 const cancelPromise = ts.readable.cancel(new Error('cancel reason'));180 return Promise.all([181 abortPromise,182 cancelPromise,183 promise_rejects(t, thrownError, writer.closed, 'writer.closed should reject with thrownError')]);184}, 'abort should set the close reason for the writable when it happens before cancel during start, but cancel should ' +185 'still succeed');186promise_test(t => {187 let resolveTransform;188 const transformPromise = new Promise(resolve => {189 resolveTransform = resolve;190 });191 const ts = new TransformStream({192 transform() {193 return transformPromise;194 }195 }, undefined, { highWaterMark: 2 });196 const writer = ts.writable.getWriter();197 return delay(0).then(() => {198 const writePromise = writer.write();199 const abortPromise = writer.abort(thrownError);200 const cancelPromise = ts.readable.cancel(new Error('cancel reason'));201 resolveTransform();202 return Promise.all([203 writePromise,204 abortPromise,205 cancelPromise,206 promise_rejects(t, thrownError, writer.closed, 'writer.closed should reject with thrownError')]);207 });208}, 'abort should set the close reason for the writable when it happens before cancel during underlying sink write, ' +209 'but cancel should still succeed');210const ignoredError = new Error('ignoredError');211ignoredError.name = 'ignoredError';212promise_test(t => {213 const ts = new TransformStream({214 start(controller) {215 controller.error(thrownError);216 controller.error(ignoredError);217 }218 });219 return promise_rejects(t, thrownError, ts.writable.abort(), 'abort() should reject with thrownError');220}, 'controller.error() should do nothing the second time it is called');221promise_test(t => {222 let controller;223 const ts = new TransformStream({224 start(c) {225 controller = c;226 }227 });228 const cancelPromise = ts.readable.cancel(thrownError);229 controller.error(ignoredError);230 return Promise.all([231 cancelPromise,232 promise_rejects(t, thrownError, ts.writable.getWriter().closed, 'closed should reject with thrownError')233 ]);234}, 'controller.error() should do nothing after readable.cancel()');235promise_test(t => {236 let controller;237 const ts = new TransformStream({238 start(c) {239 controller = c;240 }241 });242 return ts.writable.abort(thrownError).then(() => {243 controller.error(ignoredError);244 return promise_rejects(t, thrownError, ts.writable.getWriter().closed, 'closed should reject with thrownError');245 });246}, 'controller.error() should do nothing after writable.abort() has completed');247promise_test(t => {248 let controller;249 const ts = new TransformStream({250 start(c) {251 controller = c;252 },253 transform() {254 throw thrownError;255 }256 }, undefined, { highWaterMark: Infinity });257 const writer = ts.writable.getWriter();258 return promise_rejects(t, thrownError, writer.write(), 'write() should reject').then(() => {259 controller.error();260 return promise_rejects(t, thrownError, writer.closed, 'closed should reject with thrownError');261 });262}, 'controller.error() should do nothing after a transformer method has thrown an exception');263promise_test(t => {264 let controller;265 let calls = 0;266 const ts = new TransformStream({267 start(c) {268 controller = c;269 },270 transform() {271 ++calls;272 }273 }, undefined, { highWaterMark: 1 });274 return delay(0).then(() => {275 // Create backpressure.276 controller.enqueue('a');277 const writer = ts.writable.getWriter();278 // transform() will not be called until backpressure is relieved.279 const writePromise = writer.write('b');280 assert_equals(calls, 0, 'transform() should not have been called');281 controller.error(thrownError);282 // Now backpressure has been relieved and the write can proceed.283 return promise_rejects(t, thrownError, writePromise, 'write() should reject').then(() => {284 assert_equals(calls, 0, 'transform() should not be called');285 });286 });287}, 'erroring during write with backpressure should result in the write failing');288promise_test(t => {289 const ts = new TransformStream({}, undefined, { highWaterMark: 0 });290 return delay(0).then(() => {291 const writer = ts.writable.getWriter();292 // write should start synchronously293 const writePromise = writer.write(0);294 // The underlying sink's abort() is not called until the write() completes.295 const abortPromise = writer.abort(thrownError);296 // Perform a read to relieve backpressure and permit the write() to complete.297 const readPromise = ts.readable.getReader().read();298 return Promise.all([299 promise_rejects(t, thrownError, readPromise, 'read() should reject'),300 promise_rejects(t, thrownError, writePromise, 'write() should reject'),301 abortPromise302 ]);303 });304}, 'a write() that was waiting for backpressure should reject if the writable is aborted');305promise_test(t => {306 const ts = new TransformStream();307 ts.writable.abort(thrownError);308 const reader = ts.readable.getReader();309 return promise_rejects(t, thrownError, reader.read(), 'read() should reject with thrownError');310}, 'the readable should be errored with the reason passed to the writable abort() method');...
Validator.Evaluator.test.ts
Source:Validator.Evaluator.test.ts
1import {2 MockValidatorClass,3 MockValidatorWithSubValidator,4 MockSubValidatorWithOptionalSubValidator5} from '../__mocks__/ValidatorMocks';6import { createValidatorEvaluator, Evaluator, isStringEvaluator } from '..';7describe('Get Validator Evaluator', () => {8 it('returns an evaluator for a VaporValidator', () => {9 expect(typeof createValidatorEvaluator(new MockValidatorClass() as any, true) === 'function').toBeTruthy();10 });11 describe('ValidatorEvaluator - non optional fields', () => {12 let validatorEvaluator: Evaluator;13 beforeEach(() => {14 validatorEvaluator = createValidatorEvaluator(new MockValidatorWithSubValidator() as any, true);15 });16 it('returns true if the provided object passes all field evaluators', () => {17 expect(18 validatorEvaluator({19 stringField: 'string',20 subValidator: {21 stringField: 'string'22 }23 })24 ).toBeTruthy();25 });26 it('throws an error if it fails to validate a field', () => {27 let thrownError;28 try {29 validatorEvaluator({30 stringField: 'string'31 });32 } catch (error) {33 thrownError = error;34 }35 expect(thrownError).toBeDefined();36 expect(thrownError.message).toBe(37 `subValidator is a required field in ${JSON.stringify({ stringField: 'string' }, null, 2)}`38 );39 });40 });41 describe('ValidatorEvaulator - with optional fields', () => {42 let validatorEvaluator: Evaluator;43 beforeEach(() => {44 validatorEvaluator = createValidatorEvaluator(new MockSubValidatorWithOptionalSubValidator() as any, true);45 });46 it('ignores optional fields if they are not provided', () => {47 expect(48 validatorEvaluator({49 stringField: 'string',50 booleanField: false,51 numberField: 1052 })53 ).toBeTruthy();54 });55 it('throws an HttpError if it fails to validate a field.', () => {56 let thrownError;57 try {58 validatorEvaluator({59 stringField: 'string',60 booleanField: false,61 numberField: 10,62 optionalSubSubValidator: {63 stringField: 10064 }65 });66 } catch (error) {67 thrownError = error;68 }69 expect(thrownError).toBeDefined();70 expect(thrownError.code).toBe(400);71 expect(thrownError.message).toBe(72 `stringField failed ${isStringEvaluator.name} in ${JSON.stringify({ stringField: 100 }, null, 2)}`73 );74 });75 });...
Using AI Code Generation
1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) {4 throw err;5 }6 console.log(data);7});8var wpt = require('webpagetest');9var wpt = new WebPageTest('www.webpagetest.org');10 .then(function(data) {11 console.log(data);12 })13 .catch(function(err) {14 console.log(err);15 });16var wpt = require('webpagetest');17var wpt = new WebPageTest('www.webpagetest.org');18async function test() {19 try {20 console.log(data);21 } catch (err) {22 console.log(err);23 }24}25test();26### WebPageTest(host, apiKey, options)
Using AI Code Generation
1module.exports = function (browser) {2 .waitForElementVisible('body', 1000)3 .assert.containsText('h1', 'Hello world!')4 .assert.elementCount('p', 2)5 .end();6};
Using AI Code Generation
1var wpt = require('webpagetest');2var options = {3};4var test = wpt(options);5 if (err) {6 return console.log('Error: ' + err.message);7 }8 console.log('Test status: ' + data.statusText);9 if (data.statusCode !== 200) {10 return console.log('Error: ' + data.statusText);11 }12 console.log('Test ID: ' + data.data.testId);13 console.log('Test URL: ' + data.data.summary);14 test.getTestResults(data.data.testId, function(err, data) {15 if (err) {16 return console.log('Error: ' + err.message);17 }18 console.log('Test status: ' + data.statusText);19 if (data.statusCode !== 200) {20 return console.log('Error: ' + data.statusText);21 }22 console.log('First View: ' + data.data.average.firstView.loadTime);23 console.log('Repeat View: ' + data.data.average.repeatView.loadTime);24 });25});26### wpt(options)
Using AI Code Generation
1var wpt = require('wpt');2wpt.thrownError = function(err, req, res) {3 res.send('Error thrown in server: ' + err);4};5wpt.get('/', function(req, res) {6 throw new Error('Error thrown in server');7});8wpt.listen(3000);9var wpt = require('wpt');10wpt.error = function(err) {11 alert('Error thrown in server: ' + err);12};13wpt.get('/', function(req, res) {14 throw new Error('Error thrown in server');15});16wpt.listen(3000);17var wpt = require('wpt');18wpt.use(function(err, req, res, next) {19 res.send('Error thrown in middleware: ' + err);20});21wpt.get('/', function(req, res) {22 throw new Error('Error thrown in middleware');23});24wpt.listen(3000);
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!!