Update tests for RegExp Unicode property escapes (#1633)

62cbe2f1cb
This commit is contained in:
Mathias Bynens 2018-07-09 18:26:53 +02:00 committed by Leo Balter
parent 23925f86a0
commit c7ac073e73
151 changed files with 2634 additions and 249 deletions

View File

@ -1,21 +0,0 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes]
---*/
assert.throws.early(SyntaxError, "/\\p{ASCII=Yes}/u");
assert.throws.early(SyntaxError, "/\\p{ASCII=Y}/u");
assert.throws.early(SyntaxError, "/\\p{ASCII=T}/u");
assert.throws.early(SyntaxError, "/\\P{ASCII=No}/u");
assert.throws.early(SyntaxError, "/\\P{ASCII=N}/u");
assert.throws.early(SyntaxError, "/\\P{ASCII=F}/u");
assert.throws.early(SyntaxError, "/\\p{ASCII=Invalid}/u");

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=F}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=F}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=Invalid}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=Invalid}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=N}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=N}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=No}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=No}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=T}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=T}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=Y}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=Y}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASCII=Yes}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Binary properties with an explicit value must throw in Unicode property
escapes (even if the value is valid).
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASCII=Yes}/u;

View File

@ -0,0 +1,20 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges
It is a Syntax Error if IsCharacterClass of the first ClassAtom is
true or IsCharacterClass of the second ClassAtom is true.
esid: sec-patterns-static-semantics-early-errors
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[--\p{Hex}]/u;

View File

@ -0,0 +1,20 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges
It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or
IsCharacterClass of ClassAtom is true.
esid: sec-patterns-static-semantics-early-errors
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\uFFFF-\p{Hex}]/u;

View File

@ -0,0 +1,20 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
NonemptyClassRangesNoDash :: ClassAtomNoDash - ClassAtom ClassRanges
It is a Syntax Error if IsCharacterClass of ClassAtomNoDash is true or
IsCharacterClass of ClassAtom is true.
esid: sec-patterns-static-semantics-early-errors
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\p{Hex}-\uFFFF]/u;

View File

@ -0,0 +1,20 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
NonemptyClassRanges :: ClassAtom - ClassAtom ClassRanges
It is a Syntax Error if IsCharacterClass of the first ClassAtom is
true or IsCharacterClass of the second ClassAtom is true.
esid: sec-patterns-static-semantics-early-errors
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\p{Hex}--]/u;

View File

@ -1,4 +1,4 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
@ -10,17 +10,7 @@ features: [regexp-unicode-property-escapes]
---*/
/[\p{Hex}]/u;
assert.throws(
SyntaxError,
() => /[\p{Hex}-\uFFFF]/u,
// See step 1 of https://tc39.github.io/ecma262/#sec-runtime-semantics-characterrange-abstract-operation.
'property escape at start of character class range should throw if it expands to multiple characters'
);
assert.throws.early(SyntaxError, "/[\\p{}]/u");
assert.throws.early(SyntaxError, "/[\\p{invalid}]/u");
assert.throws.early(SyntaxError, "/[\\p{]/u");
assert.throws.early(SyntaxError, "/[\\p{]}/u");
assert.throws.early(SyntaxError, "/[\\p}]/u");
assert(
/[\p{Hex}\P{Hex}]/u.test('\u{1D306}'),
'multiple property escapes in a single character class should be supported'

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{InAdlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{InAdlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{InAdlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{InAdlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{InScript=Adlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{InScript=Adlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{IsScript=Adlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{IsScript=Adlam}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{^General_Category=Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{^General_Category=Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\p{}]/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\P{}]/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\P{invalid}]/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/[\p{invalid}]/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\PL/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\pL/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{=Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{=Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{General_Category:Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{=}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{=}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{General_Category:Letter}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P}/u;

View File

@ -0,0 +1,21 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
This tests violations of the grammar starting here:
CharacterClassEscape[U]::
[+U] p{ UnicodePropertyValueExpression }
[+U] P{ UnicodePropertyValueExpression }
esid: prod-CharacterClassEscape
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p}/u;

View File

@ -1,47 +0,0 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Unicode property escapes must not support non-standard grammar extensions.
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes]
---*/
/\p{General_Category=Letter}/u;
/\P{General_Category=Letter}/u;
assert.throws.early(SyntaxError, "/\\p{^General_Category=Letter}/u");
assert.throws.early(SyntaxError, "/\\p{General_Category:Letter}/u");
assert.throws.early(SyntaxError, "/\\P{General_Category:Letter}/u");
/\p{Letter}/u;
/\P{Letter}/u;
assert.throws.early(SyntaxError, "/\\p{=Letter}/u");
assert.throws.early(SyntaxError, "/\\P{=Letter}/u");
assert.throws.early(SyntaxError, "/\\p{=}/u");
assert.throws.early(SyntaxError, "/\\P{=}/u");
/\p{L}/u;
/\P{L}/u;
assert.throws.early(SyntaxError, "/\\pL/u");
assert.throws.early(SyntaxError, "/\\PL/u");
// Note: `Adlam` is a valid property value for both `Script` and `Block`.
/\p{Script=Adlam}/u;
/\P{Script=Adlam}/u;
assert.throws.early(SyntaxError, "/\\p{IsScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\P{IsScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\p{isScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\P{isScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\p{InScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\P{InScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\p{inScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\P{inScript=Adlam}/u");
assert.throws.early(SyntaxError, "/\\p{InAdlam}/u");
assert.throws.early(SyntaxError, "/\\P{InAdlam}/u");
assert.throws.early(SyntaxError, "/\\p{/u");
assert.throws.early(SyntaxError, "/\\P{/u");
assert.throws.early(SyntaxError, "/\\p}/u");
assert.throws.early(SyntaxError, "/\\P}/u");
assert.throws.early(SyntaxError, "/\\p/u");
assert.throws.early(SyntaxError, "/\\P/u");

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ General_Category=Uppercase_Letter }/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ General_Category=Uppercase_Letter }/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ Lowercase }/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ Lowercase }/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ANY}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ANY}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ASSIGNED}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ASSIGNED}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Ascii}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Ascii}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{General_Category = Uppercase_Letter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{General_Category = Uppercase_Letter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{_-_lOwEr_C-A_S-E_-_}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{_-_lOwEr_C-A_S-E_-_}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{any}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{any}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{ascii}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{ascii}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{assigned}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{assigned}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{gC=uppercase_letter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{gC=uppercase_letter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{gc=uppercaseletter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{gc=uppercaseletter}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{lowercase}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{lowercase}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{lowercase}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{lowercase}/u;

View File

@ -1,36 +0,0 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Loose matching must not be applied when matching properties and values in
Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes]
---*/
/\p{Any}/u;
assert.throws.early(SyntaxError, "/\\p{any}/u");
assert.throws.early(SyntaxError, "/\\P{ANY}/u");
/\p{ASCII}/u;
assert.throws.early(SyntaxError, "/\\p{ascii}/u");
assert.throws.early(SyntaxError, "/\\P{Ascii}/u");
/\p{Assigned}/u;
assert.throws.early(SyntaxError, "/\\p{assigned}/u");
assert.throws.early(SyntaxError, "/\\P{ASSIGNED}/u");
/\p{General_Category=Uppercase_Letter}/u;
/\P{General_Category=Uppercase_Letter}/u;
assert.throws.early(SyntaxError, "/\\p{General_Category = Uppercase_Letter}/u");
assert.throws.early(SyntaxError, "/\\P{ General_Category=Uppercase_Letter }/u");
assert.throws.early(SyntaxError, "/\\p{gc=uppercaseletter}/u");
assert.throws.early(SyntaxError, "/\\P{gC=uppercase_letter}/u");
/\p{Lowercase}/u;
/\P{Lowercase}/u;
assert.throws.early(SyntaxError, "/\\p{lowercase}/u");
assert.throws.early(SyntaxError, "/\\p{ Lowercase }/u");
assert.throws.early(SyntaxError, "/\\P{_-_lOwEr_C-A_S-E_-_}/u");

View File

@ -1,23 +0,0 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes]
---*/
assert.throws.early(SyntaxError, "/\\p{General_Category}/u");
assert.throws.early(SyntaxError, "/\\P{General_Category}/u");
assert.throws.early(SyntaxError, "/\\p{General_Category=}/u");
assert.throws.early(SyntaxError, "/\\P{General_Category=}/u");
assert.throws.early(SyntaxError, "/\\p{Script}/u");
assert.throws.early(SyntaxError, "/\\P{Script}/u");
assert.throws.early(SyntaxError, "/\\p{Script=}/u");
assert.throws.early(SyntaxError, "/\\P{Script=}/u");
assert.throws.early(SyntaxError, "/\\p{Script_Extensions}/u");
assert.throws.early(SyntaxError, "/\\P{Script_Extensions}/u");
assert.throws.early(SyntaxError, "/\\p{Script_Extensions=}/u");
assert.throws.early(SyntaxError, "/\\P{Script_Extensions=}/u");

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{General_Category=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{General_Category=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{General_Category}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{General_Category}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Script=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Script=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Script}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Script}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Script_Extensions=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Script_Extensions=}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Script_Extensions}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-binary properties without a value must throw in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Script_Extensions}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent properties must not be supported in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{UnknownBinaryProperty}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent properties must not be supported in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{UnknownBinaryProperty}/u;

View File

@ -1,16 +0,0 @@
// Copyright 2017 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent properties must not be supported in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
features: [regexp-unicode-property-escapes]
---*/
assert.throws.early(SyntaxError, "/\\p{UnknownBinaryProperty}/u");
assert.throws.early(SyntaxError, "/\\P{UnknownBinaryProperty}/u");
assert.throws.early(SyntaxError, "/\\p{Line_Breakz=Alphabetic}/u");
assert.throws.early(SyntaxError, "/\\P{Line_Breakz=Alphabetic}/u");

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent property values must not be supported in Unicode property
escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Line_Breakz=WAT}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent property values must not be supported in Unicode property
escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Line_Breakz=WAT}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent properties must not be supported in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\P{Line_Breakz=Alphabetic}/u;

View File

@ -0,0 +1,17 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent properties must not be supported in Unicode property escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\p{Line_Breakz=Alphabetic}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent property values must not be supported in Unicode property
escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\\P{General_Category=WAT}/u;

View File

@ -0,0 +1,18 @@
// Copyright 2018 Mathias Bynens. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
author: Mathias Bynens
description: >
Non-existent property values must not be supported in Unicode property
escapes.
esid: sec-static-semantics-unicodematchproperty-p
negative:
phase: parse
type: SyntaxError
features: [regexp-unicode-property-escapes]
---*/
throw "Test262: This statement should not be evaluated.";
/\\P{Script=FooBarBazInvalid}/u;

Some files were not shown because too many files have changed in this diff Show More