// 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); }