How to use expectedBytes method in wpt

Best JavaScript code snippet using wpt

test-compat.js

Source:test-compat.js Github

copy

Full Screen

1import chai from 'chai';2import { bytes } from 'multiformats';3import { CID } from 'multiformats/cid';4import {5 encode,6 decode7} from '../src/index.js';8import { encodeNode } from '../src/pb-encode.js';9import { decodeNode } from '../src/pb-decode.js';10const {assert} = chai;11const acid = CID.decode(Uint8Array.from([12 1,13 85,14 0,15 5,16 0,17 1,18 2,19 3,20 421]));22function verifyRoundTrip(testCase, bypass) {23 const actualBytes = (bypass ? encodeNode : encode)(testCase.node);24 assert.strictEqual(bytes.toHex(actualBytes), testCase.expectedBytes);25 const roundTripNode = (bypass ? decodeNode : decode)(actualBytes);26 if (roundTripNode.Data) {27 roundTripNode.Data = bytes.toHex(roundTripNode.Data);28 }29 if (roundTripNode.Links) {30 for (const link of roundTripNode.Links) {31 if (link.Hash) {32 link.Hash = bytes.toHex(bypass ? link.Hash : link.Hash.bytes);33 }34 }35 }36 const actualForm = JSON.stringify(roundTripNode, null, 2);37 assert.strictEqual(actualForm, testCase.expectedForm);38}39describe('Compatibility', () => {40 it('empty', () => {41 verifyRoundTrip({42 node: { Links: [] },43 expectedBytes: '',44 expectedForm: `{45 "Links": []46}`47 });48 });49 it('Data zero', () => {50 verifyRoundTrip({51 node: {52 Data: new Uint8Array(0),53 Links: []54 },55 expectedBytes: '0a00',56 expectedForm: `{57 "Data": "",58 "Links": []59}`60 });61 });62 it('Data some', () => {63 verifyRoundTrip({64 node: {65 Data: Uint8Array.from([66 0,67 1,68 2,69 3,70 471 ]),72 Links: []73 },74 expectedBytes: '0a050001020304',75 expectedForm: `{76 "Data": "0001020304",77 "Links": []78}`79 });80 });81 it('Links zero', () => {82 const testCase = {83 node: { Links: [] },84 expectedBytes: '',85 expectedForm: `{86 "Links": []87}`88 };89 verifyRoundTrip(testCase);90 });91 it('Data some Links zero', () => {92 const testCase = {93 node: {94 Data: Uint8Array.from([95 0,96 1,97 2,98 3,99 4100 ]),101 Links: []102 },103 expectedBytes: '0a050001020304',104 expectedForm: `{105 "Data": "0001020304",106 "Links": []107}`108 };109 verifyRoundTrip(testCase);110 });111 it('Links empty', () => {112 const testCase = {113 node: { Links: [{}] },114 expectedBytes: '1200',115 expectedForm: `{116 "Links": [117 {}118 ]119}`120 };121 assert.throws(() => verifyRoundTrip(testCase), /Hash/);122 verifyRoundTrip(testCase, true);123 });124 it('Data some Links empty', () => {125 const testCase = {126 node: {127 Data: Uint8Array.from([128 0,129 1,130 2,131 3,132 4133 ]),134 Links: [{}]135 },136 expectedBytes: '12000a050001020304',137 expectedForm: `{138 "Data": "0001020304",139 "Links": [140 {}141 ]142}`143 };144 assert.throws(() => verifyRoundTrip(testCase), /Hash/);145 verifyRoundTrip(testCase, true);146 });147 it('Links Hash zero', () => {148 const testCase = {149 node: { Links: [{ Hash: new Uint8Array(0) }] },150 expectedBytes: '12020a00',151 expectedForm: `{152 "Links": [153 {154 "Hash": ""155 }156 ]157}`158 };159 assert.throws(() => verifyRoundTrip(testCase), /CID/);160 verifyRoundTrip(testCase, true);161 assert.throws(() => decode(bytes.fromHex(testCase.expectedBytes)), /CID/);162 });163 it('Links Hash some', () => {164 verifyRoundTrip({165 node: { Links: [{ Hash: acid }] },166 expectedBytes: '120b0a09015500050001020304',167 expectedForm: `{168 "Links": [169 {170 "Hash": "015500050001020304"171 }172 ]173}`174 });175 });176 it('Links Name zero', () => {177 const testCase = {178 node: { Links: [{ Name: '' }] },179 expectedBytes: '12021200',180 expectedForm: `{181 "Links": [182 {183 "Name": ""184 }185 ]186}`187 };188 assert.throws(() => verifyRoundTrip(testCase), /Hash/);189 verifyRoundTrip(testCase, true);190 });191 it('Links Hash some Name zero', () => {192 verifyRoundTrip({193 node: {194 Links: [{195 Hash: acid,196 Name: ''197 }]198 },199 expectedBytes: '120d0a090155000500010203041200',200 expectedForm: `{201 "Links": [202 {203 "Hash": "015500050001020304",204 "Name": ""205 }206 ]207}`208 });209 });210 it('Links Name some', () => {211 const testCase = {212 node: { Links: [{ Name: 'some name' }] },213 expectedBytes: '120b1209736f6d65206e616d65',214 expectedForm: `{215 "Links": [216 {217 "Name": "some name"218 }219 ]220}`221 };222 assert.throws(() => verifyRoundTrip(testCase), /Hash/);223 verifyRoundTrip(testCase, true);224 });225 it('Links Hash some Name some', () => {226 verifyRoundTrip({227 node: {228 Links: [{229 Hash: acid,230 Name: 'some name'231 }]232 },233 expectedBytes: '12160a090155000500010203041209736f6d65206e616d65',234 expectedForm: `{235 "Links": [236 {237 "Hash": "015500050001020304",238 "Name": "some name"239 }240 ]241}`242 });243 });244 it('Links Tsize zero', () => {245 const testCase = {246 node: { Links: [{ Tsize: 0 }] },247 expectedBytes: '12021800',248 expectedForm: `{249 "Links": [250 {251 "Tsize": 0252 }253 ]254}`255 };256 assert.throws(() => verifyRoundTrip(testCase), /Hash/);257 verifyRoundTrip(testCase, true);258 });259 it('Links Hash some Tsize zero', () => {260 verifyRoundTrip({261 node: {262 Links: [{263 Hash: acid,264 Tsize: 0265 }]266 },267 expectedBytes: '120d0a090155000500010203041800',268 expectedForm: `{269 "Links": [270 {271 "Hash": "015500050001020304",272 "Tsize": 0273 }274 ]275}`276 });277 });278 it('Links Name some', () => {279 const testCase = {280 node: { Links: [{ Tsize: 1010 }] },281 expectedBytes: '120318f207',282 expectedForm: `{283 "Links": [284 {285 "Tsize": 1010286 }287 ]288}`289 };290 assert.throws(() => verifyRoundTrip(testCase), /Hash/);291 verifyRoundTrip(testCase, true);292 });293 it('Links Hash some Tsize some', () => {294 verifyRoundTrip({295 node: {296 Links: [{297 Hash: acid,298 Tsize: 9007199254740991299 }]300 },301 expectedBytes: '12140a0901550005000102030418ffffffffffffff0f',302 expectedForm: `{303 "Links": [304 {305 "Hash": "015500050001020304",306 "Tsize": 9007199254740991307 }308 ]309}`310 });311 });...

Full Screen

Full Screen

test-stream-reader.js

Source:test-stream-reader.js Github

copy

Full Screen

1// Copyright 2015 The Vanadium Authors. All rights reserved.2// Use of this source code is governed by a BSD-style3// license that can be found in the LICENSE file.4/**5 * @fileoverview Tests for stream reader.6 */7var test = require('tape');8var StreamReader = require('./../../src/vom/stream-reader.js');9var ByteUtil = require('./../../src/vdl/byte-util.js');10test('readByte with data already loaded', function(t) {11 var expectedBytes = [ 0x0, 0xff, 0x10, 0x20, 0x30, 0x40 ];12 var buf = new Uint8Array(expectedBytes);13 var sr = new StreamReader();14 sr.addBytes(buf);15 var i = 0;16 function checkByte(b) {17 t.equals(b, expectedBytes[i], 'index ' + i + ' differs');18 i++;19 if (i < expectedBytes.length) {20 return sr.readByte().then(checkByte);21 } else {22 t.end();23 }24 }25 sr.readByte().then(checkByte).catch(t.end);26});27test('readByteArray with data already loaded', function(t) {28 var expectedBytes = [ 0x00, 0xff, 0x10, 0x20, 0x30, 0x40 ];29 var buf = new Uint8Array(expectedBytes);30 var sr = new StreamReader();31 sr.addBytes(buf);32 sr.readByteArray(2).then(function(b) {33 t.equals(ByteUtil.bytes2Hex(b),34 ByteUtil.bytes2Hex(new Uint8Array([0x00, 0xff])));35 return sr.readByteArray(4);36 }).then(function(b) {37 t.equals(ByteUtil.bytes2Hex(b),38 ByteUtil.bytes2Hex(new Uint8Array([0x10, 0x20, 0x30, 0x40])));39 t.end();40 }).catch(t.end);41});42test('read after close returns error', function(t) {43 var sr = new StreamReader();44 sr.close();45 sr.readByte().then(function() {46 t.fail('should not have returned a value');47 t.end();48 }, function(err) {49 t.ok(err);50 t.end();51 });52});53test('read byte before data is set', function(t) {54 var expectedBytes = [ 0x0, 0xff, 0x10, 0x20, 0x30, 0x40 ];55 var buf = new Uint8Array(expectedBytes);56 var sr = new StreamReader();57 var i = 0;58 function checkByte(b) {59 t.equals(b, expectedBytes[i], 'index ' + i + ' differs');60 i++;61 if (i < expectedBytes.length) {62 return sr.readByte().then(checkByte);63 } else {64 t.end();65 }66 }67 // Read before there is data.68 sr.readByte().then(checkByte).catch(t.end);69 sr.addBytes(buf);70});71test('readByteArray before data is set', function(t) {72 var expectedBytes = [ 0x00, 0xff, 0x10, 0x20, 0x30, 0x40 ];73 var buf = new Uint8Array(expectedBytes);74 var sr = new StreamReader();75 sr.readByteArray(2).then(function(b) {76 t.equals(ByteUtil.bytes2Hex(b),77 ByteUtil.bytes2Hex(new Uint8Array([0x00, 0xff])));78 return sr.readByteArray(4);79 }).then(function (b) {80 t.equals(ByteUtil.bytes2Hex(b),81 ByteUtil.bytes2Hex(new Uint8Array([0x10, 0x20, 0x30, 0x40])));82 t.end();83 }).catch(t.end);84 sr.addBytes(buf);85});86test('readByteArray with multiple chunks', function(t) {87 var expectedBytes = [ 0x00, 0xff, 0x10, 0x20, 0x30, 0x40 ];88 var buf1 = new Uint8Array(expectedBytes.slice(0, 3));89 var buf2 = new Uint8Array(expectedBytes.slice(3));90 var sr = new StreamReader();91 sr.addBytes(buf1);92 sr.readByteArray(2).then(function(b) {93 t.equals(ByteUtil.bytes2Hex(b),94 ByteUtil.bytes2Hex(new Uint8Array([0x00, 0xff])));95 return sr.readByteArray(4);96 }).then(function (b) {97 t.equals(ByteUtil.bytes2Hex(b),98 ByteUtil.bytes2Hex(new Uint8Array([0x10, 0x20, 0x30, 0x40])));99 t.end();100 }).catch(t.end);101 sr.addBytes(buf2);102});103test('peekByte doesn\'t consume', function(t) {104 var expectedBytes = [ 0x00 ];105 var buf1 = new Uint8Array(expectedBytes);106 var sr = new StreamReader();107 sr.peekByte().then(function(b) {108 return sr.peekByte();109 }).then(function(b) {110 t.equals(ByteUtil.bytes2Hex(new Uint8Array([b])), '00');111 t.end();112 }).catch(t.end);113 sr.addBytes(buf1);114});115test('readByteArray without enough data and eof', function(t) {116 var sr = new StreamReader([0x00]);117 sr.readByteArray(4).then(function() {118 t.fail('should not have succeeded');119 }, function(err) {}).then(t.end);120 sr.close();...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3 if (err) return console.error(err);4 wpt.getTestResults(data.data.testId, function(err, data) {5 if (err) return console.error(err);6 console.log(data.data.median.firstView.expectedBytes);7 });8});9var wpt = require('webpagetest');10var wpt = new WebPageTest('www.webpagetest.org');11 if (err) return console.error(err);12 wpt.getTestResults(data.data.testId, function(err, data) {13 if (err) return console.error(err);14 console.log(data.data.median.firstView.expectedBytes);15 });16});17var wpt = require('webpagetest');18var wpt = new WebPageTest('www.webpagetest.org');19 if (err) return console.error(err);20 wpt.getTestResults(data.data.testId, function(err, data) {21 if (err) return console.error(err);22 console.log(data.data.median.firstView.expectedBytes);23 });24});25var wpt = require('webpagetest');26var wpt = new WebPageTest('www.webpagetest.org');27 if (err) return console.error(err);28 wpt.getTestResults(data.data.testId, function(err, data) {29 if (err) return console.error(err);30 console.log(data.data.median.firstView.expectedBytes);31 });32});33var wpt = require('webpagetest');34var wpt = new WebPageTest('www.webpagetest.org');

Full Screen

Using AI Code Generation

copy

Full Screen

1var wpt = require('webpagetest');2var wpt = new WebPageTest('www.webpagetest.org');3wpt.getLocations(function(err, data) {4 if (err) {5 console.log('Error: ' + err);6 } else {7 console.log(data);8 }9});10 if (err) {11 console.log('Error: ' + err);12 } else {13 console.log(data);14 }15});16wpt.getTestStatus('140302_8Y_1', function(err, data) {17 if (err) {18 console.log('Error: ' + err);19 } else {20 console.log(data);21 }22});23wpt.getTestResults('140302_8Y_1', function(err, data) {24 if (err) {25 console.log('Error: ' + err);26 } else {27 console.log(data);28 }29});30wpt.getHAR('140302_8Y_1', function(err, data) {31 if (err) {32 console.log('Error: ' + err);33 } else {34 console.log(data);35 }36});37wpt.getWaterfall('140302_8Y_1', function(err, data) {38 if (err) {39 console.log('Error: ' + err);40 } else {41 console.log(data);42 }43});44wpt.getTesters(function(err, data) {45 if (err) {46 console.log('Error: ' + err);47 } else {48 console.log(data);49 }50});51wpt.getTesters('ec2', function(err, data) {52 if (err) {53 console.log('Error: ' + err);54 } else {55 console.log(data);56 }57});58wpt.getTesters('ec2', 'us-east-1', function(err, data) {59 if (err) {60 console.log('Error: ' + err);61 } else {62 console.log(data);63 }64});65wpt.getTesters('ec2', 'us-east-1', 'us-east-1a', function(err, data) {66 if (err) {67 console.log('Error: ' + err);68 } else {69 console.log(data);70 }71});

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run wpt automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful