Best Python code snippet using tavern
construct-001.js
Source:construct-001.js
1/* ***** BEGIN LICENSE BLOCK *****2 *3 * Copyright (C) 1998 Netscape Communications Corporation.4 * Copyright (C) 2010 Apple Inc.5 *6 * This library is free software; you can redistribute it and/or7 * modify it under the terms of the GNU Library General Public8 * License as published by the Free Software Foundation; either9 * version 2 of the License, or (at your option) any later version.10 *11 * This library is distributed in the hope that it will be useful,12 * but WITHOUT ANY WARRANTY; without even the implied warranty of13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU14 * Library General Public License for more details.15 *16 * You should have received a copy of the GNU Library General Public License17 * along with this library; see the file COPYING.LIB. If not, write to18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,19 * Boston, MA 02110-1301, USA.20 *21 * ***** END LICENSE BLOCK ***** */22gTestfile = 'construct-001.js';23/**24 * Verify that specific constructors can be invoked.25 *26 *27 */28var SECTION = "Explicit Constructor Invokation";29var VERSION = "JS1_4";30var TITLE = "LiveConnect 3.0 JavaScript to Java Data Conversion";31startTest();32var DT = Packages.com.netscape.javascript.qa.liveconnect.DataTypeClass;33shouldBeWithErrorCheck(34 "new DT().PUB_INT_CONSTRUCTOR_ARG",35 "new DT().CONSTRUCTOR_ARG_NONE");36shouldBeWithErrorCheck(37 "new DT(5).PUB_INT_CONSTRUCTOR_ARG",38 "new DT(5).CONSTRUCTOR_ARG_DOUBLE");39shouldBeWithErrorCheck(40 "new DT(true).PUB_INT_CONSTRUCTOR_ARG",41 "new DT(true).CONSTRUCTOR_ARG_BOOLEAN");42// force type conversion43// convert boolean44shouldBeWithErrorCheck(45 'new DT["(boolean)"](true).PUB_INT_CONSTRUCTOR_ARG',46 'new DT("5").CONSTRUCTOR_ARG_BOOLEAN');47shouldBeWithErrorCheck(48 'new DT["(java.lang.Boolean)"](true).PUB_INT_CONSTRUCTOR_ARG',49 'new DT().CONSTRUCTOR_ARG_BOOLEAN_OBJECT');50shouldBeWithErrorCheck(51 'new DT["(java.lang.Object)"](true).PUB_INT_CONSTRUCTOR_ARG',52 'new DT("5").CONSTRUCTOR_ARG_OBJECT');53shouldBeWithErrorCheck(54 'new DT["(java.lang.String)"](true).PUB_INT_CONSTRUCTOR_ARG',55 'new DT().CONSTRUCTOR_ARG_STRING');56// convert number57shouldBeWithErrorCheck(58 'new DT["(double)"]("5").PUB_INT_CONSTRUCTOR_ARG',59 'new DT(5).CONSTRUCTOR_ARG_DOUBLE');60shouldBeWithErrorCheck(61 'new DT["(java.lang.Double)"](5).PUB_INT_CONSTRUCTOR_ARG',62 'new DT(5).CONSTRUCTOR_ARG_DOUBLE_OBJECT');63shouldBeWithErrorCheck(64 'new DT["(char)"](5).PUB_INT_CONSTRUCTOR_ARG',65 'new DT().CONSTRUCTOR_ARG_CHAR');66shouldBeWithErrorCheck(67 'new DT["(java.lang.Object)"](5).PUB_INT_CONSTRUCTOR_ARG',68 'new DT().CONSTRUCTOR_ARG_OBJECT');69shouldBeWithErrorCheck(70 'new DT["(java.lang.String)"](5).PUB_INT_CONSTRUCTOR_ARG',71 'new DT().CONSTRUCTOR_ARG_STRING');72// convert string73shouldBeWithErrorCheck(74 'new DT("5").PUB_INT_CONSTRUCTOR_ARG',75 'new DT("5").CONSTRUCTOR_ARG_STRING');76shouldBeWithErrorCheck(77 'new DT["(java.lang.String)"]("5").PUB_INT_CONSTRUCTOR_ARG',78 'new DT("5").CONSTRUCTOR_ARG_STRING');79shouldBeWithErrorCheck(80 'new DT["(char)"]("J").PUB_INT_CONSTRUCTOR_ARG',81 'new DT().CONSTRUCTOR_ARG_CHAR');82shouldBeWithErrorCheck(83 'new DT["(double)"]("5").PUB_INT_CONSTRUCTOR_ARG',84 'new DT("5").CONSTRUCTOR_ARG_DOUBLE');85shouldBeWithErrorCheck(86 'new DT["(java.lang.Object)"]("hello").PUB_INT_CONSTRUCTOR_ARG',87 'new DT("hello").CONSTRUCTOR_ARG_OBJECT');88// convert java object89shouldBeWithErrorCheck(90 'new DT["(java.lang.Object)"](new java.lang.String("hello")).PUB_INT_CONSTRUCTOR_ARG',91 'new DT().CONSTRUCTOR_ARG_OBJECT');92shouldBeWithErrorCheck(93 'new DT["(java.lang.Object)"](new java.lang.String("hello")).PUB_INT_CONSTRUCTOR_ARG',94 'new DT().CONSTRUCTOR_ARG_OBJECT');95shouldBeWithErrorCheck(96 'new DT["(double)"](new java.lang.Double(5)).PUB_INT_CONSTRUCTOR_ARG',97 'new DT().CONSTRUCTOR_ARG_DOUBLE');98shouldBeWithErrorCheck(99 'new DT["(char)"](new java.lang.Double(5)).PUB_INT_CONSTRUCTOR_ARG',100 'new DT().CONSTRUCTOR_ARG_CHAR');101shouldBeWithErrorCheck(102 'new DT["(java.lang.String)"](new java.lang.Double(5)).PUB_INT_CONSTRUCTOR_ARG',103 'new DT().CONSTRUCTOR_ARG_STRING');104shouldBeWithErrorCheck(105 'new DT["(java.lang.Double)"](new java.lang.Double(5)).PUB_INT_CONSTRUCTOR_ARG',106 new DT().CONSTRUCTOR_ARG_DOUBLE_OBJECT);107shouldBeWithErrorCheck(108 'new DT(new java.lang.Double(5)).PUB_INT_CONSTRUCTOR_ARG',109 new DT().CONSTRUCTOR_ARG_DOUBLE_OBJECT);110// java array111shouldBeWithErrorCheck(112 'new DT["(java.lang.String)"](new java.lang.String("hello").getBytes()).PUB_INT_CONSTRUCTOR_ARG',113 'new DT("hello").CONSTRUCTOR_ARG_STRING');114shouldBeWithErrorCheck(115 'new DT["(byte[])"](new java.lang.String("hello").getBytes()).PUB_INT_CONSTRUCTOR_ARG',...
register.js
Source:register.js
...66 return this;67 }6869 /**70 * If the constructorFn is an array of type ['dep1', 'dep2', ..., constructor() {}]71 * we need to pull out the array of dependencies and add it as an $inject property of the72 * actual constructor function.73 * @param input74 * @returns {*}75 * @private76 */77 function _normalizeConstructor(input) {78 var constructorFn;7980 if (input.constructor === Array) {81 //82 var injected = input.slice(0, input.length - 1);83 constructorFn = input[input.length - 1];84 constructorFn.$inject = injected;
...
fill.js
Source:fill.js
1for (var constructor of anyTypedArrayConstructors) {2 assertDeepEq(constructor.prototype.fill.length, 1);3 assertDeepEq(new constructor([]).fill(1), new constructor([]));4 assertDeepEq(new constructor([1,1,1]).fill(2), new constructor([2,2,2]));5 assertDeepEq(new constructor([1,1,1]).fill(2, 1), new constructor([1,2,2]));6 assertDeepEq(new constructor([1,1,1]).fill(2, 1, 2), new constructor([1,2,1]));7 assertDeepEq(new constructor([1,1,1]).fill(2, -2), new constructor([1,2,2]));8 assertDeepEq(new constructor([1,1,1]).fill(2, -2, -1), new constructor([1,2,1]));9 assertDeepEq(new constructor([1,1,1]).fill(2, undefined), new constructor([2,2,2]));10 assertDeepEq(new constructor([1,1,1]).fill(2, undefined, undefined), new constructor([2,2,2]));11 assertDeepEq(new constructor([1,1,1]).fill(2, 1, undefined), new constructor([1,2,2]));12 assertDeepEq(new constructor([1,1,1]).fill(2, undefined, 1), new constructor([2,1,1]));13 assertDeepEq(new constructor([1,1,1]).fill(2, 2, 1), new constructor([1,1,1]));14 assertDeepEq(new constructor([1,1,1]).fill(2, -1, 1), new constructor([1,1,1]));15 assertDeepEq(new constructor([1,1,1]).fill(2, -2, 1), new constructor([1,1,1]));16 assertDeepEq(new constructor([1,1,1]).fill(2, 1, -2), new constructor([1,1,1]));17 assertDeepEq(new constructor([1,1,1]).fill(2, 0.1), new constructor([2,2,2]));18 assertDeepEq(new constructor([1,1,1]).fill(2, 0.9), new constructor([2,2,2]));19 assertDeepEq(new constructor([1,1,1]).fill(2, 1.1), new constructor([1,2,2]));20 assertDeepEq(new constructor([1,1,1]).fill(2, 0.1, 0.9), new constructor([1,1,1]));21 assertDeepEq(new constructor([1,1,1]).fill(2, 0.1, 1.9), new constructor([2,1,1]));22 assertDeepEq(new constructor([1,1,1]).fill(2, 0.1, 1.9), new constructor([2,1,1]));23 assertDeepEq(new constructor([1,1,1]).fill(2, -0), new constructor([2,2,2]));24 assertDeepEq(new constructor([1,1,1]).fill(2, 0, -0), new constructor([1,1,1]));25 assertDeepEq(new constructor([1,1,1]).fill(2, NaN), new constructor([2,2,2]));26 assertDeepEq(new constructor([1,1,1]).fill(2, 0, NaN), new constructor([1,1,1]));27 assertDeepEq(new constructor([1,1,1]).fill(2, false), new constructor([2,2,2]));28 assertDeepEq(new constructor([1,1,1]).fill(2, true), new constructor([1,2,2]));29 assertDeepEq(new constructor([1,1,1]).fill(2, "0"), new constructor([2,2,2]));30 assertDeepEq(new constructor([1,1,1]).fill(2, "1"), new constructor([1,2,2]));31 assertDeepEq(new constructor([1,1,1]).fill(2, "-2"), new constructor([1,2,2]));32 assertDeepEq(new constructor([1,1,1]).fill(2, "-2", "-1"), new constructor([1,2,1]));33 assertDeepEq(new constructor([1,1,1]).fill(2, {valueOf: ()=>1}), new constructor([1,2,2]));34 assertDeepEq(new constructor([1,1,1]).fill(2, 0, {valueOf: ()=>1}), new constructor([2,1,1]));35 // Called from other globals.36 if (typeof newGlobal === "function") {37 var fill = newGlobal()[constructor.name].prototype.fill;38 assertDeepEq(fill.call(new constructor([3, 2, 1]), 2), new constructor([2, 2, 2]));39 }40 // Throws if `this` isn't a TypedArray.41 var invalidReceivers = [undefined, null, 1, false, "", Symbol(), [], {}, /./,42 new Proxy(new constructor(), {})];43 invalidReceivers.forEach(invalidReceiver => {44 assertThrowsInstanceOf(() => {45 constructor.prototype.fill.call(invalidReceiver, 1);46 }, TypeError);47 });48 // Test that the length getter is never called.49 Object.defineProperty(new constructor([1, 2, 3]), "length", {50 get() {51 throw new Error("length accessor called");52 }53 }).fill(1);54}55for (let constructor of anyTypedArrayConstructors.filter(isFloatConstructor)) {56 assertDeepEq(new constructor([0, 0]).fill(NaN), new constructor([NaN, NaN]));57}58if (typeof reportCompare === "function")...
constructors-cached-navigate.js
Source:constructors-cached-navigate.js
1if (window.layoutTestController)2 layoutTestController.waitUntilDone();3var constructors = ["Image", "MessageChannel", "Option", "XMLHttpRequest", "Audio"];4window.onload = function () {5 testFrame = document.getElementById("testFrame");6 storedConstructors = [];7 // Identity checks8 for (var i = 0; i < constructors.length; i++) {9 var constructor = constructors[i];10 try {11 shouldBe("testFrame.contentWindow." + constructor, "testFrame.contentWindow."+constructor);12 shouldBeTrue("testFrame.contentWindow." + constructor + " !== window." + constructor);13 testFrame.contentWindow[constructor].testProperty = "property set successfully";14 shouldBe("testFrame.contentWindow." + constructor + ".testProperty", '"property set successfully"');15 storedConstructors[constructor] = testFrame.contentWindow[constructor];16 } catch (e) {17 testFailed("Testing " + constructor + " threw " + e);18 }19 }20 testFrame.onload = function() {21 if (window.GCController)22 GCController.collect();23 // Test properties after load24 for (var i = 0; i < constructors.length; i++) {25 var constructor = constructors[i];26 try {27 // Repeat the identity checks to be safe28 shouldBe("testFrame.contentWindow." + constructor, "testFrame.contentWindow."+constructor);29 shouldBeTrue("testFrame.contentWindow." + constructor + " !== window." + constructor);30 31 // Make sure that we haven't reused the constructors from the old document32 shouldBeTrue("testFrame.contentWindow." + constructor + " !== storedConstructors." + constructor);33 shouldBe("storedConstructors." + constructor + ".testProperty", '"property set successfully"');34 // Make sure we haven't kept anything over from the original document35 shouldBeUndefined("testFrame.contentWindow." + constructor + ".testProperty");36 // Make sure we're getting the same constructor as the frame does internally37 shouldBeTrue("testFrame.contentWindow." + constructor + ".cachedOnOwnerDocument");38 } catch (e) {39 testFailed("Testing " + constructor + " threw " + e);40 }41 }42 43 if (window.layoutTestController)44 layoutTestController.notifyDone();45 };46 testFrame.src = 'data:text/html,<script>var constructors = ["Image", "MessageChannel", "Option", "XMLHttpRequest", "Audio"];'47 + 'for(var i = 0; i < constructors.length; i++) if(window[constructors[i]])'48 + 'window[constructors[i]].cachedOnOwnerDocument = true;</script>';49}...
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!!