57bc75fb98
It was shipped in Chrome 64. Bug: v8:4743 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I1084f55d19c0370d344acedeab630f03c02f49e5 Reviewed-on: https://chromium-review.googlesource.com/1086799 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#53514}
75 lines
3.2 KiB
JavaScript
75 lines
3.2 KiB
JavaScript
// Copyright 2017 the V8 project authors. All rights reserved.
|
||
// Use of this source code is governed by a BSD-style license that can be
|
||
// found in the LICENSE file.
|
||
|
||
// Flags: --regexp-mode-modifiers
|
||
|
||
// These regexps are just grepped out of the other tests we already have
|
||
// and the syntax changed from out-of-line i flag to inline i flag.
|
||
|
||
assertFalse(/(?i)x(...)\1/.test("x\u03a3\u03c2\u03c3\u03c2\u03c3"));
|
||
assertTrue(/(?i)\u03a3((?:))\1\1x/.test("\u03c2x"), "backref-UC16-empty");
|
||
assertTrue(/(?i)x(?:...|(...))\1x/.test("x\u03a3\u03c2\u03c3x"));
|
||
assertTrue(/(?i)x(?:...|(...))\1x/.test("x\u03c2\u03c3\u039b\u03a3\u03c2\u03bbx"));
|
||
assertFalse(/(?i)\xc1/.test('fooA'), "quickcheck-uc16-pattern-ascii-subject");
|
||
assertFalse(/(?i)x(...)\1/.test("xaaaaa"), "backref-ASCII-short");
|
||
assertTrue(/(?i)x((?:))\1\1x/.test("xx"), "backref-ASCII-empty");
|
||
assertTrue(/(?i)x(?:...|(...))\1x/.test("xabcx"), "backref-ASCII-uncaptured");
|
||
assertTrue(/(?i)x(?:...|(...))\1x/.test("xabcABCx"), "backref-ASCII-backtrack");
|
||
assertFalse(/(?i)f/.test('b'));
|
||
assertFalse(/(?i)[abc]f/.test('x'));
|
||
assertFalse(/(?i)[abc]f/.test('xa'));
|
||
assertFalse(/(?i)[abc]</.test('x'));
|
||
assertFalse(/(?i)[abc]</.test('xa'));
|
||
assertFalse(/(?i)f[abc]/.test('x'));
|
||
assertFalse(/(?i)f[abc]/.test('xa'));
|
||
assertFalse(/(?i)<[abc]/.test('x'));
|
||
assertFalse(/(?i)<[abc]/.test('xa'));
|
||
assertFalse(/(?i)[\u00e5]/.test("\u212b"));
|
||
assertFalse(/(?i)[\u212b]/.test("\u00e5\u1234"));
|
||
assertFalse(/(?i)[\u212b]/.test("\u00e5"));
|
||
assertFalse(/(?i)\u{10400}/.test("\u{10428}"));
|
||
assertFalse(/(?i)[\u00e5]/.test("\u212b"));
|
||
assertFalse(/(?i)[\u212b]/.test("\u00e5\u1234"));
|
||
assertFalse(/(?i)[\u212b]/.test("\u00e5"));
|
||
assertFalse(/(?i)\u{10400}/.test("\u{10428}"));
|
||
assertTrue(/(?i)[@-A]/.test("a"));
|
||
assertTrue(/(?i)[@-A]/.test("A"));
|
||
assertTrue(/(?i)[@-A]/.test("@"));
|
||
assertFalse(/(?i)[¿-À]/.test('¾'));
|
||
assertTrue(/(?i)[¿-À]/.test('¿'));
|
||
assertTrue(/(?i)[¿-À]/.test('À'));
|
||
assertTrue(/(?i)[¿-À]/.test('à'));
|
||
assertFalse(/(?i)[¿-À]/.test('á'));
|
||
assertFalse(/(?i)[¿-À]/.test('Á'));
|
||
assertFalse(/(?i)[¿-À]/.test('Á'));
|
||
assertFalse(/(?i)[Ö-×]/.test('Õ'));
|
||
assertTrue(/(?i)[Ö-×]/.test('Ö'));
|
||
assertTrue(/(?i)[Ö-×]/.test('ö'));
|
||
assertTrue(/(?i)[Ö-×]/.test('×'));
|
||
assertFalse(/(?i)[Ö-×]/.test('Ø'));
|
||
assertTrue(/(?i)(a[\u1000A])+/.test('aa'));
|
||
assertTrue(/(?i)\u0178/.test('\u00ff'));
|
||
assertTrue(/(?i)\u039c/.test('\u00b5'));
|
||
assertTrue(/(?i)\u039c/.test('\u03bc'));
|
||
assertTrue(/(?i)\u00b5/.test('\u03bc'));
|
||
assertTrue(/(?i)[\u039b-\u039d]/.test('\u00b5'));
|
||
assertFalse(/(?i)[^\u039b-\u039d]/.test('\u00b5'));
|
||
|
||
assertTrue(/(?m)^bar/.test("bar"));
|
||
assertTrue(/(?m)^bar/.test("bar\nfoo"));
|
||
assertTrue(/(?m)^bar/.test("foo\nbar"));
|
||
assertTrue(/(?m)bar$/.test("bar"));
|
||
assertTrue(/(?m)bar$/.test("bar\nfoo"));
|
||
assertTrue(/(?m)bar$/.test("foo\nbar"));
|
||
assertFalse(/(?m)^bxr/.test("bar"));
|
||
assertFalse(/(?m)^bxr/.test("bar\nfoo"));
|
||
assertFalse(/(?m)^bxr/.test("foo\nbar"));
|
||
assertFalse(/(?m)bxr$/.test("bar"));
|
||
assertFalse(/(?m)bxr$/.test("bar\nfoo"));
|
||
assertFalse(/(?m)bxr$/.test("foo\nbar"));
|
||
assertTrue(/(?m)^.*$/.test("\n"));
|
||
assertTrue(/(?m)^([()]|.)*$/.test("()\n()"));
|
||
assertTrue(/(?m)^([()]|.)*$/.test("()\n"));
|
||
assertTrue(/(?m)^[()]*$/.test("()\n."));
|