| // Copyright (C) 2017 the V8 project authors. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| esid: sec-assertion |
| description: Sliced strings |
| info: | |
| Rationale from https://github.com/tc39/test262/pull/999#discussion_r113807747 |
| |
| Since this test originates from V8, this targets V8's sliced strings, which are used for |
| substrings above a length of 13 characters. I wrote this test for exactly the reason |
| @littledan mentioned. That's why the variable name is called oob_subject. The underlying string |
| backing store extends beyond the actual boundary of the sliced string. |
| features: [regexp-lookbehind] |
| ---*/ |
| |
| var oob_subject = "abcdefghijklmnabcdefghijklmn".substr(14); |
| assert.sameValue(oob_subject.match(/(?=(abcdefghijklmn))(?<=\1)a/i), null, ""); |
| assert.sameValue(oob_subject.match(/(?=(abcdefghijklmn))(?<=\1)a/), null, ""); |
| assert.sameValue("abcdefgabcdefg".substr(1).match(/(?=(abcdefg))(?<=\1)/), null, ""); |