Index: test/mjsunit/es6/no-unicode-regexp-flag.js |
diff --git a/test/mjsunit/es6/no-unicode-regexp-flag.js b/test/mjsunit/es6/no-unicode-regexp-flag.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b56a4b56dd96fadb8bde75eb9d49dfb334926bcf |
--- /dev/null |
+++ b/test/mjsunit/es6/no-unicode-regexp-flag.js |
@@ -0,0 +1,24 @@ |
+// Copyright 2015 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. |
+ |
+// Before Unicode RegExps are shipped, we shouldn't have the 'unicode' |
+// property on RegExp.prototype, or read it from 'flags'. |
+// mjsunit/es6/regexp-flags tests that the property is there when the |
+// flag is on. |
+ |
+// Flags: --harmony-regexp |
+ |
+'use strict'; |
+ |
+assertFalse(RegExp.prototype.hasOwnProperty('unicode')); |
+ |
+// If we were going to be really strict, we could have a test like this, |
+// with the assertTrue replaced by assertFalse, since flags shouldn't |
+// Get the 'unicode' property. However, it is probably OK to omit this |
+// detailed fix. |
+var x = /a/; |
+var y = false; |
+Object.defineProperty(x, 'unicode', { get() { y = true; } }); |
+assertEquals("", x.flags); |
+assertTrue(y); |