Best JavaScript code snippet using ng-mocks
non-pattern-characters.js
Source:non-pattern-characters.js
1description(2"This page tests handling of characters which, according to ECMA 262, are not regular expression PatternCharacters. Those characters are: ^ $ \ . * + ? ( ) [ ] { } |"3);4// We test two cases, to match the two cases in the WREC parser.5// Test 1: the character stand-alone.6// Test 2: the character following a PatternCharacter.7var regexp;8// ^: Always allowed, always an assertion.9regexp = /^/g;10debug("\nTesting regexp: " + regexp);11shouldBeTrue("regexp.test('')");12shouldBe("regexp.lastIndex", "0");13regexp = /\n^/gm;14debug("\nTesting regexp: " + regexp);15shouldBeTrue("regexp.test('\\n\\n')");16shouldBe("regexp.lastIndex", "1");17// $: Always allowed, always an assertion.18regexp = /$/g;19debug("\nTesting regexp: " + regexp);20shouldBeTrue("regexp.test('')");21shouldBe("regexp.lastIndex", "0");22regexp = /\n$/gm;23debug("\nTesting regexp: " + regexp);24shouldBeTrue("regexp.test('\\n\\n')");25shouldBe("regexp.lastIndex", "1");26// \: Only allowed as a prefix. Contrary to spec, always treated as an27// IdentityEscape when followed by an invalid escape postfix.28regexp = /\z/;29debug("\nTesting regexp: " + regexp);30shouldBeTrue("regexp.test('z')"); // invalid postfix => IdentityEscape31regexp = /a\z/;32debug("\nTesting regexp: " + regexp);33shouldBeTrue("regexp.test('az')"); // invalid postfix => IdentityEscape34regexp = /\_/;35debug("\nTesting regexp: " + regexp);36shouldBeTrue("regexp.test('_')"); // invalid postfix => IdentityEscape37regexp = /a\_/;38debug("\nTesting regexp: " + regexp);39shouldBeTrue("regexp.test('a_')"); // invalid postfix => IdentityEscape40debug("\nTesting regexp: " + "[invalid \\ variations]");41shouldThrow("/\\/"); // no postfix => not allowed42shouldThrow("/a\\/"); // no postfix => not allowed43// .: Always allowed, always a non-newline wildcard.44regexp = /./;45debug("\nTesting regexp: " + regexp);46shouldBeTrue("regexp.test('a')");47shouldBeFalse("regexp.test('\\n')");48regexp = /a./;49debug("\nTesting regexp: " + regexp);50shouldBeTrue("regexp.test('aa')");51shouldBeFalse("regexp.test('a\\n')");52// *: Only allowed as a postfix to a PatternCharacter. Behaves as a {0,Infinity} quantifier.53regexp = /a*/gm;54debug("\nTesting regexp: " + regexp);55shouldBeTrue("regexp.test('b')");56shouldBe("regexp.lastIndex", "0");57shouldBeTrue("regexp.test('aaba')");58shouldBe("regexp.lastIndex", "2");59debug("\nTesting regexp: " + "[invalid * variations]");60shouldThrow("/*/"); // Unterminated comment.61shouldThrow("/^*/"); // Prefixed by ^ to avoid confusion with comment syntax.62// +: Only allowed as a postfix to a PatternCharacter. Behaves as a {1,Infinity} quantifier.63regexp = /a+/gm;64debug("\nTesting regexp: " + regexp);65shouldBeFalse("regexp.test('b')");66shouldBeTrue("regexp.test('aaba')");67shouldBe("regexp.lastIndex", "2");68debug("\nTesting regexp: " + "[invalid + variations]");69shouldThrow("/+/");70// ?: Only allowed as a postfix to a PatternCharacter. Behaves as a {0,1} quantifier.71regexp = /a?/gm;72debug("\nTesting regexp: " + regexp);73shouldBeTrue("regexp.test('b')");74shouldBe("regexp.lastIndex", "0");75shouldBeTrue("regexp.test('aaba')");76shouldBe("regexp.lastIndex", "1");77debug("\nTesting regexp: " + "[invalid ? variations]");78shouldThrow("/?/");79// (: Only allowed if it matches a ).80debug("\nTesting regexp: " + "[invalid ( variations]");81shouldThrow("/(/");82shouldThrow("/a(/");83// ): Only allowed if it matches a (.84debug("\nTesting regexp: " + "[invalid ) variations]");85shouldThrow("/)/");86shouldThrow("/a)/");87// [: Only allowed if it matches a ] and the stuff in between is a valid character class.88debug("\nTesting regexp: " + "[invalid [ variations]");89shouldThrow("/[/");90shouldThrow("/a[/");91shouldThrow("/[b-a]/");92shouldThrow("/a[b-a]/");93// ]: Closes a ]. Contrary to spec, if no [ was seen, acts as a regular PatternCharacter.94regexp = /]/gm;95debug("\nTesting regexp: " + regexp);96shouldBeTrue("regexp.test(']')");97shouldBe("regexp.lastIndex", "1");98regexp = /a]/gm;99debug("\nTesting regexp: " + regexp);100shouldBeTrue("regexp.test('a]')");101shouldBe("regexp.lastIndex", "2");102// {: Begins a quantifier. Contrary to spec, if no } is seen, or if the stuff in103// between does not lex as a quantifier, acts as a regular PatternCharacter. If104// the stuff in between does lex as a quantifier, but the quantifier is invalid,105// acts as a syntax error.106regexp = /{/gm;107debug("\nTesting regexp: " + regexp);108shouldBeTrue("regexp.test('{')");109shouldBe("regexp.lastIndex", "1");110regexp = /a{/gm;111debug("\nTesting regexp: " + regexp);112shouldBeTrue("regexp.test('a{')");113shouldBe("regexp.lastIndex", "2");114regexp = /{a/gm;115debug("\nTesting regexp: " + regexp);116shouldBeTrue("regexp.test('{a')");117shouldBe("regexp.lastIndex", "2");118regexp = /a{a/gm;119debug("\nTesting regexp: " + regexp);120shouldBeTrue("regexp.test('a{a')");121shouldBe("regexp.lastIndex", "3");122regexp = /{1,/gm;123debug("\nTesting regexp: " + regexp);124shouldBeTrue("regexp.test('{1,')");125shouldBe("regexp.lastIndex", "3");126regexp = /a{1,/gm;127debug("\nTesting regexp: " + regexp);128shouldBeTrue("regexp.test('a{1,')");129shouldBe("regexp.lastIndex", "4");130regexp = /{1,a/gm;131debug("\nTesting regexp: " + regexp);132shouldBeTrue("regexp.test('{1,a')");133shouldBe("regexp.lastIndex", "4");134regexp = /{1,0/gm;135debug("\nTesting regexp: " + regexp);136shouldBeTrue("regexp.test('{1,0')");137shouldBe("regexp.lastIndex", "4");138regexp = /{1, 0}/gm;139debug("\nTesting regexp: " + regexp);140shouldBeTrue("regexp.test('{1, 0}')");141shouldBe("regexp.lastIndex", "6");142regexp = /a{1, 0}/gm;143debug("\nTesting regexp: " + regexp);144shouldBeTrue("regexp.test('a{1, 0}')");145shouldBe("regexp.lastIndex", "7");146try { regexp = new RegExp("a{1,0", "gm"); } catch(e) { regexp = e; }; // Work around exception thrown in Firefox -- probably too weird to be worth matching. 147debug("\nTesting regexp: " + regexp);148shouldBeTrue("regexp.test('a{1,0')");149shouldBe("regexp.lastIndex", "5");150regexp = /a{0}/gm;151debug("\nTesting regexp: " + regexp);152shouldBeTrue("regexp.test('a')");153shouldBe("regexp.lastIndex", "0");154shouldBeTrue("regexp.test('b')");155shouldBe("regexp.lastIndex", "0");156debug("\nTesting regexp: " + "[invalid {} variations]");157shouldThrow("/{0}/");158shouldThrow("/{1,0}/");159shouldThrow("/a{1,0}/");160// }: Ends a quantifier. Same rules as for {.161regexp = /}/gm;162debug("\nTesting regexp: " + regexp);163shouldBeTrue("regexp.test('}')");164shouldBe("regexp.lastIndex", "1");165regexp = /a}/gm;166debug("\nTesting regexp: " + regexp);167shouldBeTrue("regexp.test('a}')");168shouldBe("regexp.lastIndex", "2");169// |: Always allowed, always separates two alternatives.170regexp = new RegExp("", "gm");171debug("\nTesting regexp: " + regexp);172shouldBeTrue("regexp.test('')");173shouldBe("regexp.lastIndex", "0");174regexp = /|/gm;175debug("\nTesting regexp: " + regexp);176shouldBeTrue("regexp.test('|')");177shouldBe("regexp.lastIndex", "0");178regexp = /a|/gm;179debug("\nTesting regexp: " + regexp);180shouldBeTrue("regexp.test('|')");...
RegExp_dollar_number.js
Source:RegExp_dollar_number.js
1/* The contents of this file are subject to the Netscape Public2 * License Version 1.1 (the "License"); you may not use this file3 * except in compliance with the License. You may obtain a copy of4 * the License at http://www.mozilla.org/NPL/5 *6 * Software distributed under the License is distributed on an "AS7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or8 * implied. See the License for the specific language governing9 * rights and limitations under the License.10 *11 * The Original Code is Mozilla Communicator client code, released March12 * 31, 1998.13 *14 * The Initial Developer of the Original Code is Netscape Communications15 * Corporation. Portions created by Netscape are16 * Copyright (C) 1998 Netscape Communications Corporation. All17 * Rights Reserved.18 *19 * Contributor(s): 20 * 21 */22/**23 Filename: RegExp_dollar_number.js24 Description: 'Tests RegExps $1, ..., $9 properties'2526 Author: Nick Lerissa27 Date: March 12, 199828*/2930 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"';31 var VERSION = 'no version';32 startTest();33 var TITLE = 'RegExp: $1, ..., $9';34 var BUGNUMBER="123802";3536 writeHeaderToLog('Executing script: RegExp_dollar_number.js');37 writeHeaderToLog( SECTION + " "+ TITLE);3839 var count = 0;40 var testcases = new Array();4142 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$143 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/);44 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$1",45 'abcdefghi', RegExp.$1);4647 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$248 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$2",49 'bcdefgh', RegExp.$2);5051 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$352 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$3",53 'cdefg', RegExp.$3);5455 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$456 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$4",57 'def', RegExp.$4);5859 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$560 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$5",61 'e', RegExp.$5);6263 // 'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$664 testcases[count++] = new TestCase ( SECTION, "'abcdefghi'.match(/(a(b(c(d(e)f)g)h)i)/); RegExp.$6",65 '', RegExp.$6);6667 var a_to_z = 'abcdefghijklmnopqrstuvwxyz';68 var regexp1 = /(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/69 // 'abcdefghijklmnopqrstuvwxyz'.match(/(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/); RegExp.$170 a_to_z.match(regexp1);7172 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$1",73 'a', RegExp.$1);74 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$2",75 'c', RegExp.$2);76 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$3",77 'e', RegExp.$3);78 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$4",79 'g', RegExp.$4);80 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$5",81 'i', RegExp.$5);82 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$6",83 'k', RegExp.$6);84 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$7",85 'm', RegExp.$7);86 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$8",87 'o', RegExp.$8);88 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$9",89 'q', RegExp.$9);90/*91 testcases[count++] = new TestCase ( SECTION, "'" + a_to_z + "'.match((a)b(c)....(y)z); RegExp.$10",92 's', RegExp.$10);93*/94 function test()95 {96 for ( tc=0; tc < testcases.length; tc++ ) {97 testcases[tc].passed = writeTestCaseResult(98 testcases[tc].expect,99 testcases[tc].actual,100 testcases[tc].description +" = "+101 testcases[tc].actual );102 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";103 }104 stopTest();105 return ( testcases );106 }107
...
unicode_restricted_octal_escape.js
Source:unicode_restricted_octal_escape.js
1// Copyright (C) 2015 André Bargull. All rights reserved.2// This code is governed by the BSD license found in the LICENSE file.3/*---4description: B.1.4 is not applied for Unicode RegExp - Octal escape sequences5info: >6 The compatibility extensions defined in B.1.4 Regular Expressions Patterns7 are not applied for Unicode RegExp.8 Tested extension: "CharacterEscape[U] :: [~U] LegacyOctalEscapeSequence"9es6id: 21.1.210---*/11// DecimalEscape without leading 0 in AtomEscape.12//13// AtomEscape[U] :: DecimalEscape14// DecimalEscape :: DecimalIntegerLiteral [lookahead /= DecimalDigit]15assert.throws(SyntaxError, function() {16 RegExp("\\1", "u");17}, 'RegExp("\\1", "u"): ');18assert.throws(SyntaxError, function() {19 RegExp("\\2", "u");20}, 'RegExp("\\2", "u"): ');21assert.throws(SyntaxError, function() {22 RegExp("\\3", "u");23}, 'RegExp("\\3", "u"): ');24assert.throws(SyntaxError, function() {25 RegExp("\\4", "u");26}, 'RegExp("\\4", "u"): ');27assert.throws(SyntaxError, function() {28 RegExp("\\5", "u");29}, 'RegExp("\\5", "u"): ');30assert.throws(SyntaxError, function() {31 RegExp("\\6", "u");32}, 'RegExp("\\6", "u"): ');33assert.throws(SyntaxError, function() {34 RegExp("\\7", "u");35}, 'RegExp("\\7", "u"): ');36assert.throws(SyntaxError, function() {37 RegExp("\\8", "u");38}, 'RegExp("\\8", "u"): ');39assert.throws(SyntaxError, function() {40 RegExp("\\9", "u");41}, 'RegExp("\\9", "u"): ');42// DecimalEscape without leading 0 in ClassEscape.43//44// ClassEscape[U] :: DecimalEscape45// DecimalEscape :: DecimalIntegerLiteral [lookahead /= DecimalDigit]46assert.throws(SyntaxError, function() {47 RegExp("[\\1]", "u");48}, 'RegExp("[\\1]", "u"): ');49assert.throws(SyntaxError, function() {50 RegExp("[\\2]", "u");51}, 'RegExp("[\\2]", "u"): ');52assert.throws(SyntaxError, function() {53 RegExp("[\\3]", "u");54}, 'RegExp("[\\3]", "u"): ');55assert.throws(SyntaxError, function() {56 RegExp("[\\4]", "u");57}, 'RegExp("[\\4]", "u"): ');58assert.throws(SyntaxError, function() {59 RegExp("[\\5]", "u");60}, 'RegExp("[\\5]", "u"): ');61assert.throws(SyntaxError, function() {62 RegExp("[\\6]", "u");63}, 'RegExp("[\\6]", "u"): ');64assert.throws(SyntaxError, function() {65 RegExp("[\\7]", "u");66}, 'RegExp("[\\7]", "u"): ');67assert.throws(SyntaxError, function() {68 RegExp("[\\8]", "u");69}, 'RegExp("[\\8]", "u"): ');70assert.throws(SyntaxError, function() {71 RegExp("[\\9]", "u");72}, 'RegExp("[\\9]", "u"): ');73// DecimalEscape with leading 0 in AtomEscape.74//75// Atom[U] :: DecimalEscape76// DecimalEscape :: DecimalIntegerLiteral [lookahead /= DecimalDigit]77assert.throws(SyntaxError, function() {78 RegExp("\\00", "u");79}, 'RegExp("\\00", "u"): ');80assert.throws(SyntaxError, function() {81 RegExp("\\01", "u");82}, 'RegExp("\\01", "u"): ');83assert.throws(SyntaxError, function() {84 RegExp("\\02", "u");85}, 'RegExp("\\02", "u"): ');86assert.throws(SyntaxError, function() {87 RegExp("\\03", "u");88}, 'RegExp("\\03", "u"): ');89assert.throws(SyntaxError, function() {90 RegExp("\\04", "u");91}, 'RegExp("\\04", "u"): ');92assert.throws(SyntaxError, function() {93 RegExp("\\05", "u");94}, 'RegExp("\\05", "u"): ');95assert.throws(SyntaxError, function() {96 RegExp("\\06", "u");97}, 'RegExp("\\06", "u"): ');98assert.throws(SyntaxError, function() {99 RegExp("\\07", "u");100}, 'RegExp("\\07", "u"): ');101assert.throws(SyntaxError, function() {102 RegExp("\\08", "u");103}, 'RegExp("\\08", "u"): ');104assert.throws(SyntaxError, function() {105 RegExp("\\09", "u");106}, 'RegExp("\\09", "u"): ');107// DecimalEscape with leading 0 in ClassEscape.108//109// ClassEscape[U] :: DecimalEscape110// DecimalEscape :: DecimalIntegerLiteral [lookahead /= DecimalDigit]111assert.throws(SyntaxError, function() {112 RegExp("[\\00]", "u");113}, 'RegExp("[\\00]", "u"): ');114assert.throws(SyntaxError, function() {115 RegExp("[\\01]", "u");116}, 'RegExp("[\\01]", "u"): ');117assert.throws(SyntaxError, function() {118 RegExp("[\\02]", "u");119}, 'RegExp("[\\02]", "u"): ');120assert.throws(SyntaxError, function() {121 RegExp("[\\03]", "u");122}, 'RegExp("[\\03]", "u"): ');123assert.throws(SyntaxError, function() {124 RegExp("[\\04]", "u");125}, 'RegExp("[\\04]", "u"): ');126assert.throws(SyntaxError, function() {127 RegExp("[\\05]", "u");128}, 'RegExp("[\\05]", "u"): ');129assert.throws(SyntaxError, function() {130 RegExp("[\\06]", "u");131}, 'RegExp("[\\06]", "u"): ');132assert.throws(SyntaxError, function() {133 RegExp("[\\07]", "u");134}, 'RegExp("[\\07]", "u"): ');135assert.throws(SyntaxError, function() {136 RegExp("[\\08]", "u");137}, 'RegExp("[\\08]", "u"): ');138assert.throws(SyntaxError, function() {139 RegExp("[\\09]", "u");140}, 'RegExp("[\\09]", "u"): ');...
RegExp_input_as_array.js
Source:RegExp_input_as_array.js
1/* The contents of this file are subject to the Netscape Public2 * License Version 1.1 (the "License"); you may not use this file3 * except in compliance with the License. You may obtain a copy of4 * the License at http://www.mozilla.org/NPL/5 *6 * Software distributed under the License is distributed on an "AS7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or8 * implied. See the License for the specific language governing9 * rights and limitations under the License.10 *11 * The Original Code is Mozilla Communicator client code, released March12 * 31, 1998.13 *14 * The Initial Developer of the Original Code is Netscape Communications15 * Corporation. Portions created by Netscape are16 * Copyright (C) 1998 Netscape Communications Corporation. All17 * Rights Reserved.18 *19 * Contributor(s): 20 * 21 */22/**23 Filename: RegExp_input_as_array.js24 Description: 'Tests RegExps $_ property (same tests as RegExp_input.js but using $_)'2526 Author: Nick Lerissa27 Date: March 13, 199828*/2930 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"';31 var VERSION = 'no version';32 startTest();33 var TITLE = 'RegExp: input';3435 writeHeaderToLog('Executing script: RegExp_input.js');36 writeHeaderToLog( SECTION + " "+ TITLE);3738 var count = 0;39 var testcases = new Array();4041 RegExp['$_'] = "abcd12357efg";4243 // RegExp['$_'] = "abcd12357efg"; RegExp['$_']44 RegExp['$_'] = "abcd12357efg";45 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; RegExp['$_']",46 "abcd12357efg", RegExp['$_']);4748 // RegExp['$_'] = "abcd12357efg"; /\d+/.exec('2345')49 RegExp['$_'] = "abcd12357efg";50 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec('2345')",51 String(["2345"]), String(/\d+/.exec('2345')));5253 // RegExp['$_'] = "abcd12357efg"; /\d+/.exec(RegExp.input)54 RegExp['$_'] = "abcd12357efg";55 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.exec(RegExp.input)",56 String(["12357"]), String(/\d+/.exec(RegExp.input)));5758 // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.exec(RegExp.input)59 RegExp['$_'] = "abcd12357efg";60 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.exec(RegExp.input)",61 null, /[h-z]+/.exec(RegExp.input));6263 // RegExp['$_'] = "abcd12357efg"; /\d+/.test('2345')64 RegExp['$_'] = "abcd12357efg";65 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test('2345')",66 true, /\d+/.test('2345'));6768 // RegExp['$_'] = "abcd12357efg"; /\d+/.test(RegExp.input)69 RegExp['$_'] = "abcd12357efg";70 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /\\d+/.test(RegExp.input)",71 true, /\d+/.test(RegExp.input));7273 // RegExp['$_'] = "abcd12357efg"; /[h-z]+/.test(RegExp.input)74 RegExp['$_'] = "abcd12357efg";75 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; /[h-z]+/.test(RegExp.input)",76 false, /[h-z]+/.test(RegExp.input));7778 // RegExp['$_'] = "abcd12357efg"; (new RegExp('\d+')).test(RegExp.input)79 RegExp['$_'] = "abcd12357efg";80 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('\d+')).test(RegExp.input)",81 true, (new RegExp('\d+')).test(RegExp.input));8283 // RegExp['$_'] = "abcd12357efg"; (new RegExp('[h-z]+')).test(RegExp.input)84 RegExp['$_'] = "abcd12357efg";85 testcases[count++] = new TestCase ( SECTION, "RegExp['$_'] = 'abcd12357efg'; (new RegExp('[h-z]+')).test(RegExp.input)",86 false, (new RegExp('[h-z]+')).test(RegExp.input));8788 function test()89 {90 for ( tc=0; tc < testcases.length; tc++ ) {91 testcases[tc].passed = writeTestCaseResult(92 testcases[tc].expect,93 testcases[tc].actual,94 testcases[tc].description +" = "+95 testcases[tc].actual );96 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";97 }98 stopTest();99 return ( testcases );100 }101
...
RegExp_input.js
Source:RegExp_input.js
1/* The contents of this file are subject to the Netscape Public2 * License Version 1.1 (the "License"); you may not use this file3 * except in compliance with the License. You may obtain a copy of4 * the License at http://www.mozilla.org/NPL/5 *6 * Software distributed under the License is distributed on an "AS7 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or8 * implied. See the License for the specific language governing9 * rights and limitations under the License.10 *11 * The Original Code is Mozilla Communicator client code, released March12 * 31, 1998.13 *14 * The Initial Developer of the Original Code is Netscape Communications15 * Corporation. Portions created by Netscape are16 * Copyright (C) 1998 Netscape Communications Corporation. All17 * Rights Reserved.18 *19 * Contributor(s): 20 * 21 */22/**23 Filename: RegExp_input.js24 Description: 'Tests RegExps input property'2526 Author: Nick Lerissa27 Date: March 13, 199828*/2930 var SECTION = 'As described in Netscape doc "Whats new in JavaScript 1.2"';31 var VERSION = 'no version';32 startTest();33 var TITLE = 'RegExp: input';3435 writeHeaderToLog('Executing script: RegExp_input.js');36 writeHeaderToLog( SECTION + " "+ TITLE);3738 var count = 0;39 var testcases = new Array();4041 RegExp.input = "abcd12357efg";4243 // RegExp.input = "abcd12357efg"; RegExp.input44 RegExp.input = "abcd12357efg";45 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; RegExp.input",46 "abcd12357efg", RegExp.input);4748 // RegExp.input = "abcd12357efg"; /\d+/.exec('2345')49 RegExp.input = "abcd12357efg";50 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /\\d+/.exec('2345')",51 String(["2345"]), String(/\d+/.exec('2345')));5253 // RegExp.input = "abcd12357efg"; /\d+/.exec(RegExp.input)54 RegExp.input = "abcd12357efg";55 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /\\d+/.exec(RegExp.input)",56 String(["12357"]), String(/\d+/.exec(RegExp.input)));5758 // RegExp.input = "abcd12357efg"; /[h-z]+/.exec(RegExp.input)59 RegExp.input = "abcd12357efg";60 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /[h-z]+/.exec(RegExp.input)",61 null, /[h-z]+/.exec(RegExp.input));6263 // RegExp.input = "abcd12357efg"; /\d+/.test('2345')64 RegExp.input = "abcd12357efg";65 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /\\d+/.test('2345')",66 true, /\d+/.test('2345'));6768 // RegExp.input = "abcd12357efg"; /\d+/.test(RegExp.input)69 RegExp.input = "abcd12357efg";70 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /\\d+/.test(RegExp.input)",71 true, /\d+/.test(RegExp.input));7273 // RegExp.input = "abcd12357efg"; (new RegExp('d+')).test(RegExp.input)74 RegExp.input = "abcd12357efg";75 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; (new RegExp('d+')).test(RegExp.input)",76 true, (new RegExp('d+')).test(RegExp.input));7778 // RegExp.input = "abcd12357efg"; /[h-z]+/.test(RegExp.input)79 RegExp.input = "abcd12357efg";80 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; /[h-z]+/.test(RegExp.input)",81 false, /[h-z]+/.test(RegExp.input));8283 // RegExp.input = "abcd12357efg"; (new RegExp('[h-z]+')).test(RegExp.input)84 RegExp.input = "abcd12357efg";85 testcases[count++] = new TestCase ( SECTION, "RegExp.input = 'abcd12357efg'; (new RegExp('[h-z]+')).test(RegExp.input)",86 false, (new RegExp('[h-z]+')).test(RegExp.input));8788 function test()89 {90 for ( tc=0; tc < testcases.length; tc++ ) {91 testcases[tc].passed = writeTestCaseResult(92 testcases[tc].expect,93 testcases[tc].actual,94 testcases[tc].description +" = "+95 testcases[tc].actual );96 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";97 }98 stopTest();99 return ( testcases );100 }101
...
TemplatedPathPlugin.js
Source:TemplatedPathPlugin.js
1/*2 MIT License http://www.opensource.org/licenses/mit-license.php3 Author Jason Anderson @diurnalist4*/5"use strict";67const REGEXP_HASH = /\[hash(?::(\d+))?\]/gi,8 REGEXP_CHUNKHASH = /\[chunkhash(?::(\d+))?\]/gi,9 REGEXP_NAME = /\[name\]/gi,10 REGEXP_ID = /\[id\]/gi,11 REGEXP_FILE = /\[file\]/gi,12 REGEXP_QUERY = /\[query\]/gi,13 REGEXP_FILEBASE = /\[filebase\]/gi;1415// Using global RegExp for .test is dangerous16// We use a normal RegExp instead of .test17const REGEXP_HASH_FOR_TEST = new RegExp(REGEXP_HASH.source, "i"),18 REGEXP_CHUNKHASH_FOR_TEST = new RegExp(REGEXP_CHUNKHASH.source, "i"),19 REGEXP_NAME_FOR_TEST = new RegExp(REGEXP_NAME.source, "i");2021// TODO: remove in webpack 322// Backwards compatibility; expose regexes on Template object23const Template = require("./Template");24Template.REGEXP_HASH = REGEXP_HASH;25Template.REGEXP_CHUNKHASH = REGEXP_CHUNKHASH;26Template.REGEXP_NAME = REGEXP_NAME;27Template.REGEXP_ID = REGEXP_ID;28Template.REGEXP_FILE = REGEXP_FILE;29Template.REGEXP_QUERY = REGEXP_QUERY;30Template.REGEXP_FILEBASE = REGEXP_FILEBASE;3132const withHashLength = (replacer, handlerFn) => {33 return function(_, hashLength) {34 const length = hashLength && parseInt(hashLength, 10);35 if(length && handlerFn) {36 return handlerFn(length);37 }38 const hash = replacer.apply(this, arguments);39 return length ? hash.slice(0, length) : hash;40 };41};4243const getReplacer = (value, allowEmpty) => {44 return function(match) {45 // last argument in replacer is the entire input string46 const input = arguments[arguments.length - 1];47 if(value === null || value === undefined) {48 if(!allowEmpty) throw new Error(`Path variable ${match} not implemented in this context: ${input}`);49 return "";50 } else {51 return `${value}`;52 }53 };54};5556const replacePathVariables = (path, data) => {57 const chunk = data.chunk;58 const chunkId = chunk && chunk.id;59 const chunkName = chunk && (chunk.name || chunk.id);60 const chunkHash = chunk && (chunk.renderedHash || chunk.hash);61 const chunkHashWithLength = chunk && chunk.hashWithLength;6263 if(data.noChunkHash && REGEXP_CHUNKHASH_FOR_TEST.test(path)) {64 throw new Error(`Cannot use [chunkhash] for chunk in '${path}' (use [hash] instead)`);65 }6667 return path68 .replace(REGEXP_HASH, withHashLength(getReplacer(data.hash), data.hashWithLength))69 .replace(REGEXP_CHUNKHASH, withHashLength(getReplacer(chunkHash), chunkHashWithLength))70 .replace(REGEXP_ID, getReplacer(chunkId))71 .replace(REGEXP_NAME, getReplacer(chunkName))72 .replace(REGEXP_FILE, getReplacer(data.filename))73 .replace(REGEXP_FILEBASE, getReplacer(data.basename))74 // query is optional, it's OK if it's in a path but there's nothing to replace it with75 .replace(REGEXP_QUERY, getReplacer(data.query, true));76};7778class TemplatedPathPlugin {79 apply(compiler) {80 compiler.plugin("compilation", compilation => {81 const mainTemplate = compilation.mainTemplate;8283 mainTemplate.plugin("asset-path", replacePathVariables);8485 mainTemplate.plugin("global-hash", function(chunk, paths) {86 const outputOptions = this.outputOptions;87 const publicPath = outputOptions.publicPath || "";88 const filename = outputOptions.filename || "";89 const chunkFilename = outputOptions.chunkFilename || outputOptions.filename;90 if(REGEXP_HASH_FOR_TEST.test(publicPath) || REGEXP_CHUNKHASH_FOR_TEST.test(publicPath) || REGEXP_NAME_FOR_TEST.test(publicPath))91 return true;92 if(REGEXP_HASH_FOR_TEST.test(filename))93 return true;94 if(REGEXP_HASH_FOR_TEST.test(chunkFilename))95 return true;96 if(REGEXP_HASH_FOR_TEST.test(paths.join("|")))97 return true;98 });99100 mainTemplate.plugin("hash-for-chunk", function(hash, chunk) {101 const outputOptions = this.outputOptions;102 const chunkFilename = outputOptions.chunkFilename || outputOptions.filename;103 if(REGEXP_CHUNKHASH_FOR_TEST.test(chunkFilename))104 hash.update(JSON.stringify(chunk.getChunkMaps(true, true).hash));105 if(REGEXP_NAME_FOR_TEST.test(chunkFilename))106 hash.update(JSON.stringify(chunk.getChunkMaps(true, true).name));107 });108 });109 }110}111
...
unicode_restricted_quantifiable_assertion.js
Source:unicode_restricted_quantifiable_assertion.js
1// Copyright (C) 2015 André Bargull. All rights reserved.2// This code is governed by the BSD license found in the LICENSE file.3/*---4description: B.1.4 is not applied for Unicode RegExp - Production 'QuantifiableAssertion Quantifier'5info: >6 The compatibility extensions defined in B.1.4 Regular Expressions Patterns7 are not applied for Unicode RegExps.8 Tested extension: "ExtendedTerm :: QuantifiableAssertion Quantifier"9es6id: 21.1.210---*/11// Positive lookahead with quantifier.12assert.throws(SyntaxError, function() {13 RegExp("(?=.)*", "u");14}, 'RegExp("(?=.)*", "u"): ');15assert.throws(SyntaxError, function() {16 RegExp("(?=.)+", "u");17}, 'RegExp("(?=.)+", "u"): ');18assert.throws(SyntaxError, function() {19 RegExp("(?=.)?", "u");20}, 'RegExp("(?=.)?", "u"): ');21assert.throws(SyntaxError, function() {22 RegExp("(?=.){1}", "u");23}, 'RegExp("(?=.){1}", "u"): ');24assert.throws(SyntaxError, function() {25 RegExp("(?=.){1,}", "u");26}, 'RegExp("(?=.){1,}", "u"): ');27assert.throws(SyntaxError, function() {28 RegExp("(?=.){1,2}", "u");29}, 'RegExp("(?=.){1,2}", "u"): ');30// Positive lookahead with reluctant quantifier.31assert.throws(SyntaxError, function() {32 RegExp("(?=.)*?", "u");33}, 'RegExp("(?=.)*?", "u"): ');34assert.throws(SyntaxError, function() {35 RegExp("(?=.)+?", "u");36}, 'RegExp("(?=.)+?", "u"): ');37assert.throws(SyntaxError, function() {38 RegExp("(?=.)??", "u");39}, 'RegExp("(?=.)??", "u"): ');40assert.throws(SyntaxError, function() {41 RegExp("(?=.){1}?", "u");42}, 'RegExp("(?=.){1}?", "u"): ');43assert.throws(SyntaxError, function() {44 RegExp("(?=.){1,}?", "u");45}, 'RegExp("(?=.){1,}?", "u"): ');46assert.throws(SyntaxError, function() {47 RegExp("(?=.){1,2}?", "u");48}, 'RegExp("(?=.){1,2}?", "u"): ');49// Negative lookahead with quantifier.50assert.throws(SyntaxError, function() {51 RegExp("(?!.)*", "u");52}, 'RegExp("(?!.)*", "u"): ');53assert.throws(SyntaxError, function() {54 RegExp("(?!.)+", "u");55}, 'RegExp("(?!.)+", "u"): ');56assert.throws(SyntaxError, function() {57 RegExp("(?!.)?", "u");58}, 'RegExp("(?!.)?", "u"): ');59assert.throws(SyntaxError, function() {60 RegExp("(?!.){1}", "u");61}, 'RegExp("(?!.){1}", "u"): ');62assert.throws(SyntaxError, function() {63 RegExp("(?!.){1,}", "u");64}, 'RegExp("(?!.){1,}", "u"): ');65assert.throws(SyntaxError, function() {66 RegExp("(?!.){1,2}", "u");67}, 'RegExp("(?!.){1,2}", "u"): ');68// Negative lookahead with reluctant quantifier.69assert.throws(SyntaxError, function() {70 RegExp("(?!.)*?", "u");71}, 'RegExp("(?!.)*?", "u"): ');72assert.throws(SyntaxError, function() {73 RegExp("(?!.)+?", "u");74}, 'RegExp("(?!.)+?", "u"): ');75assert.throws(SyntaxError, function() {76 RegExp("(?!.)??", "u");77}, 'RegExp("(?!.)??", "u"): ');78assert.throws(SyntaxError, function() {79 RegExp("(?!.){1}?", "u");80}, 'RegExp("(?!.){1}?", "u"): ');81assert.throws(SyntaxError, function() {82 RegExp("(?!.){1,}?", "u");83}, 'RegExp("(?!.){1,}?", "u"): ');84assert.throws(SyntaxError, function() {85 RegExp("(?!.){1,2}?", "u");86}, 'RegExp("(?!.){1,2}?", "u"): ');...
hex-001.js
Source:hex-001.js
1/**2 * File Name: RegExp/hex-001.js3 * ECMA Section: 15.7.3.14 * Description: Based on ECMA 2 Draft 7 February 19995 * Positive test cases for constructing a RegExp object6 * Author: christine@netscape.com7 * Date: 19 February 19998 */9 var SECTION = "RegExp/hex-001";10 var VERSION = "ECMA_2";11 var TITLE = "RegExp patterns that contain HexicdecimalEscapeSequences";1213 startTest();1415 // These examples come from 15.7.1, HexidecimalEscapeSequence1617 AddRegExpCases( new RegExp("\x41"), "new RegExp('\\x41')", "A", "A", 1, 0, ["A"] );18 AddRegExpCases( new RegExp("\x412"),"new RegExp('\\x412')", "A2", "A2", 1, 0, ["A2"] );19 AddRegExpCases( new RegExp("\x1g"), "new RegExp('\\x1g')", "x1g","x1g", 1, 0, ["x1g"] );2021 AddRegExpCases( new RegExp("A"), "new RegExp('A')", "\x41", "\\x41", 1, 0, ["A"] );22 AddRegExpCases( new RegExp("A"), "new RegExp('A')", "\x412", "\\x412", 1, 0, ["A"] );23 AddRegExpCases( new RegExp("^x"), "new RegExp('^x')", "x412", "x412", 1, 0, ["x"]);24 AddRegExpCases( new RegExp("A"), "new RegExp('A')", "A2", "A2", 1, 0, ["A"] );2526 test();2728function AddRegExpCases(29 regexp, str_regexp, pattern, str_pattern, length, index, matches_array ) {3031 // prevent a runtime error3233 if ( regexp.exec(pattern) == null || matches_array == null ) {34 AddTestCase(35 str_regexp + ".exec(" + pattern +")",36 matches_array,37 regexp.exec(pattern) );3839 return;40 }4142 AddTestCase(43 str_regexp + ".exec(" + str_pattern +").length",44 length,45 regexp.exec(pattern).length );4647 AddTestCase(48 str_regexp + ".exec(" + str_pattern +").index",49 index,50 regexp.exec(pattern).index );5152 AddTestCase(53 str_regexp + ".exec(" + str_pattern +").input",54 pattern,55 regexp.exec(pattern).input );5657 for ( var matches = 0; matches < matches_array.length; matches++ ) {58 AddTestCase(59 str_regexp + ".exec(" + str_pattern +")[" + matches +"]",60 matches_array[matches],61 regexp.exec(pattern)[matches] );62 }
...
Using AI Code Generation
1import { MockBuilder, MockRender } from 'ng-mocks';2import { AppModule } from './app.module';3import { AppComponent } from './app.component';4import { By } from '@angular/platform-browser';5describe('AppComponent', () => {6 beforeEach(() => MockBuilder(AppComponent, AppModule));7 it('should render title', () => {8 const fixture = MockRender(AppComponent);9 const title = fixture.debugElement.query(By.css('h1'));10 expect(title.nativeElement.textContent).toMatch(/app works!/);11 });12});13import { Component } from '@angular/core';14@Component({15})16export class AppComponent {17 title = 'app works!';18}19 {{title}}20import { BrowserModule } from '@angular/platform-browser';21import { NgModule } from '@angular/core';22import { AppComponent } from './app.component';23@NgModule({24 imports: [25})26export class AppModule { }27h1 {28 color: red;29}30module.exports = function(config) {31 config.set({32 require('karma-jasmine'),33 require('karma-chrome-launcher'),34 require('karma-jasmine-html-reporter'),35 require('karma-coverage-istanbul-reporter'),36 require('@angular/cli/plugins/karma')37 client:{38 },39 coverageIstanbulReporter: {40 },41 angularCli: {42 },43 });44};
Using AI Code Generation
1import { MockBuilder, MockRender } from 'ng-mocks';2import { AppModule } from './app.module';3import { MyComponent } from './my.component';4beforeEach(() => MockBuilder(MyComponent).keep(AppModule));5it('has a title', () => {6 const fixture = MockRender(MyComponent);7 const element = fixture.debugElement.query(8 By.css(/title/),9 );10 expect(element.nativeElement.textContent).toContain('Hello World!');11});12import { MockBuilder, MockRender } from 'ng-mocks';13import { AppModule } from './app.module';14import { MyComponent } from './my.component';15beforeEach(() => MockBuilder(MyComponent).keep(AppModule));16it('has a title', () => {17 const fixture = MockRender(MyComponent);18 const element = fixture.debugElement.query(19 By.css(/title/),20 );21 expect(element.nativeElement.textContent).toContain('Hello World!');22});23import { MockBuilder, MockRender } from 'ng-mocks';24import { AppModule } from './app.module';25import { MyComponent } from './my.component';26beforeEach(() => MockBuilder(MyComponent).keep(AppModule));27it('has a title', () => {28 const fixture = MockRender(MyComponent);29 const element = fixture.debugElement.query(30 By.css(/title/),31 );32 expect(element.nativeElement.textContent).toContain('Hello World!');33});34import { MockBuilder, MockRender } from 'ng-mocks';35import { AppModule } from './app.module';36import { MyComponent } from './my.component';37beforeEach(() => MockBuilder(MyComponent).keep(AppModule));38it('has a title',
Using AI Code Generation
1const ngMocks = require('ng-mocks');2ngMocks.defaultForTest('core');3ngMocks.defaultForTest('common');4ngMocks.defaultForTest('platform-browser');5ngMocks.defaultForTest('platform-browser-dynamic');6ngMocks.defaultForTest('router');7ngMocks.defaultForTest('http');8ngMocks.defaultForTest('forms');9ngMocks.defaultForTest('animations');10ngMocks.defaultForTest('upgrade');11ngMocks.defaultForTest('upgrade/static');12ngMocks.defaultForTest('testing');13ngMocks.defaultForTest('compiler/testing');14ngMocks.defaultForTest('platform-server');15ngMocks.defaultForTest('platform-webworker');16ngMocks.defaultForTest('platform-webworker-dynamic');17ngMocks.defaultForTest('platform-browser/animations');18ngMocks.defaultForTest('platform-browser-dynamic/animations');19ngMocks.defaultForTest('platform-server/animations');20ngMocks.defaultForTest('platform-webworker/animations');21ngMocks.defaultForTest('platform-webworker-dynamic/animations');22ngMocks.defaultForTest('router/testing');23ngMocks.defaultForTest('http/testing');24ngMocks.defaultForTest('upgrade/static/testing');25ngMocks.defaultForTest('testing/browser');26ngMocks.defaultForTest('testing/browser/animations');27ngMocks.defaultForTest('testing/e2e');28ngMocks.defaultForTest('testing/server');29ngMocks.defaultForTest('testing/src/before_each');30ngMocks.defaultForTest('testing/src/test_bed');31ngMocks.defaultForTest('testing/testing_internal');32ngMocks.defaultForTest('testing/src/testing_internal');33ngMocks.defaultForTest('testing/src/fake_async');
Using AI Code Generation
1const ngMocks = require('ng-mocks');2const test = ngMocks.guts('test', 'test');3console.log(test);4const ngMocks = require('ng-mocks');5const test = ngMocks.guts('test', 'test');6console.log(test);7const ngMocks = require('ng-mocks');8const test = ngMocks.guts('test', 'test');9console.log(test);10const ngMocks = require('ng-mocks');11const test = ngMocks.guts('test', 'test');12console.log(test);13const ngMocks = require('ng-mocks');14const test = ngMocks.guts('test', 'test');15console.log(test);16const ngMocks = require('ng-mocks');17const test = ngMocks.guts('test', 'test');18console.log(test);19const ngMocks = require('ng-mocks');20const test = ngMocks.guts('test', 'test');21console.log(test);22const ngMocks = require('ng-mocks');23const test = ngMocks.guts('test', 'test');24console.log(test);25const ngMocks = require('ng-mocks');26const test = ngMocks.guts('test', 'test');27console.log(test);28const ngMocks = require('ng-mocks');29const test = ngMocks.guts('test', 'test');30console.log(test);31const ngMocks = require('ng-mocks');32const test = ngMocks.guts('test', 'test');33console.log(test);34const ngMocks = require('ng-mocks');35const test = ngMocks.guts('test', 'test');36console.log(test);37const ngMocks = require('ng-mocks');38const test = ngMocks.guts('test', 'test');39console.log(test);
Using AI Code Generation
1const regExp = /foo/;2const mock = ngMocks.findInstance(regExp);3const mock = ngMocks.findInstance('foo');4const mock = ngMocks.findInstance('foo');5const regExp = /foo/;6const mock = ngMocks.findInstance(regExp);7const mock = ngMocks.findInstance('foo');8const mock = ngMocks.findInstance('foo');9const regExp = /foo/;10const mock = ngMocks.findInstance(regExp);11const mock = ngMocks.findInstance('foo');12const mock = ngMocks.findInstance('foo');13const regExp = /foo/;14const mock = ngMocks.findInstance(regExp);15const mock = ngMocks.findInstance('foo');16const mock = ngMocks.findInstance('foo');17const regExp = /foo/;18const mock = ngMocks.findInstance(regExp);19const mock = ngMocks.findInstance('foo');20const mock = ngMocks.findInstance('foo');21const regExp = /foo/;22const mock = ngMocks.findInstance(regExp);23const mock = ngMocks.findInstance('foo');24const mock = ngMocks.findInstance('foo');25const regExp = /foo/;26const mock = ngMocks.findInstance(regExp);27const mock = ngMocks.findInstance('foo
Using AI Code Generation
1import { ngMocks } from 'ng-mocks';2const fixture = ngMocks.findInstance(Fixture);3const component = ngMocks.findInstance(Component);4const fixture = jasmine.findInstance(Fixture);5const component = jasmine.findInstance(Component);6The ngMocks.findInstance() and ngMocks.findInstances() methods can be used to find the instance of a component
Using AI Code Generation
1describe('Directive: ngEnter', function () {2 scope;3 beforeEach(module('app'));4 beforeEach(inject(function ($rootScope) {5 scope = $rootScope.$new();6 }));7 it('should make hidden element visible', inject(function ($compile) {8 element = angular.element('<div ng-enter="doSomething()"></div>');9 element = $compile(element)(scope);10 expect(element.text()).toBe('this is the ngEnter directive');11 }));12});
Using AI Code Generation
1import { TestBed } from '@angular/core/testing';2import { Component } from '@angular/core';3import { By } from '@angular/platform-browser';4import { expect } from 'chai';5@Component({6})7class TestComponent {8 text = 'Hello';9}10describe('ng-mocks', () => {11 beforeEach(() => {12 TestBed.configureTestingModule({13 });14 });15 it('should test textContent', () => {16 const fixture = TestBed.createComponent(TestComponent);17 fixture.detectChanges();18 const span = fixture.debugElement.query(By.css('span'));19 expect(span.nativeElement.textContent).to.equal('Hello');20 });21});22import './test';23module.exports = function (config) {24 config.set({25 preprocessors: {26 },27 webpack: {28 module: {29 {30 },31 {32 }33 }34 }35 });36};37{38 "scripts": {39 }40}41module.exports = function (config) {42 config.set({43 preprocessors: {44 },45 webpack: {46 module: {47 {48 },49 {50 }51 }52 }53 });54};
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!!