summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/primitive-proto-properties.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/primitive-proto-properties.js')
-rw-r--r--js/src/jit-test/tests/basic/primitive-proto-properties.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/primitive-proto-properties.js b/js/src/jit-test/tests/basic/primitive-proto-properties.js
new file mode 100644
index 0000000000..ea012e40e6
--- /dev/null
+++ b/js/src/jit-test/tests/basic/primitive-proto-properties.js
@@ -0,0 +1,47 @@
+function shadowing() {
+ Object.prototype.x = 1;
+
+ for (var i = 0; i < 20; i++) {
+ var x = "a".x;
+ assertEq(x, i <= 15 ? 1 : "hello");
+
+ if (i == 15) {
+ String.prototype.x = "hello";
+ }
+ }
+
+ delete Object.prototype.x;
+}
+
+function deleted() {
+ String.prototype.y = 1;
+
+ for (var i = 0; i < 20; i++) {
+ var y = "a".y;
+ assertEq(y, i <= 15 ? 1 : undefined);
+
+ if (i == 15) {
+ delete String.prototype.y;
+ }
+ }
+
+ delete String.prototype.y;
+}
+
+
+function notdefined() {
+ for (var i = 0; i < 20; i++) {
+ var z = "a".z;
+ assertEq(z, i <= 15 ? undefined : "test");
+
+ if (i == 15) {
+ String.prototype.z = "test";
+ }
+ }
+
+ delete String.prototype.z;
+}
+
+shadowing();
+deleted();
+notdefined();