88c5a300c5
'[...] accessor properties who have the attributes { [[Enumerable]]: false, [[Configurable]]: true } [...]' BUG=v8:5566 Review-Url: https://codereview.chromium.org/2452913002 Cr-Commit-Position: refs/heads/master@{#40609}
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
// Copyright 2016 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.
|
|
|
|
// https://github.com/tc39/proposal-regexp-legacy-features#additional-properties-of-the-regexp-constructor
|
|
|
|
const props = [ "input", "$_"
|
|
, "lastMatch", "$&"
|
|
, "lastParen", "$+"
|
|
, "leftContext", "$`"
|
|
, "rightContext", "$'"
|
|
, "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9"
|
|
];
|
|
|
|
for (let i = 0; i < props.length; i++) {
|
|
const prop = props[i];
|
|
const desc = Object.getOwnPropertyDescriptor(RegExp, prop);
|
|
assertTrue(desc.configurable, prop);
|
|
assertFalse(desc.enumerable, prop);
|
|
assertTrue(desc.get !== undefined, prop);
|
|
|
|
// TODO(jgruber): Although the spec proposal specifies setting setters to
|
|
// undefined, we are not sure that this change would be web-compatible, and
|
|
// we are intentionally sticking with the old behavior for now.
|
|
assertTrue(desc.set !== undefined, prop);
|
|
}
|