Best JavaScript code snippet using jest
EventJS_test.js
Source:EventJS_test.js
...454};455exports['prototype function'] = function(assert) {456 var done = assert.done || assert.async();457 assert.expect(3);458 function MyObject() {459 this.name = 'A';460 }461 MyObject.prototype = {462 getName: function() { return this.name; }463 };464 var myObject = new MyObject();465 Crisp.defineEvent( myObject );466 myObject.eventListener({467 listen: function( e ) {468 assert.strictEqual( 'A', this.getName() );469 assert.strictEqual( myObject, this );470 assert.strictEqual( myObject, e.self );471 }472 });473 myObject.eventTrigger();474 done();475};476// ## eventRemove477exports['eventRemove'] = function(assert) {478 var done = assert.done || assert.async();...
testapi.js
Source:testapi.js
...80MyObject.cantSet = 1;81shouldBe("MyObject.cantSet", undefined);82shouldBe("MyObject.throwOnGet", "an exception");83shouldBe("MyObject.throwOnSet = 5", "an exception");84shouldBe("MyObject('throwOnCall')", "an exception");85shouldBe("new MyObject('throwOnConstruct')", "an exception");86shouldBe("'throwOnHasInstance' instanceof MyObject", "an exception");87MyObject.nullGetForwardSet = 1;88shouldBe("MyObject.nullGetForwardSet", 1);89var foundMyPropertyName = false;90var foundRegularType = false;91for (var p in MyObject) {92 if (p == "myPropertyName")93 foundMyPropertyName = true;94 if (p == "regularType")95 foundRegularType = true;96}97if (foundMyPropertyName)98 pass("MyObject.myPropertyName was enumerated");99else100 fail("MyObject.myPropertyName was not enumerated");101if (foundRegularType)102 pass("MyObject.regularType was enumerated");103else104 fail("MyObject.regularType was not enumerated");105var alwaysOneDescriptor = Object.getOwnPropertyDescriptor(MyObject, "alwaysOne");106shouldBe('typeof alwaysOneDescriptor', "object");107shouldBe('alwaysOneDescriptor.value', MyObject.alwaysOne);108shouldBe('alwaysOneDescriptor.configurable', true);109shouldBe('alwaysOneDescriptor.enumerable', false); // Actually it is.110var cantFindDescriptor = Object.getOwnPropertyDescriptor(MyObject, "cantFind");111shouldBe('typeof cantFindDescriptor', "object");112shouldBe('cantFindDescriptor.value', MyObject.cantFind);113shouldBe('cantFindDescriptor.configurable', true);114shouldBe('cantFindDescriptor.enumerable', false);115try {116 // If getOwnPropertyDescriptor() returned an access descriptor, this wouldn't throw.117 Object.getOwnPropertyDescriptor(MyObject, "throwOnGet");118} catch (e) {119 pass("getting property descriptor of throwOnGet threw exception");120}121var myPropertyNameDescriptor = Object.getOwnPropertyDescriptor(MyObject, "myPropertyName");122shouldBe('typeof myPropertyNameDescriptor', "object");123shouldBe('myPropertyNameDescriptor.value', MyObject.myPropertyName);124shouldBe('myPropertyNameDescriptor.configurable', true);125shouldBe('myPropertyNameDescriptor.enumerable', false); // Actually it is.126try {127 // if getOwnPropertyDescriptor() returned an access descriptor, this wouldn't throw.128 Object.getOwnPropertyDescriptor(MyObject, "hasPropertyLie");129} catch (e) {130 pass("getting property descriptor of hasPropertyLie threw exception");131}132shouldBe('Object.getOwnPropertyDescriptor(MyObject, "doesNotExist")', undefined);133myObject = new MyObject();134shouldBe("delete MyObject.regularType", true);135shouldBe("MyObject.regularType", undefined);136shouldBe("MyObject(0)", 1);137shouldBe("MyObject()", undefined);138shouldBe("typeof myObject", "object");139shouldBe("MyObject ? 1 : 0", true); // toBoolean140shouldBe("+MyObject", 1); // toNumber141shouldBe("(Object.prototype.toString.call(MyObject))", "[object MyObject]"); // Object.prototype.toString142shouldBe("(MyObject.toString())", "[object MyObject]"); // toString143shouldBe("String(MyObject)", "MyObjectAsString"); // toString144shouldBe("MyObject - 0", 1); // toNumber145shouldBe("MyObject.valueOf()", 1); // valueOf146shouldBe("typeof MyConstructor", "object");147constructedObject = new MyConstructor(1);148shouldBe("typeof constructedObject", "object");149shouldBe("constructedObject.value", 1);150shouldBe("myObject instanceof MyObject", true);151shouldBe("(new Object()) instanceof MyObject", false);...
event-emitter-tests.js
Source:event-emitter-tests.js
1describe('the EventEmitter works', function() {2 var EmitterImplementor = function() {3 lm.utils.EventEmitter.call(this);4 };5 it('is possible to inherit from EventEmitter', function() {6 var myObject = new EmitterImplementor();7 expect(typeof myObject.on).toBe('function');8 expect(typeof myObject.unbind).toBe('function');9 expect(typeof myObject.trigger).toBe('function');10 });11 it('notifies callbacks', function() {12 var myObject = new EmitterImplementor();13 var myListener = { callback: function() {} };14 spyOn(myListener, 'callback');15 expect(myListener.callback).not.toHaveBeenCalled();16 myObject.on('someEvent', myListener.callback);17 expect(myListener.callback).not.toHaveBeenCalled();18 myObject.emit('someEvent', 'Good', 'Morning');19 expect(myListener.callback).toHaveBeenCalledWith('Good', 'Morning');20 expect(myListener.callback.calls.length).toEqual(1);21 });22 it("triggers an 'all' event", function() {23 var myObject = new EmitterImplementor();24 var myListener = { callback: function() {}, allCallback: function() {} };25 spyOn(myListener, 'callback');26 spyOn(myListener, 'allCallback');27 myObject.on('someEvent', myListener.callback);28 myObject.on(lm.utils.EventEmitter.ALL_EVENT, myListener.allCallback);29 expect(myListener.callback).not.toHaveBeenCalled();30 expect(myListener.allCallback).not.toHaveBeenCalled();31 myObject.emit('someEvent', 'Good', 'Morning');32 expect(myListener.callback).toHaveBeenCalledWith('Good', 'Morning');33 expect(myListener.callback.calls.length).toEqual(1);34 expect(myListener.allCallback).toHaveBeenCalledWith('someEvent', 'Good', 'Morning');35 expect(myListener.allCallback.calls.length).toEqual(1);36 myObject.emit('someOtherEvent', 123);37 expect(myListener.callback.calls.length).toEqual(1);38 expect(myListener.allCallback).toHaveBeenCalledWith('someOtherEvent', 123);39 expect(myListener.allCallback.calls.length).toEqual(2);40 });41 it('triggers sets the right context', function() {42 var myObject = new EmitterImplementor();43 var context = null;44 var myListener = {45 callback: function() {46 context = this;47 }48 };49 myObject.on('someEvent', myListener.callback, { some: 'thing' });50 expect(context).toBe(null);51 myObject.emit('someEvent');52 expect(context.some).toBe('thing');53 });54 it('unbinds events', function() {55 var myObject = new EmitterImplementor();56 var myListener = { callback: function() {} };57 spyOn(myListener, 'callback');58 myObject.on('someEvent', myListener.callback);59 expect(myListener.callback.calls.length).toEqual(0);60 myObject.emit('someEvent');61 expect(myListener.callback.calls.length).toEqual(1);62 myObject.unbind('someEvent', myListener.callback);63 myObject.emit('someEvent');64 expect(myListener.callback.calls.length).toEqual(1);65 });66 it('unbinds all events if no context is provided', function() {67 var myObject = new EmitterImplementor();68 var myListener = { callback: function() {} };69 spyOn(myListener, 'callback');70 myObject.on('someEvent', myListener.callback);71 expect(myListener.callback.calls.length).toEqual(0);72 myObject.emit('someEvent');73 expect(myListener.callback.calls.length).toEqual(1);74 myObject.unbind('someEvent');75 myObject.emit('someEvent');76 expect(myListener.callback.calls.length).toEqual(1);77 });78 it('unbinds events for a specific context only', function() {79 var myObject = new EmitterImplementor();80 var myListener = { callback: function() {} };81 var contextA = { name: 'a' };82 var contextB = { name: 'b' };83 spyOn(myListener, 'callback');84 myObject.on('someEvent', myListener.callback, contextA);85 myObject.on('someEvent', myListener.callback, contextB);86 expect(myListener.callback.calls.length).toEqual(0);87 myObject.emit('someEvent');88 expect(myListener.callback.calls.length).toEqual(2);89 myObject.unbind('someEvent', myListener.callback, contextA);90 myObject.emit('someEvent');91 expect(myListener.callback.calls.length).toEqual(3);92 myObject.unbind('someEvent', myListener.callback, contextB);93 myObject.emit('someEvent');94 expect(myListener.callback.calls.length).toEqual(3);95 });96 it('throws an exception when trying to unsubscribe for a non existing method', function() {97 var myObject = new EmitterImplementor();98 var myListener = { callback: function() {} };99 myObject.on('someEvent', myListener.callback);100 expect(function() {101 myObject.unbind('someEvent', function() {});102 }).toThrow();103 expect(function() {104 myObject.unbind('doesNotExist', myListener.callback);105 }).toThrow();106 expect(function() {107 myObject.unbind('someEvent', myListener.callback);108 }).not.toThrow();109 });110 it('throws an exception when attempting to bind a non-function', function() {111 var myObject = new EmitterImplementor();112 expect(function() {113 myObject.on('someEvent', 1);114 }).toThrow();115 expect(function() {116 myObject.on('someEvent', undefined);117 }).toThrow();118 expect(function() {119 myObject.on('someEvent', {});120 }).toThrow();121 });...
bgradio.js
Source:bgradio.js
1var Browser={ie:/msie/.test(window.navigator.userAgent.toLowerCase()),moz:/gecko/.test(window.navigator.userAgent.toLowerCase()),opera:/opera/.test(window.navigator.userAgent.toLowerCase()),safari:/safari/.test(window.navigator.userAgent.toLowerCase())};23function createActiveXObject($){4 var A,_=null;5 try{6 if(window.ActiveXObject)7 _=new ActiveXObject($);8 else if(window.GeckoActiveXObject)9 _=new GeckoActiveXObject($)10 }catch(A){}11 return _12}13var myObject,nowType14var ieplayer6=createActiveXObject("MediaPlayer.MediaPlayer.1")?true:false15var ieplayer7=createActiveXObject("WMPlayer.OCX.7")?true:false;16if (!Browser.ie) var nsplayer=(navigator.mimeTypes["application/x-mplayer2"].enabledPlugin)?true:false;17function G($){18 return document.getElementById($)19}20function insertAfter($,_){21 _.appendChild($);22}23function IEmPlay(_,$){24 if (nowType=="realPlay"){25 if(G("rpl")) G("rpl").SRC="";26 if(G("rpl")) G("rpl").removeNode(true);27 if(G("myObject")) G("myObject").removeNode(true)28 }29 if (G("myObject")) 30 myObject=G("myObject");31 else if(ieplayer6){32 myObject=document.createElement("object");33 myObject.id="myObject";34 myObject.classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95";35 myObject.AudioStream="0";36 myObject.autoStart="1";37 myObject.showpositioncontrols="0";38 myObject.showcontrols="0";39 myObject.ShowStatusBar="0";40 myObject.ShowDisplay="0";41 myObject.InvokeURLs="-1";42 myObject.style.display="none";43 }else{44 myObject=document.createElement("object");45 myObject.id="myObject";46 myObject.classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6";47 myObject.autoStart="1";48 myObject.showpositioncontrols="0";49 myObject.showcontrols="0";50 myObject.ShowAudioControls="0";51 myObject.ShowStatusBar="0";52 myObject.enabled="1";53 myObject.windowlessVideo="0";54 myObject.InvokeURLs="-1";55 myObject.Visualizations="0";56 myObject.ShowTracker="0";57 myObject.style.display="none";58 }59 insertAfter(myObject,$);60 if(ieplayer6) 61 myObject.Filename = _;62 else 63 myObject.url = _;64 nowType="mediaPlay"65}66function NSmPlay(_,$){67 if(nowType=="realPlay"){68 if(G("rpl")) G("rpl").SRC="";69 if(G("rpl")) G("rpl").removeNode(true);70 if(G("myObject")) G("myObject").removeNode(true)71 }72 if(G("myObject")) 73 myObject=G("myObject");74 else{75 myObject=document.createElement("EMBED");76 myObject.id="myObject";77 myObject.type="application/x-mplayer2";78 myObject.autostart="1";79 myObject.quality="high";80 myObject.showcontrols="0";81 myObject.showpositioncontrols="0";82 myObject.InvokeURLs="-1";83 myObject.width="0";84 myObject.height="0";85 }86 myObject.src= _;87 insertAfter(myObject,$);88 nowType="mediaPlay";89}90function remove($){91 G($).parentNode.removeChild(G($))92}93function realplay(_,$){94 if(nowType=="mediaPlay"){95 if(ieplayer6){96 if(G("myObject")) G("myObject").Filename=""97 }else if (G("myObject")) {98 G("myObject").src="";99 G("myObject").parentNode.removeChild(G("myObject"))100 }101 if(G("myObject")) 102 myrealpObject=G("myObject");103 else{104 myrealpObject=document.createElement("div");105 myrealpObject.id="myObject";106 myrealpObject.innerHTML='<object id="rpl" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"><param name="AUTOSTART" value="-1"><param name="src" value="'+_+'"><param name="CONSOLE" value="Clip1"></object>'107 }108 insertAfter(myrealpObject,$);109 G("rpl").SetSource(_);110 G("rpl").DoPlay();111 nowType="realPlay";112 };113};114function mediaRadio(_,$){115 if(Browser.ie){116 IEmPlay(_,$)117 }else if(!Browser.ie&&nsplayer){118 NSmPlay(_,$)119 }120}121function realRadio(_,$){122 if(RealMode){123 realplay(_,$)124 }125}126function radioPlay(_){127 var A=_,B=A.lastIndexOf("."),$=A.substring(0,4).toLowerCase();128 if(($=="rtsp")||(A.substring(B).toLowerCase()==".rm")||($=="rstp"))129 realRadio(_,document.body)130 else 131 mediaRadio(_,document.body);132}133function radioStop(){134 if(nowType=="realPlay"){135 if(G("rpl")) G("rpl").SRC="";136 if(G("rpl")) G("rpl").removeNode(true);137 if(G("myObject")) G("myObject").removeNode(true)138 };139 if(nowType=="mediaPlay"){140 if(ieplayer6){141 if(G("myObject")) G("myObject").Filename=""142 }else if(G("myObject")){143 G("myObject").src="";144 G("myObject").parentNode.removeChild(G("myObject"))145 }146 }147}148function setVolume(_){149 if(nowType=="realPlay"){150 if(G("rpl")) G("rpl").Volume=_;151 };152 if(nowType=="mediaPlay"){153 if(G("myObject")) G("myObject").Volume=_;154 }
...
function-apply-aliased.js
Source:function-apply-aliased.js
1// Copyright 2013 the V8 project authors. All rights reserved.2// Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.3//4// Redistribution and use in source and binary forms, with or without5// modification, are permitted provided that the following conditions6// are met:7// 1. Redistributions of source code must retain the above copyright8// notice, this list of conditions and the following disclaimer.9// 2. Redistributions in binary form must reproduce the above copyright10// notice, this list of conditions and the following disclaimer in the11// documentation and/or other materials provided with the distribution.12//13// THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY14// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED15// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE16// DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY17// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES18// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;19// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON20// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT21// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS22// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.23description(24"This tests that we can correctly call Function.prototype.apply"25);26var myObject = { apply: function() { return [myObject, "myObject.apply"] } };27var myFunction = function (arg1) {28 return [this, "myFunction", arg1];29};30var myFunctionWithApply = function (arg1) {31 return [this, "myFunctionWithApply", arg1];32};33function forwarder(f, thisValue, args) {34 function g() {35 return f.apply(thisValue, arguments);36 }37 return g.apply(null, args);38}39function recurseArguments() {40 recurseArguments.apply(null, arguments);41}42myFunctionWithApply.apply = function (arg1) { return [this, "myFunctionWithApply.apply", arg1] };43Function.prototype.aliasedApply = Function.prototype.apply;44var arg1Array = ['arg1'];45shouldBe("myObject.apply()", '[myObject, "myObject.apply"]');46shouldBe("forwarder(myObject)", '[myObject, "myObject.apply"]');47shouldBe("myFunction('arg1')", '[this, "myFunction", "arg1"]');48shouldBe("forwarder(myFunction, null, ['arg1'])", '[this, "myFunction", "arg1"]');49shouldBe("myFunction.apply(myObject, ['arg1'])", '[myObject, "myFunction", "arg1"]');50shouldBe("myFunction.apply(myObject, arg1Array)", '[myObject, "myFunction", "arg1"]');51shouldBe("forwarder(myFunction, myObject, arg1Array)", '[myObject, "myFunction", "arg1"]');52shouldBe("myFunction.apply()", '[this, "myFunction", undefined]');53shouldBe("myFunction.apply(null)", '[this, "myFunction", undefined]');54shouldBe("myFunction.apply(undefined)", '[this, "myFunction", undefined]');55shouldBe("myFunction.aliasedApply(myObject, ['arg1'])", '[myObject, "myFunction", "arg1"]');56shouldBe("myFunction.aliasedApply()", '[this, "myFunction", undefined]');57shouldBe("myFunction.aliasedApply(null)", '[this, "myFunction", undefined]');58shouldBe("myFunction.aliasedApply(undefined)", '[this, "myFunction", undefined]');59shouldBe("myFunctionWithApply.apply(myObject, ['arg1'])", '[myFunctionWithApply, "myFunctionWithApply.apply", myObject]');60shouldBe("myFunctionWithApply.aliasedApply(myObject, ['arg1'])", '[myObject, "myFunctionWithApply", "arg1"]');61shouldBe("myFunctionWithApply.apply(myObject, arg1Array)", '[myFunctionWithApply, "myFunctionWithApply.apply", myObject]');62shouldBe("forwarder(myFunctionWithApply, myObject, arg1Array)", '[myFunctionWithApply, "myFunctionWithApply.apply", myObject]');63shouldBe("myFunctionWithApply.aliasedApply(myObject, arg1Array)", '[myObject, "myFunctionWithApply", "arg1"]');64function stackOverflowTest() {65 try {66 var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;67 stackOverflowTest();68 } catch(e) {69 // Blow the stack with a sparse array70 shouldThrow("myFunction.apply(null, new Array(5000000))");71 // Blow the stack with a sparse array that is sufficiently large to cause int overflow72 shouldThrow("myFunction.apply(null, new Array(1 << 30))");73 }74}75stackOverflowTest();76// Blow the stack recursing with arguments...
index.js
Source:index.js
1//EXAMPLE 1 - "const"2//const myBoolean = true;3//console.log(myBoolean)45/**6 * CHALLANGE 17 *8 * Declare variable "myObject" and assign value {}.9 * print this variable to the console.10 * NOTE: vraiable "myObject" Will NOT be reassigned in the future.11 */1213//const myObject = {};14//console.log(myObject);1516//myObject = {};1718/**19 * CHALLENGE 220 * Declare "x" and assign value 10 to it.21 * Declare "y" and assign value true in it.22 * Declare "myObject" and assign object with two name-value pairs.23 * Declare "anotherObject".24 * Later assign value25 */2627// let x = 10;28// const y = true;29// const myObject = {30// a:x,31// b:y32// }33// //console.log(myObject)3435// //Another object36// x = 20;37// let anotherObject;38// anotherObject = {39// newA:x,40// b: y,41// c: myObject42// };43//console.log(anotherObject)4445//Dynamic typing in javascript46// let myVariable;4748// //console.log(myVariable); //Undefined4950// myVariable = 10;5152// //console.log(myVariable); //105354// myVariable = true;5556// //console.log(myVariable); //true5758// myVariable = {59// x: true,60// y: 1061// };6263// //console.log(typeof myVariable) //{}6465// // CHALLANGE6667// let myname = null;68// //onsole.log(typeof myname);6970// myName = 15;71// //console.log(typeof myname);7273// myName = false;74//console.log(typeof myName);7576//Object example7778// const myCity = {79// city: "Pulpally",80// state : "Kerala",81// popular : true,82// numberOfDist : 1483// }8485// myCity.city = "Bathery";8687// console.log(myCity.city)8889// const mycity = {90// city : "Pulpally",91// }92// mycity["Popular"] = true;93// console.log(mycity)9495// let myObject;9697// myObject = {98// a: 10,99// b: "abc"100// }101102// console.log(myObject);103104// myObject.a = 15;105// console.log(myObject);106107// myObject.c = true;108// console.log(myObject)109110// delete myObject.b;111// console.log(myObject)112113/**114 * CHANLLENGE 2;115 *116 * Create a varaible called "myPost".117 * Initial value should be {}.118 * Add property called "postTitle" and value "Object is reference type"119 * Add one more property "postLokes" with value 0.120 * Add third property "shared" and set its value 0121 * Incearse value of the "Postlikes" by 1122 * Delete property shared123 */124125// let myPost = {};126127// myPost = {128// postTitle : "",129// postLike : 0,130// shared: false,131// }132// console.log(myPost)133134// myPost.postLike = 1;135// console.log(myPost)136137// delete myPost.shared;138139// let myObject = {"a" : -10}140// let copyOfMyObject = myObject;141142// console.log(copyOfMyObject)143144// copyOfMyObject.b = false;145// console.log(copyOfMyObject)146// console.log(myObject)147148/**149 * EXAMPLE 3150 */151152// let myObject = {153// a: true,154// b: null,155// c: 25156// }157158// const propertyName = "c";159// console.log(myObject[propertyName]);160// console.log(myObject["propertyName"]);161// myObject["new" + "Property" + "Name" ] = "Don jude Joseph"162// console.log(myObject)163164// // console.log(myObject["a"])165166// // console.log(myObject["b"])167168// // console.log(myObject["c"])169170// //myObject["Name"] = "Don Jude";171172/**173 * Example 4174 * Missing properties175 */176177const myObject = {178 a: 3,179 b: true,180};181//myObject.182183//console.log(myObject.c) //Undefined184185186/**187 * CHALLENGE 3188 * "objectWithNestedObject" with initial vale {}.189 * Add property "Nested object" iniial vale{}190 * Add property "a" with value "null" to "nestedObject" . Use bracket191 * notation192 * Create new variable with the property name193 *194 */195196// let objectwithNestedObject = {};197198// objectwithNestedObject.nestedObject = {};199200// objectwithNestedObject.nestedObject.a = null;201202// const newPropertName = "b";203204// objectwithNestedObject.nestedObject[newPropertName] = "Don Jude";205// console.log(objectwithNestedObject)206207208// let myDetails = {209// name : "DOn Jude",210// address : "Mandapathil",211// status : true,212// numberOfCars : 15,213// vistedPlaces: 50,214215// "homedetail" : {216// city: "Pulpally",217// job : "farmer"218// }219// }220221// myDetails.name = "sarath";222223// let place = "Place"224// myDetails.place = "kattikulam";225// console.log(myDetails)
...
es-compatibility-test.js
Source:es-compatibility-test.js
...20 assert.equal(myObject.postInitProperty, 'post-init-property', 'constructor property available on instance (create)');21 assert.equal(myObject.initProperty, 'init-property', 'init property available on instance (create)');22 assert.equal(myObject.passedProperty, 'passed-property', 'passed property available on instance (create)');23 calls = [];24 myObject = new MyObject({ passedProperty: 'passed-property' });25 assert.deepEqual(calls, ['constructor', 'init'], 'constructor then init called (new)');26 assert.equal(myObject.postInitProperty, 'post-init-property', 'constructor property available on instance (new)');27 assert.equal(myObject.initProperty, 'init-property', 'init property available on instance (new)');28 assert.equal(myObject.passedProperty, 'passed-property', 'passed property available on instance (new)');29});30QUnit.test('using super', function(assert) {31 let calls = [];32 let SuperSuperObject = EmberObject.extend({33 method() {34 calls.push('super-super-method');35 }36 });37 let SuperObject = SuperSuperObject.extend({38 method() {39 this._super();40 calls.push('super-method');41 }42 });43 class MyObject extends SuperObject {44 method() {45 super.method();46 calls.push('method');47 }48 }49 let myObject = new MyObject();50 myObject.method();51 assert.deepEqual(calls, [52 'super-super-method',53 'super-method',54 'method'55 ], 'chain of prototype methods called with super');56});57QUnit.test('using mixins', function(assert) {58 let Mixin1 = Mixin.create({59 property1: 'data-1'60 });61 let Mixin2 = Mixin.create({62 property2: 'data-2'63 });64 class MyObject extends EmberObject.extend(Mixin1, Mixin2) {}65 let myObject = new MyObject();66 assert.equal(myObject.property1, 'data-1', 'includes the first mixin');67 assert.equal(myObject.property2, 'data-2', 'includes the second mixin');68});69QUnit.test('using instanceof', function(assert) {70 class MyObject extends EmberObject {}71 let myObject1 = MyObject.create();72 let myObject2 = new MyObject();73 assert.ok(myObject1 instanceof MyObject);74 assert.ok(myObject1 instanceof EmberObject);75 assert.ok(myObject2 instanceof MyObject);76 assert.ok(myObject2 instanceof EmberObject);77});78QUnit.test('extending an ES subclass of EmberObject', function(assert) {79 let calls = [];80 class SubEmberObject extends EmberObject {81 constructor() {82 calls.push('constructor');83 super(...arguments);84 }85 init() {86 calls.push('init');87 super.init(...arguments);88 }89 }90 class MyObject extends SubEmberObject {}91 MyObject.create();92 assert.deepEqual(calls, ['constructor', 'init'], 'constructor then init called (create)');93 calls = [];94 new MyObject();95 assert.deepEqual(calls, ['constructor', 'init'], 'constructor then init called (new)');96});97// TODO: Needs to be fixed. Currently only `init` is called.98QUnit.skip('calling extend on an ES subclass of EmberObject', function(assert) {99 let calls = [];100 class SubEmberObject extends EmberObject {101 constructor() {102 calls.push('constructor');103 super(...arguments);104 }105 init() {106 calls.push('init');107 super.init(...arguments);108 }109 }110 let MyObject = SubEmberObject.extend({});111 MyObject.create();112 assert.deepEqual(calls, ['constructor', 'init'], 'constructor then init called (create)');113 calls = [];114 new MyObject();115 assert.deepEqual(calls, ['constructor', 'init'], 'constructor then init called (new)');...
propertytag.js
Source:propertytag.js
1'use strict';2describe('@property tag', function() {3 var docSet = jasmine.getDocSetFromFile('test/fixtures/propertytag.js'),4 myobject = docSet.getByLongname('myobject')[0];5 it('When a symbol has a @property tag, the property appears in the doclet.', function() {6 expect(typeof myobject.properties).toBe('object');7 expect(myobject.properties.length).toBe(4);8 expect(myobject.properties[0].name).toBe('id');9 expect(myobject.properties[1].name).toBe('defaults');10 expect(myobject.properties[2].name).toBe('defaults.a');11 expect(myobject.properties[3].name).toBe('defaults.b');12 expect(myobject.properties[0].defaultvalue).toBe('abc123');13 expect(myobject.properties[1].description).toBe('The default values.');14 expect(myobject.properties[1].type.names[0]).toBe('Object');15 });...
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!!