| Index: test/mjsunit/regexp-lastIndex.js
|
| diff --git a/test/mjsunit/regexp-lastIndex.js b/test/mjsunit/regexp-lastIndex.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..16b9f86d9bd3cc12f494500380d65207d694f988
|
| --- /dev/null
|
| +++ b/test/mjsunit/regexp-lastIndex.js
|
| @@ -0,0 +1,22 @@
|
| +// 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.
|
| +
|
| +// lastIndex is set only for global or sticky RegExps. On failure to find
|
| +// a match, it is set to 0. If a set fails, then it acts as if in strict mode
|
| +// and throws.
|
| +
|
| +var re = /x/g;
|
| +Object.defineProperty(re, 'lastIndex', {writable: false});
|
| +assertThrows(() => re.exec(""), TypeError);
|
| +assertThrows(() => re.exec("x"), TypeError);
|
| +
|
| +var re = /x/y;
|
| +Object.defineProperty(re, 'lastIndex', {writable: false});
|
| +assertThrows(() => re.exec(""), TypeError);
|
| +assertThrows(() => re.exec("x"), TypeError);
|
| +
|
| +var re = /x/;
|
| +Object.defineProperty(re, 'lastIndex', {writable: false});
|
| +assertEquals(null, re.exec(""));
|
| +assertEquals(["x"], re.exec("x"));
|
|
|