OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Before Unicode RegExps are shipped, we shouldn't have the 'unicode' | 5 // Before Unicode RegExps are shipped, we shouldn't have the 'unicode' |
6 // property on RegExp.prototype, or read it from 'flags'. | 6 // property on RegExp.prototype, or read it from 'flags'. |
7 // mjsunit/es6/regexp-flags tests that the property is there when the | 7 // mjsunit/es6/regexp-flags tests that the property is there when the |
8 // flag is on. | 8 // flag is on. |
9 | 9 |
10 // Flags: --harmony-regexps --no-harmony-unicode-regexps | 10 // Flags: --no-harmony-unicode-regexps |
11 | 11 |
12 'use strict'; | 12 'use strict'; |
13 | 13 |
14 assertFalse(RegExp.prototype.hasOwnProperty('unicode')); | 14 assertFalse(RegExp.prototype.hasOwnProperty('unicode')); |
15 | 15 |
16 // If we were going to be really strict, we could have a test like this, | 16 // If we were going to be really strict, we could have a test like this, |
17 // with the assertTrue replaced by assertFalse, since flags shouldn't | 17 // with the assertTrue replaced by assertFalse, since flags shouldn't |
18 // Get the 'unicode' property. However, it is probably OK to omit this | 18 // Get the 'unicode' property. However, it is probably OK to omit this |
19 // detailed fix. | 19 // detailed fix. |
20 var x = /a/; | 20 var x = /a/; |
21 var y = false; | 21 var y = false; |
22 Object.defineProperty(x, 'unicode', { get() { y = true; } }); | 22 Object.defineProperty(x, 'unicode', { get() { y = true; } }); |
23 assertEquals("", x.flags); | 23 assertEquals("", x.flags); |
24 assertTrue(y); | 24 assertTrue(y); |
OLD | NEW |