Best JavaScript code snippet using playwright-internal
cd29c2fce20ada45906007fb37a1a114.js
...16 {17 name: "Object.is(undefined, y) returns true for y = undefined, false otherwise",18 body: function () {19 assert.isTrue(Object.is(undefined, undefined), "Object.is(undefined, y) returns true for Type(y) = Undefined");20 assert.isFalse(Object.is(undefined, null), "Object.is(undefined, y) returns false for Type(y) = Null");21 assert.isFalse(Object.is(undefined, false), "Object.is(undefined, y) returns false for Type(y) = Boolean");22 assert.isFalse(Object.is(undefined, ""), "Object.is(undefined, y) returns false for Type(y) = String");23 assert.isFalse(Object.is(undefined, Symbol()), "Object.is(undefined, y) returns false for Type(y) = Symbol");24 assert.isFalse(Object.is(undefined, 0), "Object.is(undefined, y) returns false for Type(y) = Number");25 assert.isFalse(Object.is(undefined, { }), "Object.is(undefined, y) returns false for Type(y) = Object");26 }27 },28 {29 name: "Object.is(null, y) returns true for y = null, false otherwise",30 body: function () {31 assert.isFalse(Object.is(null, undefined), "Object.is(null, y) returns false for Type(y) = Undefined");32 assert.isTrue(Object.is(null, null), "Object.is(null, y) returns true for Type(y) = Null");33 assert.isFalse(Object.is(null, false), "Object.is(null, y) returns false for Type(y) = Boolean");34 assert.isFalse(Object.is(null, ""), "Object.is(null, y) returns false for Type(y) = String");35 assert.isFalse(Object.is(null, Symbol()), "Object.is(null, y) returns false for Type(y) = Symbol");36 assert.isFalse(Object.is(null, 0), "Object.is(null, y) returns false for Type(y) = Number");37 assert.isFalse(Object.is(null, { }), "Object.is(null, y) returns false for Type(y) = Object");38 }39 },40 {41 name: "Object.is(x, y), where Type(x) is Number, returns true for y = x (bitwise), false otherwise",42 body: function () {43 assert.isFalse(Object.is(0, undefined), "Object.is(0, y) returns false for Type(y) = Undefined");44 assert.isFalse(Object.is(0, null), "Object.is(0, y) returns false for Type(y) = Null");45 assert.isFalse(Object.is(0, false), "Object.is(0, y) returns false for Type(y) = Boolean");46 assert.isFalse(Object.is(0, ""), "Object.is(0, y) returns false for Type(y) = String");47 assert.isFalse(Object.is(0, Symbol()), "Object.is(0, y) returns false for Type(y) = Symbol");48 assert.isTrue(Object.is(0, 0), "Object.is(0, y) returns true for Type(y) = Number");49 assert.isFalse(Object.is(0, { }), "Object.is(0, y) returns false for Type(y) = Object");50 assert.isTrue(Object.is(NaN, NaN), "Object.is(NaN, NaN) returns true");51 assert.isFalse(Object.is(+0, -0), "Object.is(+0, -0) returns false");52 assert.isFalse(Object.is(-0, +0), "Object.is(+0, -0) returns false");53 assert.isTrue(Object.is(10, 10), "Object.is(10, 10) returns true");54 assert.isFalse(Object.is(10, -10), "Object.is(10, 10) returns false");55 assert.isTrue(Object.is(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY), "Object.is(+Infinity, +Infinity) returns true");56 assert.isTrue(Object.is(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY), "Object.is(-Infinity, -Infinity) returns true");57 assert.isFalse(Object.is(Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY), "Object.is(+Infinity, -Infinity) returns false");58 }59 },60 {61 name: "Object.is(x, y), where Type(x) is String, returns true when Type(y) is String and x and y have the same sequence of code points, false otherwise",62 body: function () {63 assert.isFalse(Object.is("", undefined), "Object.is('', y) returns false for Type(y) = Undefined");64 assert.isFalse(Object.is("", null), "Object.is('', y) returns false for Type(y) = Null");65 assert.isFalse(Object.is("", false), "Object.is('', y) returns false for Type(y) = Boolean");66 assert.isTrue(Object.is("", ""), "Object.is('', y) returns true for Type(y) = String where x == y");67 assert.isFalse(Object.is("", Symbol()), "Object.is('', y) returns false for Type(y) = Symbol");68 assert.isFalse(Object.is("", 0), "Object.is('', y) returns false for Type(y) = Number");69 assert.isFalse(Object.is("", { }), "Object.is('', y) returns false for Type(y) = Object");70 assert.isTrue(Object.is("abc", "abc"), "Object.is('abc', 'abc') returns true");71 assert.isFalse(Object.is("abc", "xyz"), "Object.is('abc', 'xyz') returns false");72 }73 },74 {75 name: "Object.is(x, y), where Type(x) is Boolean, returns true when Type(y) is Boolean and x = y, false otherwise",76 body: function () {77 assert.isFalse(Object.is(false, undefined), "Object.is(false, y) returns false for Type(y) = Undefined");78 assert.isFalse(Object.is(false, null), "Object.is(false, y) returns false for Type(y) = Null");79 assert.isTrue(Object.is(false, false), "Object.is(false, y) returns true for Type(y) = Boolean where x == y");80 assert.isFalse(Object.is(false, ""), "Object.is(false, y) returns false for Type(y) = String");81 assert.isFalse(Object.is(false, Symbol()), "Object.is(false, y) returns false for Type(y) = Symbol");82 assert.isFalse(Object.is(false, 0), "Object.is(false, y) returns false for Type(y) = Number");83 assert.isFalse(Object.is(false, { }), "Object.is(false, y) returns false for Type(y) = Object");84 assert.isTrue(Object.is(true, true), "Object.is(true, true) returns true");85 assert.isFalse(Object.is(false, true), "Object.is(false, true) returns false");86 }87 },88 {89 name: "Object.is(x, y), where Type(x) is Symbol, returns true when Type(y) is Symbol and x and y are the same symbol, false otherwise",90 body: function () {91 var sym = Symbol();92 assert.isFalse(Object.is(sym, undefined), "Object.is(Symbol(), y) returns false for Type(y) = Undefined");93 assert.isFalse(Object.is(sym, null), "Object.is(Symbol(), y) returns false for Type(y) = Null");94 assert.isFalse(Object.is(sym, false), "Object.is(Symbol(), y) returns false for Type(y) = Boolean");95 assert.isFalse(Object.is(sym, ""), "Object.is(Symbol(), y) returns false for Type(y) = String");96 assert.isTrue(Object.is(sym, sym), "Object.is(x, y) returns true when x and y are the same symbol");97 assert.isFalse(Object.is(sym, 0), "Object.is(Symbol(), y) returns false for Type(y) = Number");98 assert.isFalse(Object.is(sym, { }), "Object.is(Symbol(), y) returns false for Type(y) = Object");99 assert.isFalse(Object.is(sym, Symbol()), "Object.is(x, y) returns false where x and y are different symbols");100 }101 },102 {103 name: "Object.is(x, y), where Type(x) is Symbol, returns true when Type(y) is Symbol and x and y are the same symbol, false otherwise",104 body: function () {105 var o = { };106 assert.isFalse(Object.is(o, undefined), "Object.is(Symbol(), y) returns false for Type(y) = Undefined");107 assert.isFalse(Object.is(o, null), "Object.is(Symbol(), y) returns false for Type(y) = Null");108 assert.isFalse(Object.is(o, false), "Object.is(Symbol(), y) returns false for Type(y) = Boolean");109 assert.isFalse(Object.is(o, ""), "Object.is(Symbol(), y) returns false for Type(y) = String");110 assert.isFalse(Object.is(o, Symbol()), "Object.is(x, y) returns false when Type(y) = Symbol");111 assert.isFalse(Object.is(o, 0), "Object.is(Symbol(), y) returns false for Type(y) = Number");112 assert.isTrue(Object.is(o, o), "Object.is(Symbol(), y) returns true for Type(y) = Object where x and y are the same object");113 assert.isFalse(Object.is(o, { }), "Object.is(x, y) returns false when x and y are different objects");114 }115 },116 {117 name: "Object.is(x, y), where Type(x) is function, returns true when Type(y) is function and x and y are the same function or same throw functions in sloppy mode, false otherwise",118 body: function () {119 function f() { }120 function g() { }121 var obj1 = { f }, obj2 = { f };122 var bf = f.bind();123 var bft = f.bind({});124 assert.isTrue(Object.is(obj1.f, obj2.f), "Object.is should return true when comparing the same function object");125 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(f.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(f.__proto__, "caller").set), "Object.is should return true when comparing different throw type error methods on the same function");126 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(f.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(f.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on the same function's different accessors");127 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(f.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(g.__proto__, "arguments").set), "Object.is should return true when comparing same throw type error methods on different functions");128 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(f.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(g.__proto__, "caller").set), "Object.is should return true when comparing different throw type error methods on the different functions");129 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(f.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(g.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on the different functions' different accessors");130 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bf.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").set), "Object.is should return true when comparing different throw type error methods on the same bound function");131 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bf.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on the same bound function's different accessors");132 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bft.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on a different bound function's different accessors");133 }134 },135 {136 name: "Object.is(x, y), where Type(x) is function, returns true when Type(y) is function and x and y are the same function or same throw functions in strict mode, false otherwise",137 body: function () {138 'use strict';139 function f() { 'use strict'; }140 var bf = f.bind();141 var bft = f.bind({});142 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(Function.prototype, "arguments").set, Object.getOwnPropertyDescriptor(Function.prototype, "caller").set), "Object.is should return true when comparing different throw type error methods on the same function");143 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(Function.prototype, "arguments").set, Object.getOwnPropertyDescriptor(Function.prototype, "caller").get), "Object.is should return true when comparing different throw type error methods on the same function's different accessors");144 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bf.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").set), "Object.is should return true when comparing different throw type error methods on the same bound function");145 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bf.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on the same bound function's different accessors");146 assert.isTrue(Object.is(Object.getOwnPropertyDescriptor(bft.__proto__, "arguments").set, Object.getOwnPropertyDescriptor(bf.__proto__, "caller").get), "Object.is should return true when comparing different throw type error methods on a different bound function's different accessors");147 }148 },149 {150 name: "Object.is called with less or more than 2 arguments",151 body: function () {152 assert.isTrue(Object.is(), "Object.is() is the same as Object.is(undefined, undefined) which should return true");153 assert.isTrue(Object.is(undefined), "Object.is(undefined) is the same as Object.is(undefined, undefined) and returns true");154 assert.isFalse(Object.is(null), "Object.is(null) is the same as Object.is(null, undefined) and returns false");155 assert.isFalse(Object.is(false), "Object.is(false) is the same as Object.is(false, undefined) and returns false");156 assert.isFalse(Object.is(""), "Object.is('') is the same as Object.is('', undefined) and returns false");157 assert.isFalse(Object.is(Symbol()), "Object.is(Symbol()) is the same as Object.is(Symbol(), undefined) and returns false");158 assert.isFalse(Object.is(0), "Object.is(0) is the same as Object.is(0, undefined) and returns false");159 assert.isFalse(Object.is({ }), "Object.is({ }) is the same as Object.is({ }, undefined) and returns false");160 assert.isTrue(Object.is(0, 0, 1), "Object.is ignores arguments after the first two; ignores the 1");161 assert.isFalse(Object.is("", 0, false), "Object.is ignores arguments after the first two; ignores the false");162 }163 },164];...
compatibility-test.js
Source: compatibility-test.js
...12 assert.isTrue(compat.properties.colors);13 assert.isTrue(compat.properties.backgroundClipMerging);14 assert.isTrue(compat.properties.backgroundOriginMerging);15 assert.isTrue(compat.properties.backgroundSizeMerging);16 assert.isFalse(compat.properties.ieBangHack);17 assert.isFalse(compat.properties.ieFilters);18 assert.isFalse(compat.properties.iePrefixHack);19 assert.isFalse(compat.properties.ieSuffixHack);20 assert.isTrue(compat.properties.merging);21 assert.isFalse(compat.properties.shorterLengthUnits);22 assert.isTrue(compat.properties.spaceAfterClosingBrace);23 assert.isFalse(compat.properties.urlQuotes);24 assert.isTrue(compat.properties.zeroUnits);25 assert.isFalse(compat.selectors.adjacentSpace);26 assert.isFalse(compat.selectors.ie7Hack);27 assert.isTrue(compat.selectors.multiplePseudoMerging);28 assert.isTrue(compat.units.ch);29 assert.isTrue(compat.units.in);30 assert.isTrue(compat.units.pc);31 assert.isTrue(compat.units.pt);32 assert.isTrue(compat.units.rem);33 assert.isTrue(compat.units.vh);34 assert.isTrue(compat.units.vm);35 assert.isTrue(compat.units.vmax);36 assert.isTrue(compat.units.vmin);37 assert.isTrue(compat.units.vw);38 }39 },40 'not given': {41 'topic': function () {42 return compatibilityFrom();43 },44 'gets default compatibility': function (compat) {45 assert.deepEqual(compat, compatibilityFrom({}));46 }47 },48 'as a populated hash': {49 'topic': function () {50 return compatibilityFrom({ units: { rem: false, vmax: false }, properties: { prefix: true } });51 },52 'gets merged compatibility': function (compat) {53 assert.isTrue(compat.colors.opacity);54 assert.isTrue(compat.properties.backgroundClipMerging);55 assert.isTrue(compat.properties.backgroundOriginMerging);56 assert.isTrue(compat.properties.backgroundSizeMerging);57 assert.isTrue(compat.properties.colors);58 assert.isFalse(compat.properties.ieBangHack);59 assert.isFalse(compat.properties.ieFilters);60 assert.isFalse(compat.properties.iePrefixHack);61 assert.isFalse(compat.properties.ieSuffixHack);62 assert.isTrue(compat.properties.merging);63 assert.isFalse(compat.properties.shorterLengthUnits);64 assert.isTrue(compat.properties.spaceAfterClosingBrace);65 assert.isTrue(compat.properties.zeroUnits);66 assert.isFalse(compat.selectors.adjacentSpace);67 assert.isFalse(compat.selectors.ie7Hack);68 assert.isTrue(compat.selectors.multiplePseudoMerging);69 assert.isTrue(compat.units.ch);70 assert.isTrue(compat.units.in);71 assert.isTrue(compat.units.pc);72 assert.isTrue(compat.units.pt);73 assert.isFalse(compat.units.rem);74 assert.isTrue(compat.units.vh);75 assert.isTrue(compat.units.vm);76 assert.isFalse(compat.units.vmax);77 assert.isTrue(compat.units.vmin);78 assert.isTrue(compat.units.vw);79 }80 }81 })82 .addBatch({83 'as an ie9 template': {84 'topic': function () {85 return compatibilityFrom('ie9');86 },87 'gets template compatibility': function (compat) {88 assert.isTrue(compat.colors.opacity);89 assert.isTrue(compat.properties.backgroundClipMerging);90 assert.isTrue(compat.properties.backgroundOriginMerging);91 assert.isTrue(compat.properties.backgroundSizeMerging);92 assert.isTrue(compat.properties.colors);93 assert.isFalse(compat.properties.ieBangHack);94 assert.isTrue(compat.properties.ieFilters);95 assert.isFalse(compat.properties.iePrefixHack);96 assert.isTrue(compat.properties.ieSuffixHack);97 assert.isTrue(compat.properties.merging);98 assert.isFalse(compat.properties.shorterLengthUnits);99 assert.isTrue(compat.properties.spaceAfterClosingBrace);100 assert.isFalse(compat.properties.urlQuotes);101 assert.isTrue(compat.properties.zeroUnits);102 assert.isFalse(compat.selectors.adjacentSpace);103 assert.isFalse(compat.selectors.ie7Hack);104 assert.isTrue(compat.selectors.multiplePseudoMerging);105 assert.isTrue(compat.units.ch);106 assert.isTrue(compat.units.in);107 assert.isTrue(compat.units.pc);108 assert.isTrue(compat.units.pt);109 assert.isTrue(compat.units.rem);110 assert.isTrue(compat.units.vh);111 assert.isTrue(compat.units.vm);112 assert.isTrue(compat.units.vmax);113 assert.isTrue(compat.units.vmin);114 assert.isTrue(compat.units.vw);115 }116 },117 'as an ie8 template': {118 'topic': function () {119 return compatibilityFrom('ie8');120 },121 'gets template compatibility': function (compat) {122 assert.isFalse(compat.colors.opacity);123 assert.isFalse(compat.properties.backgroundClipMerging);124 assert.isFalse(compat.properties.backgroundOriginMerging);125 assert.isFalse(compat.properties.backgroundSizeMerging);126 assert.isTrue(compat.properties.colors);127 assert.isFalse(compat.properties.ieBangHack);128 assert.isTrue(compat.properties.ieFilters);129 assert.isTrue(compat.properties.iePrefixHack);130 assert.isTrue(compat.properties.ieSuffixHack);131 assert.isFalse(compat.properties.merging);132 assert.isFalse(compat.properties.shorterLengthUnits);133 assert.isTrue(compat.properties.spaceAfterClosingBrace);134 assert.isFalse(compat.properties.urlQuotes);135 assert.isTrue(compat.properties.zeroUnits);136 assert.isFalse(compat.selectors.adjacentSpace);137 assert.isFalse(compat.selectors.ie7Hack);138 assert.isTrue(compat.selectors.multiplePseudoMerging);139 assert.isFalse(compat.units.ch);140 assert.isTrue(compat.units.in);141 assert.isTrue(compat.units.pc);142 assert.isTrue(compat.units.pt);143 assert.isFalse(compat.units.rem);144 assert.isFalse(compat.units.vh);145 assert.isFalse(compat.units.vm);146 assert.isFalse(compat.units.vmax);147 assert.isFalse(compat.units.vmin);148 assert.isFalse(compat.units.vw);149 }150 },151 'as an ie7 template': {152 'topic': function () {153 return compatibilityFrom('ie7');154 },155 'gets template compatibility': function (compat) {156 assert.isFalse(compat.colors.opacity);157 assert.isFalse(compat.properties.backgroundClipMerging);158 assert.isFalse(compat.properties.backgroundOriginMerging);159 assert.isFalse(compat.properties.backgroundSizeMerging);160 assert.isTrue(compat.properties.colors);161 assert.isTrue(compat.properties.ieBangHack);162 assert.isTrue(compat.properties.ieFilters);163 assert.isTrue(compat.properties.iePrefixHack);164 assert.isTrue(compat.properties.ieSuffixHack);165 assert.isFalse(compat.properties.merging);166 assert.isFalse(compat.properties.shorterLengthUnits);167 assert.isTrue(compat.properties.spaceAfterClosingBrace);168 assert.isFalse(compat.properties.urlQuotes);169 assert.isTrue(compat.properties.zeroUnits);170 assert.isFalse(compat.selectors.adjacentSpace);171 assert.isTrue(compat.selectors.ie7Hack);172 assert.isFalse(compat.units.ch);173 assert.isTrue(compat.units.in);174 assert.isTrue(compat.units.pc);175 assert.isTrue(compat.units.pt);176 assert.isFalse(compat.units.rem);177 assert.isFalse(compat.units.vh);178 assert.isFalse(compat.units.vm);179 assert.isFalse(compat.units.vmax);180 assert.isFalse(compat.units.vmin);181 assert.isFalse(compat.units.vw);182 }183 },184 'as an unknown template': {185 'topic': function () {186 return compatibilityFrom('');187 },188 'gets default compatibility': function (compat) {189 assert.deepEqual(compat, compatibilityFrom({}));190 }191 }192 })193 .addBatch({194 'as a complex string value with group': {195 'topic': function () {196 return compatibilityFrom('ie8,-properties.iePrefixHack,+colors.opacity');197 },198 'gets calculated compatibility': function (compat) {199 assert.isTrue(compat.colors.opacity);200 assert.isFalse(compat.properties.backgroundClipMerging);201 assert.isFalse(compat.properties.backgroundOriginMerging);202 assert.isFalse(compat.properties.backgroundSizeMerging);203 assert.isTrue(compat.properties.colors);204 assert.isFalse(compat.properties.ieBangHack);205 assert.isTrue(compat.properties.ieFilters);206 assert.isFalse(compat.properties.iePrefixHack);207 assert.isTrue(compat.properties.ieSuffixHack);208 assert.isFalse(compat.properties.merging);209 assert.isFalse(compat.properties.shorterLengthUnits);210 assert.isTrue(compat.properties.spaceAfterClosingBrace);211 assert.isFalse(compat.properties.urlQuotes);212 assert.isTrue(compat.properties.zeroUnits);213 assert.isFalse(compat.selectors.adjacentSpace);214 assert.isFalse(compat.selectors.ie7Hack);215 assert.isTrue(compat.selectors.multiplePseudoMerging);216 assert.isFalse(compat.units.ch);217 assert.isTrue(compat.units.in);218 assert.isTrue(compat.units.pc);219 assert.isTrue(compat.units.pt);220 assert.isFalse(compat.units.rem);221 assert.isFalse(compat.units.vh);222 assert.isFalse(compat.units.vm);223 assert.isFalse(compat.units.vmax);224 assert.isFalse(compat.units.vmin);225 assert.isFalse(compat.units.vw);226 }227 },228 'as a single string value without group': {229 'topic': function () {230 return compatibilityFrom('+properties.iePrefixHack');231 },232 'gets calculated compatibility': function (compat) {233 assert.isTrue(compat.colors.opacity);234 assert.isTrue(compat.properties.colors);235 assert.isTrue(compat.properties.backgroundClipMerging);236 assert.isTrue(compat.properties.backgroundOriginMerging);237 assert.isTrue(compat.properties.backgroundSizeMerging);238 assert.isFalse(compat.properties.ieBangHack);239 assert.isFalse(compat.properties.ieFilters);240 assert.isTrue(compat.properties.iePrefixHack);241 assert.isFalse(compat.properties.ieSuffixHack);242 assert.isTrue(compat.properties.merging);243 assert.isFalse(compat.properties.shorterLengthUnits);244 assert.isTrue(compat.properties.spaceAfterClosingBrace);245 assert.isFalse(compat.properties.urlQuotes);246 assert.isTrue(compat.properties.zeroUnits);247 assert.isFalse(compat.selectors.adjacentSpace);248 assert.isFalse(compat.selectors.ie7Hack);249 assert.isTrue(compat.selectors.multiplePseudoMerging);250 assert.isTrue(compat.units.ch);251 assert.isTrue(compat.units.in);252 assert.isTrue(compat.units.pc);253 assert.isTrue(compat.units.pt);254 assert.isTrue(compat.units.rem);255 assert.isTrue(compat.units.vh);256 assert.isTrue(compat.units.vm);257 assert.isTrue(compat.units.vmax);258 assert.isTrue(compat.units.vmin);259 assert.isTrue(compat.units.vw);260 }261 },262 'as a complex string value without group': {263 'topic': function () {264 return compatibilityFrom('+properties.iePrefixHack,-units.rem');265 },266 'gets calculated compatibility': function (compat) {267 assert.isTrue(compat.colors.opacity);268 assert.isTrue(compat.properties.colors);269 assert.isTrue(compat.properties.backgroundClipMerging);270 assert.isTrue(compat.properties.backgroundOriginMerging);271 assert.isTrue(compat.properties.backgroundSizeMerging);272 assert.isFalse(compat.properties.ieBangHack);273 assert.isFalse(compat.properties.ieFilters);274 assert.isTrue(compat.properties.iePrefixHack);275 assert.isFalse(compat.properties.ieSuffixHack);276 assert.isTrue(compat.properties.merging);277 assert.isFalse(compat.properties.shorterLengthUnits);278 assert.isTrue(compat.properties.spaceAfterClosingBrace);279 assert.isFalse(compat.properties.urlQuotes);280 assert.isTrue(compat.properties.zeroUnits);281 assert.isFalse(compat.selectors.adjacentSpace);282 assert.isFalse(compat.selectors.ie7Hack);283 assert.isTrue(compat.selectors.multiplePseudoMerging);284 assert.isTrue(compat.units.ch);285 assert.isTrue(compat.units.in);286 assert.isTrue(compat.units.pc);287 assert.isTrue(compat.units.pt);288 assert.isFalse(compat.units.rem);289 assert.isTrue(compat.units.vh);290 assert.isTrue(compat.units.vm);291 assert.isTrue(compat.units.vmax);292 assert.isTrue(compat.units.vmin);293 assert.isTrue(compat.units.vw);294 }295 }296 })...
email-validator.spec.js
Source: email-validator.spec.js
...55 it('Returns true for email address with a contiguous full stop in username', () => {56 assert.isTrue(validateEmail('technically..valid@domain.com'));57 });58 it('Returns false for email address with an IP address for domain', () => {59 assert.isFalse(validateEmail('email@123.123.123.123'));60 });61 it('Returns false for email address with square brackets in domain', () => {62 assert.isFalse(validateEmail('email@[123.123.123.123]'));63 });64 it('Returns false for email address with no domain', () => {65 assert.isFalse(validateEmail('plainaddress'));66 });67 it('Returns false for email address with no username', () => {68 assert.isFalse(validateEmail('@no-local-part.com'));69 });70 it('Returns false for Outlook contact', () => {71 assert.isFalse(validateEmail('Outlook Contact <outlook-contact@domain.com>'));72 });73 it('Returns false for email address with no @', () => {74 assert.isFalse(validateEmail('no-at.domain.com'));75 });76 it('Returns false for email address with no top level domain', () => {77 assert.isFalse(validateEmail('no-tld@domain'));78 });79 it('Returns false for email address with semi colon at beginning or username', () => {80 assert.isFalse(validateEmail(';beginning-semicolon@domain.co.uk'));81 });82 it('Returns false for email address with semi colon in the middle of domain', () => {83 assert.isFalse(validateEmail('middle-semicolon@domain.co;uk'));84 });85 it('Returns false for email address with semi colon at the end of domain', () => {86 assert.isFalse(validateEmail('trailing-semicolon@domain.com;'));87 });88 it('Returns false for email address with double quote at start of username', () => {89 assert.isFalse(validateEmail('"email+leading-quotes@domain.com'));90 });91 it('Returns false for email address with double quote in the middle of username', () => {92 assert.isFalse(validateEmail('email+middle"-quotes@domain.com'));93 });94 it('Returns false for email address with username in double quotes', () => {95 assert.isFalse(validateEmail('"quoted-local-part"@domain.com'));96 });97 it('Returns false for email address with email address in double quotes', () => {98 assert.isFalse(validateEmail('"quoted@domain.com"'));99 });100 it('Returns false for email address with contiguous full stops in domain name', () => {101 assert.isFalse(validateEmail('lots-of-dots@domain..gov...uk'));102 });103 it('Returns false for email address with multiple domain names', () => {104 assert.isFalse(validateEmail('multiple@domains@domain.com'));105 });106 it('Returns false for email address with spaces in username', () => {107 assert.isFalse(validateEmail('spaces in local@domain.com'));108 });109 it('Returns false for email address with spaces in domain name', () => {110 assert.isFalse(validateEmail('spaces-in-domain@dom ain.com'));111 });112 it('Returns false for email address with _ in domain name', () => {113 assert.isFalse(validateEmail('underscores-in-domain@dom_ain.com'));114 });115 it('Returns false for email address with | in domain name', () => {116 assert.isFalse(validateEmail('pipe-in-domain@example.com|gov.uk'));117 });118 it('Returns false for email address with , in username', () => {119 assert.isFalse(validateEmail('comma,in-local@gov.uk'));120 });121 it('Returns false for email address with , in domain name', () => {122 assert.isFalse(validateEmail('comma-in-domain@domain,gov.uk'));123 });124 it('Returns false for email address with £ in username', () => {125 assert.isFalse(validateEmail('pound-sign-in-local£@domain.com'));126 });127 it('Returns false for email address with \' in username', () => {128 assert.isFalse(validateEmail('local-with-â-apostrophe@domain.com'));129 });130 it('Returns false for email address with " in username', () => {131 assert.isFalse(validateEmail('local-with-â-quotes@domain.com'));132 });133 it('Returns false for email address with full stop at start of domain', () => {134 assert.isFalse(validateEmail('domain-starts-with-a-dot@.domain.com'));135 });...
rules.spec.js
Source: rules.spec.js
...10 it('æ°åæ ¡éª', () => {11 assert.isTrue(rules().notEmpty.validate(0))12 })13 it('空åç¬¦ä¸²æ ¡éª', () => {14 assert.isFalse(rules().notEmpty.validate(''))15 assert.isFalse(rules().notEmpty.validate(' '))16 })17 it('nullå¯¹è±¡æ ¡éª', () => {18 assert.isFalse(rules().notEmpty.validate(null))19 })20 it('undefinedå¯¹è±¡æ ¡éª', () => {21 assert.isFalse(rules().notEmpty.validate(undefined))22 })23 })24 describe('emailéªè¯æ ¡éª', () => {25 it('æ£ç¡®çemailæ ¡éª', () => {26 assert.isTrue(rules().email.validate('icourt@icourt.cc'))27 })28 it('é误çemailæ ¡éª', () => {29 assert.isFalse(rules().email.validate('icourt.cc'))30 })31 })32 describe('ææºå·ç éªè¯æ ¡éª', () => {33 it('æ£ç¡®çphoneæ ¡éª', () => {34 assert.isTrue(rules().phone.validate('+8615800000000'))35 assert.isTrue(rules().phone.validate('+86 15800000000'))36 assert.isTrue(rules().phone.validate('15800000000'))37 })38 it('ä½æ°ä¸æ£ç¡®', () => {39 assert.isFalse(rules().phone.validate('15800000'))40 })41 })42 describe('æ åºå·ä¸å½ææºå·ç éªè¯æ ¡éª', () => {43 it('æ£ç¡®çmobileæ ¡éª', () => {44 assert.isTrue(rules().mobile.validate('15800000000'))45 assert.isTrue(rules().mobile.validate('13300000000'))46 })47 it('æ ¼å¼ä¸æ£ç¡®', () => {48 assert.isFalse(rules().mobile.validate('15800000'))49 assert.isFalse(rules().mobile.validate('1580000ssss'))50 assert.isFalse(rules().mobile.validate('+15800000000'))51 })52 })53 describe('æ åºå·å
¶ä»å°åºææºå·ç éªè¯æ ¡éª', () => {54 it('æ£ç¡®çotherMobileæ ¡éª', () => {55 assert.isTrue(rules().otherMobile.validate('15800000000'))56 assert.isTrue(rules().otherMobile.validate('1234'))57 })58 it('æ ¼å¼ä¸æ£ç¡®', () => {59 assert.isFalse(rules().otherMobile.validate('12ss'))60 assert.isFalse(rules().otherMobile.validate('+15800000'))61 })62 })63 describe('onlyNuméªè¯æ ¡éª', () => {64 it('空æ°æ®æ ¡éª', () => {65 assert.isTrue(rules().onlyNum.validate(''))66 assert.isTrue(rules().onlyNum.validate(undefined))67 assert.isTrue(rules().onlyNum.validate(null))68 })69 it('æ°åæ ¡éª', () => {70 assert.isTrue(rules().onlyNum.validate(0))71 assert.isTrue(rules().onlyNum.validate(1))72 })73 it('éæ°åæ ¡éª', () => {74 assert.isFalse(rules().onlyNum.validate({}))75 assert.isFalse(rules().onlyNum.validate('"'))76 })77 })78 describe('onlyNumOrAlphabetéªè¯æ ¡éª', () => {79 it('空æ°æ®æ ¡éª', () => {80 assert.isTrue(rules().onlyNumOrAlphabet.validate(''))81 assert.isTrue(rules().onlyNumOrAlphabet.validate(undefined))82 assert.isTrue(rules().onlyNumOrAlphabet.validate(null))83 })84 it('æ°åæ ¡éª', () => {85 assert.isTrue(rules().onlyNumOrAlphabet.validate(0))86 assert.isTrue(rules().onlyNumOrAlphabet.validate(1))87 })88 it('åæ¯æ ¡éª', () => {89 assert.isTrue(rules().onlyNumOrAlphabet.validate('s'))90 })91 it('éæ°ååæ¯æ ¡éª', () => {92 assert.isFalse(rules().onlyNumOrAlphabet.validate({}))93 assert.isFalse(rules().onlyNumOrAlphabet.validate('*'))94 })95 })96 describe('noSpaceséªè¯æ ¡éª', () => {97 it('空æ°æ®æ ¡éª', () => {98 assert.isTrue(rules().noSpaces.validate(''))99 assert.isTrue(rules().noSpaces.validate(undefined))100 assert.isTrue(rules().noSpaces.validate(null))101 })102 it('åå¨ç©ºæ ¼æ°æ®æ ¡éª', () => {103 assert.isFalse(rules().noSpaces.validate('T es t'))104 })105 })106 describe('noEmojiéªè¯æ ¡éª', () => {107 it('空æ°æ®æ ¡éª', () => {108 assert.isTrue(rules().noEmoji.validate(''))109 assert.isTrue(rules().noEmoji.validate(undefined))110 assert.isTrue(rules().noEmoji.validate(null))111 })112 it('åå¨Emojiæ°æ®æ ¡éª', () => {113 assert.isFalse(rules().noEmoji.validate('ð'))114 })115 })116 describe('noSpecialéªè¯æ ¡éª', () => {117 it('空æ°æ®æ ¡éª', () => {118 assert.isTrue(rules().noSpecial.validate(''))119 assert.isTrue(rules().noSpecial.validate(undefined))120 assert.isTrue(rules().noSpecial.validate(null))121 })122 it('ç¹æ®å符æ°æ®æ ¡éª', () => {123 assert.isFalse(rules().noSpecial.validate('*'))124 assert.isFalse(rules().noSpecial.validate(':'))125 assert.isFalse(rules().noSpecial.validate('?'))126 assert.isFalse(rules().noSpecial.validate('|'))127 assert.isFalse(rules().noSpecial.validate('<'))128 assert.isFalse(rules().noSpecial.validate('>'))129 assert.isFalse(rules().noSpecial.validate('\\'))130 assert.isFalse(rules().noSpecial.validate('/'))131 assert.isFalse(rules().noSpecial.validate('"'))132 })133 })134 describe('ä¼ å
¥å¤ä¸ªå¼æ ¡éªæ¯å¦é½åå¨é空éundefinedå符串', () => {135 it('ä¼ å
¥å¼æ£ç¡®', () => {136 assert.isTrue(rules().rightParams.validate('a', 'b', 'c'))137 assert.isTrue(rules().rightParams.validate(12, '2', 'abc'))138 })139 it('ä¼ å
¥å¼æ误', () => {140 assert.isFalse(rules().rightParams.validate('undefined', 'a'))141 assert.isFalse(rules().rightParams.validate('a', '', 'c'))142 assert.isFalse(rules().rightParams.validate('a', undefined, 'c'))143 assert.isFalse(rules().rightParams.validate('a', null, 'c'))144 })145 })...
StringsTest.js
Source: StringsTest.js
...6suite("Strings", function StringsTest() {7 test("isNullOrEmpty", function () {8 asr.isTrue(Strings.isNullOrEmpty(""));9 asr.isTrue(Strings.isNullOrEmpty(null));10 asr.isFalse(Strings.isNullOrEmpty(" "));11 asr.isFalse(Strings.isNullOrEmpty("abc"));12 });13 test("isNullOrWhiteSpace", function () {14 asr.isTrue(Strings.isNullOrWhiteSpace(""));15 asr.isTrue(Strings.isNullOrWhiteSpace(null));16 asr.isTrue(Strings.isNullOrWhiteSpace(" "));17 asr.isFalse(Strings.isNullOrWhiteSpace("abc"));18 });19 test("notNullOrEmpty", function () {20 asr.isFalse(Strings.notNullOrEmpty(""));21 asr.isFalse(Strings.notNullOrEmpty(null));22 asr.isTrue(Strings.notNullOrEmpty(" "));23 asr.isTrue(Strings.notNullOrEmpty("abc"));24 });25 test("notNullOrWhiteSpace", function () {26 asr.isFalse(Strings.notNullOrWhiteSpace(""));27 asr.isFalse(Strings.notNullOrWhiteSpace(null));28 asr.isFalse(Strings.notNullOrWhiteSpace(" "));29 asr.isTrue(Strings.notNullOrWhiteSpace("abc"));30 });31 test("isCharAtDigit", function () {32 asr.isTrue(Strings.isCharAtDigit("1.2%", 0));33 asr.isFalse(Strings.isCharAtDigit("1.2%", 1));34 asr.isTrue(Strings.isCharAtDigit("1.2%", 2));35 asr.isFalse(Strings.isCharAtDigit("1.2%", 3));36 asr.isTrue(Strings.isCharAtDigit("123", 1));37 asr.isTrue(Strings.isCharAtDigit("0", 0));38 asr.isFalse(Strings.isCharAtDigit("", 0));39 asr.isFalse(Strings.isCharAtDigit("0A", 1));40 asr.isFalse(Strings.isCharAtDigit("0", -1));41 asr.isFalse(Strings.isCharAtDigit("0", 1));42 asr.isFalse(Strings.isCharAtDigit(" ", null));43 asr.isFalse(Strings.isCharAtDigit(null, null));44 });45 test("isDigit", function () {46 asr.isTrue(Strings.isDigit("5"));47 asr.isTrue(Strings.isDigit("123"));48 asr.isTrue(Strings.isDigit("0"));49 asr.isFalse(Strings.isDigit(" "));50 asr.isFalse(Strings.isDigit(""));51 asr.isFalse(Strings.isDigit("0A"));52 asr.isFalse(Strings.isDigit(null));53 asr.isFalse(Strings.isDigit(undefined));54 });55 test("isCharAtUpperCase", function () {56 asr.isTrue(Strings.isCharAtUpperCase("AbCd", 0));57 asr.isFalse(Strings.isCharAtUpperCase("AbCd", 1));58 asr.isTrue(Strings.isCharAtUpperCase("AbCd", 2));59 asr.isFalse(Strings.isCharAtUpperCase("AbCd", 3));60 asr.isFalse(Strings.isCharAtUpperCase("A", -1));61 asr.isFalse(Strings.isCharAtUpperCase("A", 1));62 asr.isFalse(Strings.isCharAtUpperCase("A", Infinity));63 asr.isFalse(Strings.isCharAtUpperCase(null, null));64 });65 test("isCharAtLowerCase", function () {66 asr.isTrue(Strings.isCharAtLowerCase("aBcD", 0));67 asr.isFalse(Strings.isCharAtLowerCase("aBcD", 1));68 asr.isTrue(Strings.isCharAtLowerCase("aBcD", 2));69 asr.isFalse(Strings.isCharAtLowerCase("aBcD", 3));70 asr.isFalse(Strings.isCharAtLowerCase("a", -1));71 asr.isFalse(Strings.isCharAtLowerCase("a", 1));72 asr.isFalse(Strings.isCharAtLowerCase("a", Infinity));73 asr.isFalse(Strings.isCharAtLowerCase(null, null));74 });75 test("truncate", function () {76 asr.equal(Strings.truncate("123", 4, "..."), "123");77 asr.equal(Strings.truncate("1234", 4, "..."), "1234");78 asr.equal(Strings.truncate("12345", 4, "..."), "1...");79 asr.equal(Strings.truncate("12", 2, "..."), "12");80 asr.equal(Strings.truncate("123", 2, "..."), "...");81 asr.equal(Strings.truncate("1234", 2, "..."), "...");82 asr.equal(Strings.truncate(" ", 2, "..."), " ");83 asr.equal(Strings.truncate(null, 2, "..."), "");84 asr.equal(Strings.truncate(undefined, 2, "..."), "");85 });86 test("looseEqual", function () {87 asr.equal(Strings.looseEqual(" Abc", "ABC"), true);...
regExp.spec.js
Source: regExp.spec.js
...5 const expr = FasterSchema.RegEx.Email;6 function isTrue(s) {7 expect(expr.test(s)).to.be.true;8 }9 function isFalse(s) {10 expect(expr.test(s)).to.be.false;11 }12 isTrue('name@web.de');13 isTrue('name+addition@web.de');14 isTrue('st#r~ange.e+mail@web.de');15 isTrue('name@localhost');16 isTrue('name@192.168.200.5');17 isFalse('name@BCDF:45AB:1245:75B9:0987:1562:4567:1234');18 isFalse('name@BCDF:45AB:1245:75B9::0987:1234:1324');19 isFalse('name@BCDF:45AB:1245:75B9:0987:1234:1324');20 isFalse('name@::1');21 });22 it('FasterSchema.RegEx.EmailWithTLD', function () {23 const expr = FasterSchema.RegEx.EmailWithTLD;24 function isTrue(s) {25 expect(expr.test(s)).to.be.true;26 }27 function isFalse(s) {28 expect(expr.test(s)).to.be.false;29 }30 isTrue('name@web.de');31 isTrue('name+addition@web.de');32 isTrue('st#r~ange.e+mail@web.de');33 isFalse('name@localhost');34 isFalse('name@192.168.200.5');35 isFalse('name@BCDF:45AB:1245:75B9:0987:1562:4567:1234');36 isFalse('name@BCDF:45AB:1245:75B9::0987:1234:1324');37 isFalse('name@BCDF:45AB:1245:75B9:0987:1234:1324');38 isFalse('name@::1');39 });40 it('FasterSchema.RegEx.Domain', function () {41 const expr = FasterSchema.RegEx.Domain;42 function isTrue(s) {43 expect(expr.test(s)).to.be.true;44 }45 function isFalse(s) {46 expect(expr.test(s)).to.be.false;47 }48 isTrue('domain.com');49 isFalse('localhost');50 isFalse('192.168.200.5');51 isFalse('BCDF:45AB:1245:75B9:0987:1562:4567:1234:AB36');52 });53 it('FasterSchema.RegEx.WeakDomain', function () {54 const expr = FasterSchema.RegEx.WeakDomain;55 function isTrue(s) {56 expect(expr.test(s)).to.be.true;57 }58 isTrue('domain.com');59 isTrue('localhost');60 isTrue('192.168.200.5');61 isTrue('BCDF:45AB:1245:75B9:0987:1562:4567:1234');62 });63 it('FasterSchema.RegEx.IP', function () {64 const expr = FasterSchema.RegEx.IP;65 function isTrue(s) {66 expect(expr.test(s)).to.be.true;67 }68 function isFalse(s) {69 expect(expr.test(s)).to.be.false;70 }71 isFalse('localhost');72 isTrue('192.168.200.5');73 isFalse('320.168.200.5');74 isFalse('192.168.5');75 isTrue('BCDF:45AB:1245:75B9:0987:1562:4567:1234');76 isFalse('BCDF:45AB:1245:75B9:0987:1562:4567:1234:AB36');77 isTrue('BCDF:45AB:1245:75B9::0987:1234:1324');78 isFalse('BCDF:45AB:1245:75B9:0987:1234:1324');79 isTrue('::1');80 });81 it('FasterSchema.RegEx.IPv4', function () {82 const expr = FasterSchema.RegEx.IPv4;83 function isTrue(s) {84 expect(expr.test(s)).to.be.true;85 }86 function isFalse(s) {87 expect(expr.test(s)).to.be.false;88 }89 isFalse('localhost');90 isTrue('192.168.200.5');91 isFalse('320.168.200.5');92 isFalse('192.168.5');93 isFalse('BCDF:45AB:1245:75B9:0987:1562:4567:1234');94 isFalse('BCDF:45AB:1245:75B9:0987:1562:4567:1234:AB36');95 isFalse('BCDF:45AB:1245:75B9::0987:1234:1324');96 isFalse('BCDF:45AB:1245:75B9:0987:1234:1324');97 isFalse('::1');98 });99 it('FasterSchema.RegEx.IPv6', function () {100 const expr = FasterSchema.RegEx.IPv6;101 function isTrue(s) {102 expect(expr.test(s)).to.be.true;103 }104 function isFalse(s) {105 expect(expr.test(s)).to.be.false;106 }107 isFalse('localhost');108 isFalse('192.168.200.5');109 isFalse('320.168.200.5');110 isFalse('192.168.5');111 isTrue('BCDF:45AB:1245:75B9:0987:1562:4567:1234');112 isFalse('BCDF:45AB:1245:75B9:0987:1562:4567:1234:AB36');113 isTrue('BCDF:45AB:1245:75B9::0987:1234:1324');114 isFalse('BCDF:45AB:1245:75B9:0987:1234:1324');115 isTrue('::1');116 });...
isFalse.js
Source: isFalse.js
...4import Symbol from './shared/Symbol';5import args from './shared/arguments';6describe('isFalse', function () {7 it("should test value for 'false' primitive", function () {8 assert.isTrue(RA.isFalse(false));9 assert.isTrue(RA.isFalse(Boolean(false)));10 assert.isFalse(RA.isFalse(true));11 assert.isFalse(RA.isFalse(Boolean(true)));12 assert.isFalse(RA.isTrue(new Boolean(true)));13 assert.isFalse(RA.isTrue(new Boolean(false)));14 assert.isFalse(RA.isFalse('false'));15 assert.isFalse(RA.isFalse('abc'));16 assert.isFalse(RA.isFalse(Object('abc')));17 assert.isFalse(RA.isFalse(args));18 assert.isFalse(RA.isFalse([1, 2, 3]));19 assert.isFalse(RA.isFalse(new Date()));20 assert.isFalse(RA.isFalse(new Error()));21 assert.isFalse(RA.isFalse(Array.prototype.slice));22 assert.isFalse(RA.isFalse({ 0: 1, length: 1 }));23 assert.isFalse(RA.isFalse(/x/));24 assert.isFalse(RA.isFalse({}));25 assert.isFalse(RA.isFalse([]));26 assert.isFalse(RA.isFalse(Infinity));27 assert.isFalse(RA.isFalse(-0));28 assert.isFalse(RA.isFalse(0));29 assert.isFalse(RA.isFalse(1));30 assert.isFalse(RA.isFalse(''));31 assert.isFalse(RA.isFalse(null));32 assert.isFalse(RA.isFalse(undefined));33 assert.isFalse(RA.isFalse(NaN));34 if (Symbol !== 'undefined') {35 assert.isFalse(RA.isFalse(Symbol));36 }37 });38 it('should support placeholder to specify "gaps"', function () {39 const isFalse = RA.isFalse(R.__);40 assert.isTrue(isFalse(false));41 });...
utils-test.js
Source: utils-test.js
...10 'calcRdx': function(utils) {11 assert.equal(utils.calcRdx(1e5, 1e10), 1e7);12 },13 'isArray': function(utils) {14 assert.isFalse(utils.isArray(true));15 assert.isFalse(utils.isArray({}));16 assert.isFalse(utils.isArray('123'));17 assert.isFalse(utils.isArray(/reg/));18 assert.isFalse(utils.isArray(1234));19 assert.isFalse(utils.isArray(function() {}));20 assert.isTrue(utils.isArray([]));21 },22 'isFunction': function(utils) {23 assert.isFalse(utils.isFunction(true));24 assert.isFalse(utils.isFunction([]));25 assert.isFalse(utils.isFunction({}));26 assert.isFalse(utils.isFunction('123'));27 assert.isFalse(utils.isFunction(/reg/));28 assert.isFalse(utils.isFunction(1234));29 assert.isTrue(utils.isFunction(function() {}));30 },31 'isNumber': function(utils) {32 assert.isFalse(utils.isNumber(true));33 assert.isFalse(utils.isNumber([]));34 assert.isFalse(utils.isNumber({}));35 assert.isFalse(utils.isNumber('123'));36 assert.isFalse(utils.isNumber(/reg/));37 assert.isFalse(utils.isNumber(function() {}));38 assert.isTrue(utils.isNumber(1234));39 }40 }41});...
Using AI Code Generation
1const { isFalse } = require('@playwright/test');2const { isFalse } = require('@playwright/test');3const { isFalse } = require('@playwright/test');4const { isFalse } = require('@playwright/test');5const { isFalse } = require('@playwright/test');6const { isFalse } = require('@playwright/test');7const { isFalse } = require('@playwright/test');8const { isFalse } = require('@playwright/test');9const { isFalse } = require('@playwright/test');10const { isFalse } = require('@playwright/test');11const { isFalse } = require('@playwright/test');12const { isFalse } = require('@playwright/test');
Using AI Code Generation
1const isFalse = require('@playwright/test/lib/utils').isFalse;2const isTrue = require('@playwright/test/lib/utils').isTrue;3const isNotNull = require('@playwright/test/lib/utils').isNotNull;4const isNull = require('@playwright/test/lib/utils').isNull;5const isNotUndefined = require('@playwright/test/lib/utils').isNotUndefined;6const isUndefined = require('@playwright/test/lib/utils').isUndefined;7const isNotNaN = require('@playwright/test/lib/utils').isNotNaN;8const isNaN = require('@playwright/test/lib/utils').isNaN;9const isNotString = require('@playwright/test/lib/utils').isNotString;10const isString = require('@playwright/test/lib/utils').isString;11const isNotNumber = require('@playwright/test/lib/utils').isNotNumber;12const isNumber = require('@playwright/test/lib/utils').isNumber;13const isNotArray = require('@playwright/test/lib/utils').isNotArray;14const isArray = require('@playwright/test/lib/utils').isArray;15const isNotObject = require('@playwright/test/lib/utils').isNotObject;16const isObject = require('@playwright/test/lib/utils').isObject;17const isNotBoolean = require('@playwright/test/lib/utils').isNotBoolean;18const isBoolean = require('@playwright
Using AI Code Generation
1const { isFalse } = require('@playwright/test/lib/utils/utils');2const { expect } = require('@playwright/test');3const { isFalse } = require('@playwright/test/lib/utils/utils');4const { expect } = require('@playwright/test');5test('My test', async ({ page }) => {6 expect(await isFalse(await page.isVisible('#non-existing'))).toBe(true);7 expect(await isFalse(await page.isVisible('#non-existing'))).toBe(true);8});9module.exports = {10 testMatch: ['**/tests/**/*.js?(x)'],11};12describe('Example test', () => {13 it('should work', async () => {14 await expect(page).toHaveSelector('#docs');15 });16});17describe('Example test', () => {18 it('should work', async () => {19 await expect(page).toHaveSelector('#docs');20 });21});22{23}24describe('Example test', () => {25 it('should work',
Jest + Playwright - Test callbacks of event-based DOM library
firefox browser does not start in playwright
Is it possible to get the selector from a locator object in playwright?
How to run a list of test suites in a single file concurrently in jest?
Running Playwright in Azure Function
firefox browser does not start in playwright
This question is quite close to a "need more focus" question. But let's try to give it some focus:
Does Playwright has access to the cPicker object on the page? Does it has access to the window object?
Yes, you can access both cPicker and the window object inside an evaluate call.
Should I trigger the events from the HTML file itself, and in the callbacks, print in the DOM the result, in some dummy-element, and then infer from that dummy element text that the callbacks fired?
Exactly, or you can assign values to a javascript variable:
const cPicker = new ColorPicker({
onClickOutside(e){
},
onInput(color){
window['color'] = color;
},
onChange(color){
window['result'] = color;
}
})
And then
it('Should call all callbacks with correct arguments', async() => {
await page.goto(`http://localhost:5000/tests/visual/basic.html`, {waitUntil:'load'})
// Wait until the next frame
await page.evaluate(() => new Promise(requestAnimationFrame))
// Act
// Assert
const result = await page.evaluate(() => window['color']);
// Check the value
})
Check out the latest blogs from LambdaTest on this topic:
Native apps are developed specifically for one platform. Hence they are fast and deliver superior performance. They can be downloaded from various app stores and are not accessible through browsers.
One of the essential parts when performing automated UI testing, whether using Selenium or another framework, is identifying the correct web elements the tests will interact with. However, if the web elements are not located correctly, you might get NoSuchElementException in Selenium. This would cause a false negative result because we won’t get to the actual functionality check. Instead, our test will fail simply because it failed to interact with the correct element.
Smartphones have changed the way humans interact with technology. Be it travel, fitness, lifestyle, video games, or even services, it’s all just a few touches away (quite literally so). We only need to look at the growing throngs of smartphone or tablet users vs. desktop users to grasp this reality.
As part of one of my consulting efforts, I worked with a mid-sized company that was looking to move toward a more agile manner of developing software. As with any shift in work style, there is some bewilderment and, for some, considerable anxiety. People are being challenged to leave their comfort zones and embrace a continuously changing, dynamic working environment. And, dare I say it, testing may be the most ‘disturbed’ of the software roles in agile development.
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!