Skip to content
Snippets Groups Projects
Commit f9a0f058 authored by Daniel Ehrenberg's avatar Daniel Ehrenberg
Browse files

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).
parent b59d956b
No related branches found
No related tags found
No related merge requests found
Showing
with 220 additions and 0 deletions
// 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.";
/.(?<=.)?/;
// 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.";
/.(?<!.)?/;
// 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}/;
// 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}/;
// 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;
// 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;
// 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;
// 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;
// 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;
// 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;
// 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% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment