Best JavaScript code snippet using unexpected
rewrites.js
Source:rewrites.js
1/* @flow */2import { toPageHref, toAsUrl } from '../rewrites';3const peekKeysFromCurrentRoute = ['lng', 'fn', 'version', 'editor', 'host'];4// const pages = [''];5const rewrites = [6 {7 path: '/products/:productId',8 page: 'product',9 },10 // custom pages rewrite rule example11 {12 path: '/:customPageId?',13 exclude: {14 // do transform for pages except15 // here should be glob('pages/*.js')16 customPageId: ['lalala', 'fn_*'],17 },18 page: 'custom',19 },20 // global rewrite rule21 {22 path: '/fn_:fn',23 page: '',24 },25];26/*27test('custom page rewrite rule', () => {28 expect(toPageHref(rewrites, '/hello')).toEqual({});29});30*/31test('toAsUrl custom simple', () => {32 expect(33 toAsUrl(34 rewrites,35 peekKeysFromCurrentRoute,36 {37 pathname: '/custom',38 query: {39 customPageId: 'hello',40 },41 },42 { pathname: '/', query: {} }43 )44 ).toEqual({45 as: '/hello',46 href: {47 pathname: '/custom',48 query: {49 customPageId: 'hello',50 },51 },52 });53});54test('toAsUrl custom with global rule', () => {55 expect(56 toAsUrl(57 rewrites,58 peekKeysFromCurrentRoute,59 {60 pathname: '/custom',61 query: {62 customPageId: 'hello',63 },64 },65 {66 pathname: '/',67 query: {68 fn: 'callME',69 },70 }71 )72 ).toEqual({73 as: '/fn_callME/hello',74 href: {75 pathname: '/custom',76 query: {77 customPageId: 'hello',78 fn: 'callME',79 },80 },81 });82});83test('toAsUrl custom with global rule and subpath', () => {84 expect(85 toAsUrl(86 rewrites,87 peekKeysFromCurrentRoute,88 {89 pathname: '/custom/tee',90 query: {91 customPageId: 'hello',92 },93 },94 {95 pathname: '/',96 query: {97 fn: 'callME',98 },99 }100 )101 ).toEqual({102 as: '/fn_callME/hello/tee',103 href: {104 pathname: '/custom/tee',105 query: {106 customPageId: 'hello',107 fn: 'callME',108 },109 },110 });111});112test('toAsUrl global rule found', () => {113 expect(114 toAsUrl(115 rewrites,116 peekKeysFromCurrentRoute,117 {118 pathname: '/product',119 query: {120 productId: 'hey',121 },122 },123 { pathname: '/', query: { fn: 'hellofn' } }124 )125 ).toEqual({126 as: '/fn_hellofn/products/hey',127 href: {128 pathname: '/product',129 query: {130 fn: 'hellofn',131 productId: 'hey',132 },133 },134 });135});136test('toAsUrl only global rule found', () => {137 expect(138 toAsUrl(139 rewrites,140 peekKeysFromCurrentRoute,141 {142 pathname: '/about',143 query: {},144 },145 { pathname: '/', query: { fn: 'hellofn' } }146 )147 ).toEqual({148 as: '/fn_hellofn/about',149 href: {150 pathname: '/about',151 query: {152 fn: 'hellofn',153 },154 },155 });156});157test('toAsUrl rule found', () => {158 expect(159 toAsUrl(160 rewrites,161 peekKeysFromCurrentRoute,162 {163 pathname: '/product',164 query: {165 productId: 'hey',166 },167 },168 { pathname: '/' }169 )170 ).toEqual({171 as: '/products/hey',172 href: {173 pathname: '/product',174 query: {175 productId: 'hey',176 },177 },178 });179});180test('toAsUrl rule found and additional vars exists', () => {181 expect(182 toAsUrl(183 rewrites,184 peekKeysFromCurrentRoute,185 {186 pathname: '/product',187 query: {188 productId: 'hey',189 someNonRuleVar: 'hi',190 },191 },192 { pathname: '/' }193 )194 ).toEqual({195 as: '/products/hey?someNonRuleVar=hi',196 href: {197 pathname: '/product',198 query: {199 productId: 'hey',200 someNonRuleVar: 'hi',201 },202 },203 });204});205test('toAsUrl rule not found', () => {206 expect(207 toAsUrl(208 rewrites,209 peekKeysFromCurrentRoute,210 {211 pathname: '/hello',212 query: {213 productId: 'hey',214 },215 },216 { pathname: '/' }217 )218 ).toEqual({219 as: '/hello?productId=hey',220 href: {221 pathname: '/hello',222 query: {223 productId: 'hey',224 },225 },226 });227});228test('toAsUrl preserves peekKeysFromCurrentRoute keys from current route', () => {229 expect(230 toAsUrl(231 rewrites,232 peekKeysFromCurrentRoute,233 {234 pathname: '/hello',235 query: {236 productId: 'hey',237 },238 },239 { pathname: '/', query: { lng: 'fr', not_in_preserved: 'hi' } }240 )241 ).toEqual({242 as: '/hello?lng=fr&productId=hey',243 href: {244 pathname: '/hello',245 query: {246 lng: 'fr',247 productId: 'hey',248 },249 },250 });251});252test('toAsUrl overrides preserved keys', () => {253 expect(254 toAsUrl(255 rewrites,256 peekKeysFromCurrentRoute,257 {258 pathname: '/hello',259 query: {260 lng: 'en',261 productId: 'hey',262 },263 },264 { pathname: '/', query: { lng: 'fr', not_in_preserved: 'hi' } }265 )266 ).toEqual({267 as: '/hello?lng=en&productId=hey',268 href: {269 pathname: '/hello',270 query: {271 lng: 'en',272 productId: 'hey',273 },274 },275 });276});277test('toAsUrl allows remove preseved key', () => {278 expect(279 toAsUrl(280 rewrites,281 peekKeysFromCurrentRoute,282 {283 pathname: '/hello',284 query: {285 productId: 'hey',286 lng: null, // <-- remove287 },288 },289 { pathname: '/', query: { lng: 'fr', not_in_preserved: 'hi' } }290 )291 ).toEqual({292 as: '/hello?productId=hey',293 href: {294 pathname: '/hello',295 query: {296 productId: 'hey',297 },298 },299 });300});301test('toPageHref custom not excluded', () => {302 expect(toPageHref(rewrites, '/some-not-excluded')).toEqual({303 pathname: '/custom',304 query: {305 customPageId: 'some-not-excluded',306 },307 });308});309test('toPageHref custom not excluded with subpath', () => {310 expect(toPageHref(rewrites, '/some-not-excluded/tee')).toEqual({311 pathname: '/custom/tee',312 query: {313 customPageId: 'some-not-excluded',314 },315 });316});317test('toPageHref custom not excluded with subpath and fn_', () => {318 expect(toPageHref(rewrites, '/fn_func/some-not-excluded/tee')).toEqual({319 pathname: '/custom/tee',320 query: {321 customPageId: 'some-not-excluded',322 fn: 'func',323 },324 });325});326test('toPageHref unknown', () => {327 expect(toPageHref(rewrites, '/fn_hello/lalala')).toEqual({328 pathname: '/lalala',329 query: {330 fn: 'hello',331 },332 });333 expect(toPageHref(rewrites, '/fn_hello/lalala/la')).toEqual({334 pathname: '/lalala/la',335 query: {336 fn: 'hello',337 },338 });339 // we don't need a special processing for such paths340 expect(toPageHref(rewrites, '/lalala')).toEqual(null);341});342test('toPageHref base', () => {343 expect(toPageHref(rewrites, '/fn_hello/products/hey')).toEqual({344 pathname: '/product',345 query: {346 fn: 'hello',347 productId: 'hey',348 },349 });350 expect(toPageHref(rewrites, '/products/hey')).toEqual({351 pathname: '/product',352 query: {353 productId: 'hey',354 },355 });356});357test('toPageHref root', () => {358 expect(toPageHref(rewrites, '/')).toEqual({359 pathname: '/custom',360 query: {361 customPageId: '',362 },363 });364 expect(toPageHref(rewrites, '/fn_hello')).toEqual({365 pathname: '/custom',366 query: {367 customPageId: '',368 fn: 'hello',369 },370 });371 expect(toPageHref(rewrites, '/fn_hello/')).toEqual({372 pathname: '/custom',373 query: {374 customPageId: '',375 fn: 'hello',376 },377 });378});379test('toAsUrl root', () => {380 expect(381 toAsUrl(382 rewrites,383 peekKeysFromCurrentRoute,384 {385 pathname: '/custom',386 query: {387 customPageId: '',388 lng: 'en',389 },390 },391 {392 pathname: '/custom',393 query: {394 customPageId: '',395 lng: 'fr',396 },397 }398 )399 ).toEqual({400 as: '/?lng=en',401 href: {402 pathname: '/custom',403 query: {404 lng: 'en',405 customPageId: '',406 },407 },408 });...
auto_link_test.js
Source:auto_link_test.js
1module("wysihtml5.dom.autoLink", {2 equal: function(actual, expected, message) {3 return wysihtml5.assert.htmlEqual(actual, expected, message);4 },5 6 autoLink: function(html) {7 var container = wysihtml5.dom.getAsDom(html);8 return wysihtml5.dom.autoLink(container).innerHTML;9 } 10});11test("Basic test", function() {12 ok(wysihtml5.dom.autoLink.URL_REG_EXP, "URL reg exp is revealed to be access globally");13 14 this.equal(15 this.autoLink("hey check out this search engine http://www.google.com"),16 "hey check out this search engine <a href=\"http://www.google.com\">http://www.google.com</a>",17 "Urls starting with http:// are correctly linked"18 );19 20 this.equal(21 this.autoLink("hey check out this search engine https://www.google.com"),22 "hey check out this search engine <a href=\"https://www.google.com\">https://www.google.com</a>",23 "Urls starting with https:// are correctly linked"24 );25 26 this.equal(27 this.autoLink("hey check out this search engine www.google.com"),28 "hey check out this search engine <a href=\"http://www.google.com\">www.google.com</a>",29 "Urls starting with www. are correctly linked"30 );31 32 this.equal(33 this.autoLink("hey check out this mail christopher.blum@xing.com"),34 "hey check out this mail christopher.blum@xing.com",35 "E-Mails are not linked"36 );37 38 this.equal(39 this.autoLink("http://google.de"),40 "<a href=\"http://google.de\">http://google.de</a>",41 "Single url without www. but with http:// is auto linked"42 );43 44 this.equal(45 this.autoLink("hey check out this search engine <a href=\"http://www.google.com\">www.google.com</a>"),46 "hey check out this search engine <a href=\"http://www.google.com\">www.google.com</a>",47 "Already auto-linked stuff isn't causing a relinking"48 );49 50 this.equal(51 this.autoLink("hey check out this search engine <code><span>http://www.google.com</span></code>"),52 "hey check out this search engine <code><span>http://www.google.com</span></code>",53 "Urls inside 'code' elements are not auto linked"54 );55 56 this.equal(57 this.autoLink("hey check out this search engine <pre>http://www.google.com</pre>"),58 "hey check out this search engine <pre>http://www.google.com</pre>",59 "Urls inside 'pre' elements are not auto linked"60 );61 62 this.equal(63 this.autoLink("hey check out this search engine (http://www.google.com)"),64 "hey check out this search engine (<a href=\"http://www.google.com\">http://www.google.com</a>)",65 "Parenthesis around url are not part of url #1"66 );67 68 this.equal(69 this.autoLink("hey check out this search engine (http://www.google.com?q=hello(spencer))"),70 "hey check out this search engine (<a href=\"http://www.google.com?q=hello(spencer)\">http://www.google.com?q=hello(spencer)</a>)",71 "Parenthesis around url are not part of url #2"72 );73 74 this.equal(75 this.autoLink("hey check out this search engine <span>http://www.google.com?q=hello(spencer)</span>"),76 "hey check out this search engine <span><a href=\"http://www.google.com?q=hello(spencer)\">http://www.google.com?q=hello(spencer)</a></span>",77 "Urls in tags are correctly auto linked"78 );79 80 this.equal(81 this.autoLink("http://google.de and http://yahoo.com as well as <span>http://de.finance.yahoo.com</span> <a href=\"http://google.com\" class=\"more\">http://google.com</a>"),82 "<a href=\"http://google.de\">http://google.de</a> and <a href=\"http://yahoo.com\">http://yahoo.com</a> as well as <span><a href=\"http://de.finance.yahoo.com\">http://de.finance.yahoo.com</a></span> <a href=\"http://google.com\" class=\"more\">http://google.com</a>",83 "Multiple urls are correctly auto linked"84 );85 86 this.equal(87 this.autoLink("<script>http://google.de</script>"),88 "<script>http://google.de</script>",89 "Urls in SCRIPT elements are not touched"90 );91 92 this.equal(93 this.autoLink("<script>http://google.de</script>"),94 "<script>http://google.de</script>",95 "Urls in SCRIPT elements are not touched"96 );97 98 this.equal(99 this.autoLink(" http://www.google.de"),100 " <a href=\"http://www.google.de\">http://www.google.de</a>",101 "Check if white space in front of url is preserved"102 );...
sweetalert.init.js
Source:sweetalert.init.js
1document.querySelector('.sweet-wrong').onclick = function(){2 sweetAlert("Oops...", "Something went wrong !!", "error");3};4document.querySelector('.sweet-message').onclick = function(){5 swal("Hey, Here's a message !!")6};7document.querySelector('.sweet-text').onclick = function(){8 swal("Hey, Here's a message !!", "It's pretty, isn't it?")9};10document.querySelector('.sweet-success').onclick = function(){11 swal("Hey, Good job !!", "You clicked the button !!", "success")12};13document.querySelector('.sweet-confirm').onclick = function(){14 swal({15 title: "Are you sure to delete ?",16 text: "You will not be able to recover this imaginary file !!",17 type: "warning",18 showCancelButton: true,19 confirmButtonColor: "#DD6B55",20 confirmButtonText: "Yes, delete it !!",21 closeOnConfirm: false22 },23 function(){24 swal("Deleted !!", "Hey, your imaginary file has been deleted !!", "success");25 });26};27document.querySelector('.sweet-success-cancel').onclick = function(){28 swal({29 title: "Are you sure to delete ?",30 text: "You will not be able to recover this imaginary file !!",31 type: "warning",32 showCancelButton: true,33 confirmButtonColor: "#DD6B55",34 confirmButtonText: "Yes, delete it !!",35 cancelButtonText: "No, cancel it !!",36 closeOnConfirm: false,37 closeOnCancel: false38 },39 function(isConfirm){40 if (isConfirm) {41 swal("Deleted !!", "Hey, your imaginary file has been deleted !!", "success");42 }43 else {44 swal("Cancelled !!", "Hey, your imaginary file is safe !!", "error");45 }46 });47};48document.querySelector('.sweet-image-message').onclick = function(){49 swal({50 title: "Sweet !!",51 text: "Hey, Here's a custom image !!",52 imageUrl: "assets/images/hand.jpg"53 });54};55document.querySelector('.sweet-html').onclick = function(){56 swal({57 title: "Sweet !!",58 text: "<span style='color:#ff0000'>Hey, you are using HTML !!<span>",59 html: true60 });61};62document.querySelector('.sweet-auto').onclick = function(){63 swal({64 title: "Sweet auto close alert !!",65 text: "Hey, i will close in 2 seconds !!",66 timer: 2000,67 showConfirmButton: false68 });69};70document.querySelector('.sweet-prompt').onclick = function(){71 swal({72 title: "Enter an input !!",73 text: "Write something interesting !!",74 type: "input",75 showCancelButton: true,76 closeOnConfirm: false,77 animation: "slide-from-top",78 inputPlaceholder: "Write something"79 },80 function(inputValue){81 if (inputValue === false) return false;82 if (inputValue === "") {83 swal.showInputError("You need to write something!");84 return false85 }86 swal("Hey !!", "You wrote: " + inputValue, "success");87 });88};89document.querySelector('.sweet-ajax').onclick = function(){90 swal({91 title: "Sweet ajax request !!",92 text: "Submit to run ajax request !!",93 type: "info",94 showCancelButton: true,95 closeOnConfirm: false,96 showLoaderOnConfirm: true,97 },98 function(){99 setTimeout(function(){100 swal("Hey, your ajax request finished !!");101 }, 2000);102 });...
bob.spec.js
Source:bob.spec.js
1var Bob = require("./bob.js")2describe("Bob", function() {3 var bob = new Bob()4 it("stating something", function() {5 var result = bob.hey("Tom-ay-to, tom-aaaah-to.")6 expect(result).toEqual("Whatever.")7 })8 it("shouting", function() {9 var result = bob.hey("WATCH OUT!")10 expect(result).toEqual("Whoa, chill out!")11 })12 it("shouting gibberish", function() {13 var result = bob.hey("FCECDFCAAB")14 expect(result).toEqual("Whoa, chill out!")15 })16 it("asking a question", function() {17 var result = bob.hey("Does this cryogenic chamber make me look fat?")18 expect(result).toEqual("Sure.")19 })20 it("asking a numeric question", function() {21 var result = bob.hey("You are, what, like 15?")22 expect(result).toEqual("Sure.")23 })24 it("asking gibberish", function() {25 var result = bob.hey("fffbbcbeab?")26 expect(result).toEqual("Sure.")27 })28 it("talking forcefully", function() {29 var result = bob.hey("Let's go make out behind the gym!")30 expect(result).toEqual("Whatever.")31 })32 it("using acronyms in regular speech", function() {33 var result = bob.hey("It's OK if you don't want to go to the DMV.")34 expect(result).toEqual("Whatever.")35 })36 it("forceful questions", function() {37 var result = bob.hey("WHAT THE HELL WERE YOU THINKING?")38 expect(result).toEqual("Calm down, I know what I'm doing!")39 })40 it("shouting numbers", function() {41 var result = bob.hey("1, 2, 3 GO!")42 expect(result).toEqual("Whoa, chill out!")43 })44 it("only numbers", function() {45 var result = bob.hey("1, 2, 3")46 expect(result).toEqual("Whatever.")47 })48 it("question with only numbers", function() {49 var result = bob.hey("4?")50 expect(result).toEqual("Sure.")51 })52 it("shouting with special characters", function() {53 var result = bob.hey("ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!")54 expect(result).toEqual("Whoa, chill out!")55 })56 it("shouting with no exclamation mark", function() {57 var result = bob.hey("I HATE YOU")58 expect(result).toEqual("Whoa, chill out!")59 })60 it("statement containing question mark", function() {61 var result = bob.hey("Ending with a ? means a question.")62 expect(result).toEqual("Whatever.")63 })64 it("prattling on", function() {65 var result = bob.hey("Wait! Hang on. Are you going to be OK?")66 expect(result).toEqual("Sure.")67 })68 it("silence", function() {69 var result = bob.hey("")70 expect(result).toEqual("Fine. Be that way!")71 })72 it("prolonged silence", function() {73 var result = bob.hey(" ")74 expect(result).toEqual("Fine. Be that way!")75 })76 it("alternate silence", function() {77 var result = bob.hey("\t\t\t\t\t\t\t\t\t\t")78 expect(result).toEqual("Fine. Be that way!")79 })80 it("multiple line question", function() {81 var result = bob.hey("\nDoes this cryogenic chamber make me look fat?\nno")82 expect(result).toEqual("Whatever.")83 })84 it("starting with whitespace", function() {85 var result = bob.hey(" hmmmmmmm...")86 expect(result).toEqual("Whatever.")87 })88 it("ending with whitespace", function() {89 var result = bob.hey("Okay if like my spacebar quite a bit? ")90 expect(result).toEqual("Sure.")91 })92 it("other whitespace", function() {93 var result = bob.hey("\n\r \t")94 expect(result).toEqual("Fine. Be that way!")95 })96 it("non-question ending with whitespace", function() {97 var result = bob.hey("This is a statement ending with whitespace ")98 expect(result).toEqual("Whatever.")99 })...
hey-there.js
Source:hey-there.js
1import * as React from 'react';2import * as heyThereStyles from './hey-there.module.scss';3import {HeyThereQuery} from "../../../assets/hey-there-query";4import * as serviceStyles from "../service-list.module.scss";5const HeyThere = (props) => {6 const {7 wpPage: {8 heyThere: {9 heyThereTitle,10 heyThereCopy,11 heyThereBackgroundColor,12 heyThereSignature,13 heyThereJobTitle,14 heyThereImage: {15 sourceUrl16 },17 heyThereGraphicOne,18 heyThereGraphicTwo,19 heyThereSecondServiceGraphic20 }21 }22 } = HeyThereQuery();23 const image1 = heyThereGraphicOne ? <div className={heyThereStyles.imageContainer}><img src={heyThereGraphicOne.sourceUrl} alt=""/></div> : null;24 const image2 = heyThereGraphicTwo ? <div className={heyThereStyles.imageContainer}><img src={heyThereGraphicTwo.sourceUrl} alt=""/></div> : null;25 const secondServiceImage = heyThereSecondServiceGraphic ? <div className={heyThereStyles.secondServiceGraphic}><img src={heyThereSecondServiceGraphic.sourceUrl} alt=""/></div> : null;26 const subCopyStyle = {27 textAlign: 'center',28 fontSize: '26px',29 fontWeight: 600,30 fontStyle: 'italic',31 color:' rgb(102, 75, 43)'32 }33 let content;34 if(props.isService) {35 content = (36 <>37 <div id={props.anchor} className={heyThereStyles.heyThereContainer} style={{backgroundColor: heyThereBackgroundColor}}>38 <div className={heyThereStyles.heyThereContent}>39 <div>40 <h2 style={{color: '#9b7963', textAlign: 'center'}}>{props.serviceTitle}</h2>41 <p style={subCopyStyle}>{props.serviceTitleSubcopy}</p>42 <div className={serviceStyles.serviceList} dangerouslySetInnerHTML={{__html: props.serviceContent}}/>43 {props.servicesPartnership ? (<div style={{textAlign: 'center'}} dangerouslySetInnerHTML={{__html: props.servicesPartnership}}/>) : null}44 </div>45 </div>46 {props.secondService ? null : image1}47 {props.secondService ? secondServiceImage : image2}48 </div>49 </>50 )51 } else {52 content = (53 <div id={'about'} className={heyThereStyles.heyThereContainer} style={{backgroundColor: heyThereBackgroundColor}}>54 <div className={heyThereStyles.heyThereContent}>55 <div style={{padding: '0 30px'}}>56 <img src={sourceUrl} alt=""/>57 </div>58 <div>59 <h2 style={{color: '#9b7963'}}>{heyThereTitle}</h2>60 <div dangerouslySetInnerHTML={{__html: heyThereCopy}}/>61 <p className={heyThereStyles.heyThereSignature}>{heyThereSignature}<br/><span>- {heyThereJobTitle}</span></p>62 </div>63 </div>64 {image1}65 {image2}66 </div>67 )68 }69 return (70 <>71 {content}72 </>73 )74}...
saga.test.js
Source:saga.test.js
1import WS from "jest-websocket-mock";2import makeStore from "../store";3import { actions } from "../store/reducer";4let ws, store;5beforeEach(async () => {6 ws = new WS("ws://localhost:8080");7 store = makeStore();8 await ws.connected;9 ws.send("Hello there");10});11afterEach(() => {12 WS.clean();13});14describe("The saga", () => {15 it("connects to the websocket server", () => {16 expect(store.getState().messages).toEqual([17 { side: "received", text: "Hello there" },18 ]);19 });20 it("stores new messages", () => {21 ws.send("how you doin?");22 expect(store.getState().messages).toEqual([23 { side: "received", text: "Hello there" },24 { side: "received", text: "how you doin?" },25 ]);26 });27 it("stores new messages received shortly one after the other", () => {28 ws.send("hey");29 ws.send("hey?");30 ws.send("hey??");31 ws.send("hey???");32 expect(store.getState().messages).toEqual([33 { side: "received", text: "Hello there" },34 { side: "received", text: "hey" },35 { side: "received", text: "hey?" },36 { side: "received", text: "hey??" },37 { side: "received", text: "hey???" },38 ]);39 });40 it("sends messages", async () => {41 store.dispatch(actions.send("oh hi Mark"));42 await expect(ws).toReceiveMessage("oh hi Mark");43 expect(ws).toHaveReceivedMessages(["oh hi Mark"]);44 expect(store.getState().messages).toEqual([45 { side: "received", text: "Hello there" },46 { side: "sent", text: "oh hi Mark" },47 ]);48 });49 it("sends messages in a quick succession", async () => {50 store.dispatch(actions.send("hey"));51 store.dispatch(actions.send("hey?"));52 store.dispatch(actions.send("hey??"));53 store.dispatch(actions.send("hey???"));54 await expect(ws).toReceiveMessage("hey");55 await expect(ws).toReceiveMessage("hey?");56 await expect(ws).toReceiveMessage("hey??");57 await expect(ws).toReceiveMessage("hey???");58 expect(ws).toHaveReceivedMessages(["hey", "hey?", "hey??", "hey???"]);59 expect(store.getState().messages).toEqual([60 { side: "received", text: "Hello there" },61 { side: "sent", text: "hey" },62 { side: "sent", text: "hey?" },63 { side: "sent", text: "hey??" },64 { side: "sent", text: "hey???" },65 ]);66 });67 it("marks the connection as active when it successfully connects to the ws server", () => {68 expect(store.getState().connected).toBe(true);69 });70 it("marks the connection as inactive after a disconnect", async () => {71 ws.close();72 await ws.closed;73 expect(store.getState().connected).toBe(false);74 });75 it("marks the connection as inactive after a connection error", async () => {76 ws.error();77 await ws.closed;78 expect(store.getState().connected).toBe(false);79 });80 it("reconnects after losing the ws connection", async () => {81 // We cannot use jest.useFakeTimers because mock-socket has to work around timing issues82 jest.spyOn(window, "setTimeout");83 ws.error();84 await ws.closed;85 expect(store.getState().connected).toBe(false);86 // Trigger our delayed reconnection87 window.setTimeout.mock.calls.forEach(([cb, , ...args]) => cb(...args));88 await ws.connected; // reconnected!89 expect(store.getState().connected).toBe(true);90 window.setTimeout.mockRestore();91 });...
templateStrings.js
Source:templateStrings.js
1// |reftest| skip-if(!xulRuntime.shell)2function test() {3// template strings4assertStringExpr("`hey there`", literal("hey there"));5assertStringExpr("`hey\nthere`", literal("hey\nthere"));6assertExpr("`hey${\"there\"}`", templateLit([lit("hey"), lit("there"), lit("")]));7assertExpr("`hey${\"there\"}mine`", templateLit([lit("hey"), lit("there"), lit("mine")]));8assertExpr("`hey${a == 5}mine`", templateLit([lit("hey"), binExpr("==", ident("a"), lit(5)), lit("mine")]));9assertExpr("func`hey\\x`", taggedTemplate(ident("func"), template(["hey\\x"], [void 0])));10assertExpr("func`hey${4}\\x`", taggedTemplate(ident("func"), template(["hey","\\x"], ["hey",void 0], lit(4))));11assertExpr("`hey${`there${\"how\"}`}mine`", templateLit([lit("hey"),12 templateLit([lit("there"), lit("how"), lit("")]), lit("mine")]));13assertExpr("func`hey`", taggedTemplate(ident("func"), template(["hey"], ["hey"])));14assertExpr("func`hey${\"4\"}there`", taggedTemplate(ident("func"),15 template(["hey", "there"], ["hey", "there"], lit("4"))));16assertExpr("func`hey${\"4\"}there${5}`", taggedTemplate(ident("func"),17 template(["hey", "there", ""], ["hey", "there", ""],18 lit("4"), lit(5))));19assertExpr("func`hey\r\n`", taggedTemplate(ident("func"), template(["hey\n"], ["hey\n"])));20assertExpr("func`hey${4}``${5}there``mine`",21 taggedTemplate(taggedTemplate(taggedTemplate(22 ident("func"), template(["hey", ""], ["hey", ""], lit(4))),23 template(["", "there"], ["", "there"], lit(5))),24 template(["mine"], ["mine"])));25// multi-line template string - line numbers26var node = Reflect.parse("`\n\n ${2}\n\n\n`");27Pattern({loc:{start:{line:1, column:0}, end:{line:6, column:1}, source:null}, type:"Program",28body:[{loc:{start:{line:1, column:0}, end:{line:6, column:1}, source:null},29type:"ExpressionStatement", expression:{loc:{start:{line:1, column:0}, end:{line:6, column:1},30source:null}, type:"TemplateLiteral", elements:[{loc:{start:{line:1, column:0}, end:{line:3,31column:5}, source:null}, type:"Literal", value:"\n\n "}, {loc:{start:{line:3, column:5},32end:{line:3, column:6}, source:null}, type:"Literal", value:2}, {loc:{start:{line:3, column:6},33end:{line:6, column:1}, source:null}, type:"Literal", value:"\n\n\n"}]}}]}).match(node);34assertStringExpr("\"hey there\"", literal("hey there"));35}...
Child.js
Source:Child.js
1import React from "react"2const Child = ({ person, name, lastName }) => {3 // console.log("synchronous hey")4 // console.log("synchronous hey")5 // console.log("synchronous hey")6 // console.log("synchronous hey")7 new Promise(() => {console.log("first hey")})8 .then(() => {9 console.log("second hey")10 return "third hey, but from second promise"11 })12 .then((hey) => console.log(hey))13 // console.log("synchronous hey")14 // console.log("synchronous hey")15 // console.log("synchronous hey")16 // console.log("synchronous hey")17 // console.log("synchronous hey")18 // console.log("synchronous hey")19 return (20 <div>21 {person}22 {name}23 {lastName}24 </div>25 )26}...
Using AI Code Generation
1const hey = require('unexpected');2const assert = require('chai').assert;3const expect = require('chai').expect;4const should = require('chai').should();5const expectt = require('chai').expect;6const shouldd = require('chai').should();7const expecttt = require('chai').expect;8const shoulddd = require('chai').should();9const expectttt = require('chai').expect;10const shouldddd = require('chai').should();11const expecttttt = require('chai').expect;12const shoulddddd = require('chai').should();13const expectttttt = require('chai').expect;14const shouldddddd = require('chai').should();15const expecttttttt = require('chai').expect;16const shoulddddddd = require('chai').should();17const expectttttttt = require('chai').expect;18const shouldddddddd = require('chai').should();19const expecttttttttt = require('chai').expect;20const shoulddddddddd = require('chai').should();21const expectttttttttt = require('chai').expect;22const shouldddddddddd = require('chai').should();23const expecttttttttttt = require('chai').expect;24const shoulddddddddddd = require('chai').should();25const expectttttttttttt = require('chai').expect;
Using AI Code Generation
1const { hey } = require('../src/index');2const { expect } = require('unexpected');3describe('hey', () => {4 it('should return hello world', () => {5 expect(hey(), 'to equal', 'Hello World');6 });7});
Using AI Code Generation
1const expect = require('unexpected')2 .clone()3 .use(require('unexpected-sinon'));4const sinon = require('sinon');5const test = require('tape');6test('test', t => {7 const spy = sinon.spy();8 spy('hey');9 expect(spy, 'was called with', 'hey');10 t.end();11});12const expect = require('unexpected')13 .clone()14 .use(require('unexpected-sinon'));15const sinon = require('sinon');16const test = require('tape');17test('test', t => {18 const spy = sinon.spy();19 spy('hey');20 expect(spy, 'was called with', 'hey');21 t.end();22});23const expect = require('unexpected')24 .clone()25 .use(require('unexpected-sinon'));26const sinon = require('sinon');27const test = require('tape');28test('test', t => {29 const spy = sinon.spy();30 spy('hey');31 expect(spy, 'was called with', 'hey');32 t.end();33});34const expect = require('unexpected')35 .clone()36 .use(require('unexpected-sinon'));37const sinon = require('sinon');38const test = require('tape');39test('test', t => {40 const spy = sinon.spy();41 spy('hey');42 expect(spy, 'was called with', 'hey');43 t.end();44});45const expect = require('unexpected')46 .clone()47 .use(require('unexpected-sinon'));48const sinon = require('sinon');49const test = require('tape');50test('test', t => {51 const spy = sinon.spy();52 spy('hey');53 expect(spy, 'was called with', 'hey');54 t.end();55});56const expect = require('unexpected')57 .clone()58 .use(require('unexpected-sinon'));59const sinon = require('sinon');60const test = require('tape');61test('test', t => {62 const spy = sinon.spy();63 spy('hey');64 expect(spy, 'was called with', 'hey');65 t.end();66});
Using AI Code Generation
1var hey = require('unexpected').clone().use(require('unexpected-hey'));2hey('world', 'hey', 'hello world');3hey('world', 'toHey', 'hello world');4### hey.addAssertion([String|Array] assertionName, [String] flags, [Function] handler)5### hey.addAssertion([String|Array] assertionName, [Function] handler)6### hey.addType([String|Array] typeName, [Function] identify, [Function] inspect)
Using AI Code Generation
1const { hey } = require('unexpected');2console.log(hey('world'));3hey('world');4hey('world');5hey('world');6hey('world');7const { hey } = require('unexpected');8console.log(hey('world'));9hey('world');10hey('world');11hey('world');12hey('world');13const { hey } = require('unexpected');14console.log(hey('world'));15hey('world');16{17}
Using AI Code Generation
1var expect = require('unexpected');2var hey = require('hey');3expect(hey('world'), 'to be', 'hello world');4var hey = require('hey');5var expect = require('unexpected');6expect(hey('world'), 'to be', 'hello world');7var hey = require('hey');8var expect = require('unexpected');9expect(hey('world'), 'to be', 'hello world');10var hey = require('hey');11var expect = require('unexpected');12expect(hey('world'), 'to be', 'hello world');13var hey = require('hey');14var expect = require('unexpected');15expect(hey('world'), 'to be', 'hello world');16var hey = require('hey');17var expect = require('unexpected');18expect(hey('world'), 'to be', 'hello world');19var hey = require('hey');20var expect = require('unexpected');21expect(hey('world'), 'to be', 'hello world');22var hey = require('hey');23var expect = require('unexpected');24expect(hey('world'), 'to be', 'hello world');25var hey = require('hey');26var expect = require('unexpected');27expect(hey('world'), 'to be', 'hello world');28var hey = require('hey');29var expect = require('unexpected');30expect(hey('world'), 'to be', 'hello world');31var hey = require('hey');32var expect = require('unexpected');33expect(hey('world'), 'to be', 'hello world');34var hey = require('hey');35var expect = require('unexpected');36expect(hey('world'), 'to be', 'hello world');37var hey = require('hey');38var expect = require('unexpected');39expect(hey('world'), 'to be', 'hello world');
Using AI Code Generation
1const hey = require('unexpected').hey;2const expect = require('unexpected').clone().use(require('unexpected-snapshot'));3const { exec } = require('child_process');4const fs = require('fs');5const path = require('path');6const hey = require('unexpected').hey;7const expect = require('unexpected').clone().use(require('unexpected-snapshot'));8const { exec } = require('child_process');9const fs = require('fs');10const path = require('path');11const hey = require('unexpected').hey;12const expect = require('unexpected').clone().use(require('unexpected-snapshot'));13const { exec } = require('child_process');14const fs = require('fs');15const path = require('path');16const hey = require('unexpected').hey;17const expect = require('unexpected').clone().use(require('unexpected-snapshot'));18const { exec } = require('child_process');19const fs = require('fs');20const path = require('path');21const hey = require('unexpected').hey;22const expect = require('unexpected').clone().use(require('unexpected-snapshot'));23const { exec } = require('child_process');24const fs = require('fs');25const path = require('path');26const hey = require('unexpected').hey;27const expect = require('unexpected').clone().use(require('unexpected-snapshot'));28const { exec } = require('child_process');29const fs = require('fs');30const path = require('path');31const hey = require('unexpected').hey;32const expect = require('unexpected').clone().use(require('unexpected-snapshot'));33const { exec } = require('child_process');34const fs = require('fs');35const path = require('path');36const hey = require('unexpected').hey;37const expect = require('unexpected').clone().use(require
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!!