Best JavaScript code snippet using jest
ws-nexus-user.js
Source:ws-nexus-user.js
1window.WSNexusUser = window.Nexus = (function() {2const apiVersion = '1.0.0';3// Experiment with morphing the current instance.4const NexusTypes = {5Dead: () => ({}),6Client: function() { return {7 host: null,8 onMessage: createAwaitableEvent(this._missedEvent('<Client>.onMessage.then')),9 send(message) {10 this.whenJoined.then(()=>{11 this._ws.send(JSON.stringify({12 type: 'SEND',13 message,14 }));15 });16 },17 _onServerMessage(json) {18 switch(json.type) {19 case 'JOINED':20 this.host = json.host;21 this.whenJoined.success(this.host);22 break;23 case 'NO_SUCH_HOST':24 this._changeType('User');25 this.whenJoined.failure(new Error('Cannot connect to host'));26 break;27 case 'MESSAGE':28 this.onMessage.trigger(json.message);29 break;30 default:31 this.default._onServerMessage.bind(this)(json);32 }33 }34}},35Host: function() { return {36 id: null,37 name: null,38 clientIDs: [],39 onNewClient: createAwaitableEvent(this._missedEvent('<Host>.onNewClient.then')),40 onLostClient: createAwaitableEvent(this._missedEvent('<Host>.onLostClient.then')),41 onMessage: createAwaitableEvent(this._missedEvent('<Host>.onMessage.then')),42 send(message, clientIDs) {43 this._ws.send(JSON.stringify({44 type: 'SEND',45 message,46 clientIDs,47 }));48 },49 _onServerMessage(json) {50 switch(json.type) {51 case 'HOSTING':52 this.id = json.id;53 this.name = json.name;54 this.whenHosting.success(json);55 break;56 case 'NEW_CLIENT':57 this.clientIDs.push(json.clientID);58 this.onNewClient.trigger(json.clientID, json.request);59 break;60 case 'LOST_CLIENT':61 const index = this.clientIDs.indexOf(json.clientID);62 this.clientIDs = [63 ...this.clientIDs.slice(0, index),64 ...this.clientIDs.slice(index + 1),65 ];66 this.onLostClient.trigger(json.clientID);67 break;68 case 'FROM_CLIENT':69 this.onMessage.trigger(json.message, json.clientID);70 break;71 default:72 this.default._onServerMessage.bind(this)(json);73 }74 }75}},76User: () => ({77 host(hostType) {78 let req = hostTypeObject(hostType);79 req.type = 'HOST';80 this.whenServerConnected.then(()=>{81 this._ws.send(JSON.stringify(req));82 }).onError(()=>{83 // when we lose server connection, switch to Dead mode84 this._changeType('Dead');85 });86 this._changeType('Host');87 this._setThen(this.whenHosting);88 return this;89 },90 join(hostType) {91 let req = hostTypeObject(hostType);92 req.type = 'JOIN';93 this.whenServerConnected.then(()=>{94 this._ws.send(JSON.stringify(req));95 }).onError(()=>{96 // when we lose server connection, switch to Dead mode97 this._changeType('Dead');98 });99 this._changeType('Client');100 this._setThen(this.whenJoined);101 return this;102 },103 joinOrHost(hostType) {104 this.join(hostType).onError(() => this.host(hostType));105 return this;106 }107})};108class NexusBase {109 constructor(nexusServerAddress) {110 this._type = null;111 this.nexusServerAddress = nexusServerAddress;112 this.default = this.__proto__;113 this.ignoreWarnings = false;114 this.apiVersion = apiVersion;115 this.whenServerConnected = createAwaitableState(116 this._missedEvent('.whenServerConnected.then'),117 this._missedEvent('.whenServerConnected.onError'),118 );119 this.whenHosting = createAwaitableState( // when we have registered as a host120 this._missedEvent('.whenHosting.then'),121 this._missedEvent('.whenHosting.onError'),122 );123 this.whenJoined = createAwaitableState( // when we have joined a host124 this._missedEvent('.whenJoined.then'),125 this._missedEvent('.whenJoined.onError'),126 );127 this.onClose = createAwaitableEvent(this._missedEvent('.onClose.then'));128 this.onList = createAwaitableEvent(this._missedEvent('.onList.then'));129 this.onServerInfo = createAwaitableEvent(this._missedEvent('.onServerInfo.then'));130 this.onServerInfo(json => { // event is always silent since we have this131 if(json.apiVersion !== this.apiVersion) {132 const server = json.apiVersion.split('.');133 const self = this.apiVersion.split('.');134 if(server[0] !== self[0]) { // major version is different135 console.error("WSNexusUser Error: Core api features may not work. Your api version (%s) does not match the server's api version (%s)", this.apiVersion, json.apiVersion);136 } else if(server[1] !== self[1]) { // minor version is different137 console.warn("WSNexusUser Warning: Optional api features may not work. Your api version (%s) does not match the server's api version (%s)", this.apiVersion, json.apiVersion);138 }139 // (ignore patch versions)140 }141 });142 this._ws = new WebSocket(nexusServerAddress);143 this._ws.onmessage = e => {144 this._log('* ServerMessage:', e.data);145 const json = JSON.parse(e.data);146 this._onServerMessage(json);147 };148 this._ws.onopen = this.whenServerConnected.success;149 this._ws.onerror = () => {150 const error = new Error('Server connection failed');151 this.whenServerConnected.failure(error);152 };153 this._ws.onclose = ({ code, reason }) => this.onClose.trigger(reason, code);154 this._setThen(this.whenServerConnected);155 this._changeType('User');156 }157 get type() {158 return this._type;159 }160 getHosts() {161 this._awaitable.then(()=>this._ws.send('{"type":"LIST"}'));162 return this.onList;163 }164 close(reason="You closed your connection", code=1000) {165 this._awaitable.then(()=>{166 this.onClose.then(()=>{}); // ensure we hide onClose default warnings167 this._ws.close(code, reason);168 });169 return this.onClose;170 }171 _onServerMessage(json) {172 switch(json.type) {173 case 'LIST':174 this.onList.trigger(json.payload);175 break;176 case 'SERVER_INFO':177 this.onServerInfo.trigger(json);178 break;179 default:180 console.log('(Unhandled server message:', json);181 }182 }183 _missedEvent(eventName) {184 return (...payload) => {185 if(!this.ignoreWarnings && !Nexus.ignoreWarnings) {186 console.warn('Unhandled awaitableEvent "%s":', eventName, ...payload);187 }188 }189 }190 _log(...args) {191 if(this.debug || Nexus.debug) {192 console.log(...args);193 }194 }195 // Allow .then/await to be used on an instance of this class196 _setThen(awaitable) {197 this._awaitable = awaitable;198 this.then = (resolved) => {199 const doResolve = ()=>{200 this.then = undefined; // prevent infinite cycle when awaiting this thenable object that returns this same object201 resolved(this);202 };203 awaitable.then(doResolve);204 return this;205 }206 this.onError = (rejected) => {207 const doReject = ()=>{208 this.then = undefined; // prevent infinite cycle when awaiting this thenable object that returns this same object209 rejected(this);210 };211 awaitable.onError(doReject);212 return this;213 }214 }215 // Modifies the properties on this object to make it a different "type"216 _changeType(to) {217 removeType(this, this.type);218 addType(this, to);219 }220}221// ========================================= Helpers ========================================= //222function removeType(obj, typeName) {223 if(typeName) {224 if(obj._type !== typeName) {225 throw new Error(`Cannot remove type "${typeName}" when object has type "${obj._type}"`);226 }227 if(!(typeName in NexusTypes)) {228 throw new Error('Invalid typeName when removing type:', typeName);229 }230 obj._typeProps.forEach(prop => delete obj[prop]);231 delete obj._typeProps;232 obj._type = null;233 } else if(typeName === undefined) {234 throw new Error('Cannot remove type on object with undefined type (double check the correct object is passed and it has `._type` set as null or a valid type)');235 }236}237function addType(obj, typeName) {238 if(!(typeName in NexusTypes)) {239 throw new Error('Invalid typeName when adding type:', typeName);240 }241 const type = NexusTypes[typeName];242 const props = type.call(obj);243 Object.assign(obj, props);244 obj._typeProps = Object.keys(props);245 obj._type = typeName;246}247function createAwaitableEvent(defaultCallback) {248 let anyNonce = false;249 let listeners = [];250 function awaitableEvent(callback) {251 if(typeof callback !== 'function') throw new Error('Callbacks must be functions');252 listeners.push(callback);253 return awaitableEvent;254 }255 awaitableEvent.then = function(callback) {256 if(typeof callback !== 'function') throw new Error('Callbacks must be functions');257 anyNonce = true;258 callback._PromiseEventNonce = true;259 listeners.push(callback);260 return awaitableEvent;261 }262 awaitableEvent.trigger = function(...args) {263 const current = listeners;264 if(current.length === 0) {265 defaultCallback && defaultCallback(...args);266 return;267 }268 if(anyNonce) {269 // Remove one-time listeners270 listeners = listeners.filter(l => {271 if(!l._PromiseEventNonce) return true;272 delete l._PromiseEventNonce;273 });274 anyNonce = false;275 }276 current.forEach(callback => callback(...args));277 }278 return awaitableEvent;279}280function createAwaitableState(defaultThenCallback, defaultElseCallback) {281 let goodState;282 let badState;283 let thenListeners = createAwaitableEvent(defaultThenCallback);284 let elseListeners = createAwaitableEvent(defaultElseCallback);285 function awaitableState(resolved, rejected) {286 if(resolved) thenListeners(resolved);287 if(rejected) elseListeners(rejected);288 if(goodState) {289 resolved(...goodState);290 } else if(badState) {291 rejected(...badState);292 }293 return awaitableState;294 }295 awaitableState.then = function(callback) {296 if(goodState) {297 callback(...goodState);298 } else {299 thenListeners.then(callback);300 }301 return awaitableState;302 }303 awaitableState.onError = function(callback) {304 if(badState) {305 callback(...badState);306 } else {307 elseListeners.then(callback);308 }309 return awaitableState;310 }311 awaitableState.success = function(...args) {312 goodState = args;313 badState = null;314 thenListeners.trigger(...args);315 }316 awaitableState.failure = function(...args) {317 goodState = null;318 badState = args;319 elseListeners.trigger(...args);320 }321 return awaitableState;322}323function hostTypeObject(hostType) {324 let obj;325 switch(typeof hostType) {326 case 'string':327 obj = { name: hostType };328 break;329 case 'number':330 obj = { id: hostType };331 break;332 case 'object':333 obj = hostType;334 break;335 default:336 throw new Error('Invalid hostType:', hostType);337 }338 return obj;339}340window.NexusBase = NexusBase;341const Nexus = (serverAddress='ws://127.0.0.1:3000') => new NexusBase(serverAddress);342return Nexus;...
Registry.js
Source:Registry.js
1"use strict";2var __importDefault = (this && this.__importDefault) || function (mod) {3 return (mod && mod.__esModule) ? mod : { "default": mod };4};5Object.defineProperty(exports, "__esModule", { value: true });6const events_1 = require("events");7const Task_1 = __importDefault(require("./Task"));8const TaskManager_1 = __importDefault(require("./TaskManager"));9const SharedWaiting_1 = __importDefault(require("./SharedWaiting"));10function getTaskName(TaskClass) {11 const inst = new TaskClass();12 if (!inst.name) {13 throw new Error('Name not found');14 }15 return inst.name;16}17exports.getTaskName = getTaskName;18function isSubClass(TaskClass) {19 if (TaskClass === Task_1.default) {20 return true;21 }22 try {23 const task = new TaskClass();24 if (task instanceof Task_1.default) {25 return true;26 }27 }28 catch (error) {29 console.log(TaskClass);30 console.log(error);31 }32 return false;33}34exports.isSubClass = isSubClass;35class Registry extends events_1.EventEmitter {36 constructor() {37 super();38 this.tasks = {};39 this.awaitableNodes = {};40 this.runningTasks = {};41 this.recentlyFinished = {};42 this.cleanupTimeout = 1000 * 10;43 this.tasks = {};44 this.awaitableNodes = {};45 this.runningTasks = {};46 }47 purgeAwaitables() {48 for (const key in this.awaitableNodes) {49 const awaitable = this.awaitableNodes[key];50 if (!awaitable.active) {51 delete this.awaitableNodes[key];52 }53 }54 }55 list() {56 return Object.keys(this.tasks);57 }58 add(TaskClass) {59 if (!isSubClass(TaskClass)) {60 throw new Error('Registry.add must be provided a Task Class');61 }62 const name = getTaskName(TaskClass);63 if (!name) {64 throw new Error('"name" is a required Field');65 }66 if (this.get(name)) {67 throw new Error('Task is already registered: ' + name);68 }69 this.tasks[name] = TaskClass;70 return this;71 }72 create(payload, SuperClass = Task_1.default) {73 if (typeof payload === 'function') {74 return this.add(payload);75 }76 const TaskClass = SuperClass.createTask(payload);77 return this.add(TaskClass);78 }79 get(name) {80 return this.tasks[name];81 }82 getRunning(name) {83 return this.runningTasks[name];84 }85 getTaskRun(name) {86 return this.getRunning(name) || this.recentlyFinished[name];87 }88 _cleanupRunning(name) {89 const task = this.runningTasks[name];90 if (!task) {91 return this;92 }93 this.recentlyFinished[name] = task;94 delete this.runningTasks[name];95 setTimeout(() => {96 delete this.recentlyFinished[name];97 }, this.cleanupTimeout);98 return this;99 }100 async runTask(nameOrClass, options = {}) {101 let name = '__dummyKey__';102 try {103 name = await this.initTaskManager(nameOrClass, options);104 const tm = this.getRunning(name);105 if (!tm) {106 throw new Error('Manager not Init ' + name);107 }108 const res = await tm._runTask();109 return res;110 }111 finally {112 this._cleanupRunning(name);113 this.purgeAwaitables();114 }115 }116 async initTaskManager(nameOrClass, options = {}) {117 if (!nameOrClass) {118 throw new Error('nameOrClass is Required');119 }120 let TaskClass = null;121 if (typeof nameOrClass === 'string') {122 TaskClass = this.get(nameOrClass);123 }124 else {125 TaskClass = nameOrClass;126 }127 if (!TaskClass) {128 throw new Error('Task not found: ' + nameOrClass);129 }130 const name = getTaskName(TaskClass);131 const oldTask = this.runningTasks[name];132 if (oldTask) {133 if (!oldTask.runTime) {134 throw new Error('ALREADY EXISTS: ' + name);135 }136 throw new Error('ALREADY RUNNING: ' + name + ' since ' + oldTask.runTime.toISOString());137 }138 let tm = new TaskManager_1.default(options);139 try {140 this.runningTasks[name] = tm;141 tm = await tm.runTaskSetUp(TaskClass, options);142 const nodes = tm.nodesList.filter(function (node) {143 // tasks that appear multiple times in complex tree 144 // only need to be patched if they might be run145 const task = node.data;146 return task.result !== 'NOT_TO_BE_RUN';147 });148 for (const node of nodes) {149 const nodeTask = node.data.name;150 let awaitable = this.awaitableNodes[nodeTask];151 if (!awaitable || !awaitable.active) {152 const runFn = node.data.run.bind(node.data);153 awaitable = new SharedWaiting_1.default(nodeTask, runFn);154 this.awaitableNodes[nodeTask] = awaitable;155 }156 const overideFn = awaitable.getRun(name);157 node.data.run = function (task) {158 return overideFn(task);159 };160 }161 tm.on('progress', (data) => {162 this.emit('progress', data);163 const awaitable = this.awaitableNodes[Task_1.default.name];164 if (awaitable && !awaitable.active) {165 delete this.awaitableNodes[Task_1.default.name];166 }167 });168 return name;169 }170 catch (error) {171 this._cleanupRunning(name);172 this.purgeAwaitables();173 this.emit('error', error);174 throw error;175 }176 }177}...
namespacefolly_1_1coro.js
Source:namespacefolly_1_1coro.js
1var namespacefolly_1_1coro =2[3 [ "detail", "namespacefolly_1_1coro_1_1detail.html", "namespacefolly_1_1coro_1_1detail" ],4 [ "await_result", "structfolly_1_1coro_1_1await__result.html", null ],5 [ "await_result< Awaitable, std::enable_if_t< is_awaitable_v< Awaitable > > >", "structfolly_1_1coro_1_1await__result_3_01Awaitable_00_01std_1_1enable__if__t_3_01is__awaitable__v_3_01Awaitable_01_4_01_4_01_4.html", "structfolly_1_1coro_1_1await__result_3_01Awaitable_00_01std_1_1enable__if__t_3_01is__awaitable__v_3_01Awaitable_01_4_01_4_01_4" ],6 [ "AwaitableReady", "classfolly_1_1coro_1_1AwaitableReady.html", "classfolly_1_1coro_1_1AwaitableReady" ],7 [ "AwaitableReady< void >", "classfolly_1_1coro_1_1AwaitableReady_3_01void_01_4.html", "classfolly_1_1coro_1_1AwaitableReady_3_01void_01_4" ],8 [ "awaiter_type", "structfolly_1_1coro_1_1awaiter__type.html", null ],9 [ "awaiter_type< Awaitable, std::enable_if_t< is_awaitable_v< Awaitable > > >", "structfolly_1_1coro_1_1awaiter__type_3_01Awaitable_00_01std_1_1enable__if__t_3_01is__awaitable__v_3_01Awaitable_01_4_01_4_01_4.html", "structfolly_1_1coro_1_1awaiter__type_3_01Awaitable_00_01std_1_1enable__if__t_3_01is__awaitable__v_3_01Awaitable_01_4_01_4_01_4" ],10 [ "Baton", "classfolly_1_1coro_1_1Baton.html", "classfolly_1_1coro_1_1Baton" ],11 [ "getCurrentExecutor", "structfolly_1_1coro_1_1getCurrentExecutor.html", null ],12 [ "is_awaitable", "structfolly_1_1coro_1_1is__awaitable.html", null ],13 [ "is_awaiter", "structfolly_1_1coro_1_1is__awaiter.html", null ],14 [ "Mutex", "classfolly_1_1coro_1_1Mutex.html", "classfolly_1_1coro_1_1Mutex" ],15 [ "Task", "classfolly_1_1coro_1_1Task.html", "classfolly_1_1coro_1_1Task" ],16 [ "TaskWithExecutor", "classfolly_1_1coro_1_1TaskWithExecutor.html", "classfolly_1_1coro_1_1TaskWithExecutor" ],17 [ "TimedWaitAwaitable", "classfolly_1_1coro_1_1TimedWaitAwaitable.html", "classfolly_1_1coro_1_1TimedWaitAwaitable" ],18 [ "ViaIfAsyncAwaitable", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable" ],19 [ "ViaIfAsyncAwaiter", "classfolly_1_1coro_1_1ViaIfAsyncAwaiter.html", "classfolly_1_1coro_1_1ViaIfAsyncAwaiter" ],20 [ "Wait", "classfolly_1_1coro_1_1Wait.html", "classfolly_1_1coro_1_1Wait" ]...
nodeStripContent.js
Source:nodeStripContent.js
1#!/usr/bin/env node2const { removeLocation } = require('../../lib/index')3const util = require('util') 4const fs = require('fs')5const awaitableOpen = util.promisify(fs.open)6const awaitableRead = util.promisify(fs.read)7const awaitableWrite = util.promisify(fs.write)8const awaitableCopy = util.promisify(fs.copyFile)9const awaitableUnlink = util.promisify(fs.unlink)10const removeLocationFromFile = async(fileName, sourceDirectory, destDirectory) => {11 //const dotIndex = sourcePath.lastIndexOf('.')12 //const tempFileTag = '-noGPS'13 // const tempFilePath = sourcePath.replace(new RegExp(`^(.{${dotIndex}})(.)`), `$1${tempFileTag}$2`)14 console.log('file name', fileName)15 const originalFilePath = sourceDirectory + fileName16 const tempFilePath = destDirectory + fileName17 if (!fs.existsSync(destDirectory)){18 fs.mkdirSync(destDirectory);19 }20 await awaitableCopy(originalFilePath, tempFilePath)21 const fileDescriptor = await awaitableOpen(tempFilePath, 'r+')22 const read = async (size, offset) => {23 const buffer = Buffer.alloc(size)24 const readFile = await awaitableRead(fileDescriptor, buffer, 0, size, offset)25 console.log('readFile buffer', readFile.buffer)26 return readFile.buffer27 }28 const write = async (writeValue, entryOffset, encoding) => {29 const buffer = Buffer.alloc(writeValue.length, writeValue, encoding)30 await awaitableWrite(fileDescriptor, buffer, 0, writeValue.length, entryOffset)31 }32 const locationRemoved = await removeLocation(tempFilePath, read, write)33 if (locationRemoved) {34 console.log('found GPS, wrote stripped file to ', tempFilePath)35 } else {36 console.log('no GPS found')37 //await awaitableUnlink(tempFilePath)38 }39}...
classfolly_1_1coro_1_1TimedWaitAwaitable.js
Source:classfolly_1_1coro_1_1TimedWaitAwaitable.js
1var classfolly_1_1coro_1_1TimedWaitAwaitable =2[3 [ "SharedState", "classfolly_1_1coro_1_1TimedWaitAwaitable_1_1SharedState.html", "classfolly_1_1coro_1_1TimedWaitAwaitable_1_1SharedState" ],4 [ "await_resume_return_type", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#a51f9829d13c6f13f164077a07721e9d7", null ],5 [ "TimedWaitAwaitable", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#abef5474c2f7041708abfe54fe2b0f88f", null ],6 [ "await_ready", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#a10e2d3f730424f4d2fd7e5a88eab8720", null ],7 [ "await_resume", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#ad96adcf9e5fce3e89c199e85f81308bd", null ],8 [ "await_suspend", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#a8102ef3402035b270578ba737fe91bfc", null ],9 [ "waitAndNotify", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#a4440943b7a44113b35f25bc0eb20c916", null ],10 [ "awaitable_", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#aed8890b79f866b2c5d3292870c3e6a8e", null ],11 [ "duration_", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#ad6c88b5694a99fd4cf718bee75fa741f", null ],12 [ "storage_", "classfolly_1_1coro_1_1TimedWaitAwaitable.html#a97735e8ad58a137e657b6dd5cd793cf0", null ]...
classfolly_1_1coro_1_1ViaIfAsyncAwaitable.js
Source:classfolly_1_1coro_1_1ViaIfAsyncAwaitable.js
1var classfolly_1_1coro_1_1ViaIfAsyncAwaitable =2[3 [ "ViaIfAsyncAwaitable", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#a7b54d3442a67d508caaa06dd2a94db76", null ],4 [ "operator co_await", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#abc002bc146b6c17df8b60e8f9a4ff6d1", null ],5 [ "operator co_await", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#a898629bcda275a331eb3ff1291e3c324", null ],6 [ "operator co_await", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#ac2289716275d9b92240b9d706709061b", null ],7 [ "operator co_await", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#a976335435680c195a93a91f4b76ff74e", null ],8 [ "awaitable_", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#a8ca21c3dd2e7e4f4e1ce40bdfc512476", null ],9 [ "executor_", "classfolly_1_1coro_1_1ViaIfAsyncAwaitable.html#a9aa67302455807e95d5a54bfc06ee0b0", null ]...
AbstractAwaitablePopup.js
Source:AbstractAwaitablePopup.js
1odoo.define('pos_retail.AbstractAwaitablePopup', function (require) {2 'use strict';3 const AbstractAwaitablePopup = require('point_of_sale.AbstractAwaitablePopup');4 const Registries = require('point_of_sale.Registries');5 Registries.Component.add(AbstractAwaitablePopup);6 const RetailAbstractAwaitablePopup = (AbstractAwaitablePopup) =>7 class extends AbstractAwaitablePopup {8 constructor() {9 super(...arguments);10 }11 mounted() {12 super.mounted();13 }14 willUnmount() {15 super.willUnmount();16 }17 }18 Registries.Component.extend(AbstractAwaitablePopup, RetailAbstractAwaitablePopup);19 return RetailAbstractAwaitablePopup;...
await.js
Source:await.js
1export const Await = {2 ready: (awaitable, atMost) => {3 if (typeof awaitable.ready === 'function') {4 return awaitable.ready(atMost);5 }6 throw Error('The given Awaitable must implement "ready"');7 },8 result: (awaitable, atMost) => {9 if (typeof awaitable.result === 'function') {10 return awaitable.result(atMost);11 }12 throw Error('The given Awaitable must implement "result"');13 }...
LambdaTest’s Jest Testing Tutorial covers step-by-step guides around Jest with code examples to help you be proficient with the Jest framework. The Jest tutorial has chapters to help you learn right from the basics of Jest framework to code-based tutorials around testing react apps with Jest, perform snapshot testing, import ES modules and more.
|<p>it('check_object_of_Car', () => {</p><p>
expect(newCar()).toBeInstanceOf(Car);</p><p>
});</p>|
| :- |
Get 100 minutes of automation test minutes FREE!!