mirror of https://github.com/tc39/test262.git
Additional tests for QuantifiableAssertion
- Tests that lookahead and lookbehind are not extended to QuantifiableAssertion, as in https://github.com/tc39/ecma262/pull/1102 - Additional tests verifying some more combinations of cases for QuantifiableAssertion being invalid in Unicode mode. Based on the tests in https://chromium-review.googlesource.com/c/v8/v8/+/926102 These tests pass on V8 (if the throw for early errors is removed to work around a V8 issue where RegExps don't have early errors).
This commit is contained in:
parent
b59d956b3c
commit
f9a0f05850
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<=.)?/;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<!.)?/;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<=.){2,3}/;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<!.){2,3}/;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<=.)?/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
es6id: B.1.4
|
||||||
|
description: Quantifiable assertions disallowed with `u` flag
|
||||||
|
info: |
|
||||||
|
The `u` flag precludes quantifiable assertions (even when Annex B is
|
||||||
|
honored)
|
||||||
|
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?!.)?/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<!.)?/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
es6id: B.1.4
|
||||||
|
description: Quantifiable assertions disallowed with `u` flag
|
||||||
|
info: |
|
||||||
|
The `u` flag precludes quantifiable assertions (even when Annex B is
|
||||||
|
honored)
|
||||||
|
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?=.){2,3}/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<=.){2,3}/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
es6id: B.1.4
|
||||||
|
description: Quantifiable assertions disallowed with `u` flag
|
||||||
|
info: |
|
||||||
|
The `u` flag precludes quantifiable assertions (even when Annex B is
|
||||||
|
honored)
|
||||||
|
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?!.){2,3}/u;
|
|
@ -0,0 +1,20 @@
|
||||||
|
// Copyright (C) 2018 Igalia S. L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
esid: sec-regular-expressions-patterns
|
||||||
|
description: Lookbehinds are not treated as a QuantifiableAssertion
|
||||||
|
info: |
|
||||||
|
Term[U] ::
|
||||||
|
[~U] QuantifiableAssertion Quantifier
|
||||||
|
|
||||||
|
QuantifiableAssertion[N]::
|
||||||
|
( ? = Disjunction[~U, ?N] )
|
||||||
|
( ? ! Disjunction[~U, ?N] )
|
||||||
|
negative:
|
||||||
|
phase: parse
|
||||||
|
type: SyntaxError
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
/.(?<!.){2,3}/u;
|
Loading…
Reference in New Issue