8006852: Move tests from JIRA for prepopulated map failures
authorjlaskey
Thu, 24 Jan 2013 12:15:29 -0400
changeset 16193 34f41481a840
parent 16192 a2f89e8f0b87
child 16194 3d0b930f4b47
8006852: Move tests from JIRA for prepopulated map failures Reviewed-by: sundar Contributed-by: james.laskey@oracle.com
nashorn/test/script/basic/JDK-8006852a.js
nashorn/test/script/basic/JDK-8006852a.js.EXPECTED
nashorn/test/script/basic/JDK-8006852b.js
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8006852a.js	Thu Jan 24 12:15:29 2013 -0400
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8006852 : Move tests from JIRA for prepopulated map failures
+ *
+ * @test
+ * @run
+ */
+ 
+function Field(val){                                                                                                                                                                                                                                          
+    this.value = val;                                                                                                                                                                                                                                         
+}                                                                                                                                                                                                                                                             
+var times = 0;                                                                                                                                                                                                                                                
+                                                                                                                                                                                                                                                              
+Field.prototype = {                                                                                                                                                                                                                                           
+    get value(){                                                                                                                                                                                                                                              
+        print("GETTER!");                                                                                                                                                                                                                                     
+        return this._value;                                                                                                                                                                                                                                   
+    },                                                                                                                                                                                                                                                        
+    set value(val){                                                                                                                                                                                                                                           
+        print("SETTER!");                                                                                                                                                                                                                                     
+        this._value = val + (++times);                                                                                                                                                                                                                        
+    }                                                                                                                                                                                                                                                         
+};                                                                                                                                                                                                                                                            
+                                                                                                                                                                                                                                                              
+var f = new Field("test");                                                                                                                                                                                                                                    
+print(f.value);                                                                                                                                                                                                                                               
+f.value = "test2";                                                                                                                                                                                                                                            
+print(f.value);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8006852a.js.EXPECTED	Thu Jan 24 12:15:29 2013 -0400
@@ -0,0 +1,6 @@
+SETTER!
+GETTER!
+test1
+SETTER!
+GETTER!
+test22
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8006852b.js	Thu Jan 24 12:15:29 2013 -0400
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ * 
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8006852 : Move tests from JIRA for prepopulated map failures
+ *
+ * @test
+ * @run
+ */
+ 
+function MyCons(arg) {
+    if (arg == 2) {
+       this.foo = 3;
+    }
+    this.bar = 44;
+    // print(Debug.map(this));
+}
+
+MyCons.prototype.foo = "proto--foo";
+
+var myObj = new MyCons();
+if (myObj.hasOwnProperty("foo")) {
+    print("FAILED: myObj should not have 'foo'");
+}
+
+if (myObj.foo !== 'proto--foo') {
+    print("FAILED: myObj.foo is wrong");
+}