Index: test/webkit/Object-keys.js |
diff --git a/test/webkit/concat-while-having-a-bad-time.js b/test/webkit/Object-keys.js |
similarity index 70% |
copy from test/webkit/concat-while-having-a-bad-time.js |
copy to test/webkit/Object-keys.js |
index dfda1e08a0b36194b787a44ee12a9693acd8aeaf..a8aba48a4ec9c6d60a1ed23553e09b385435e65d 100644 |
--- a/test/webkit/concat-while-having-a-bad-time.js |
+++ b/test/webkit/Object-keys.js |
@@ -21,11 +21,16 @@ |
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-description( |
-"Tests the behavior of Array.prototype.concat while the array is having a bad time due to one of the elements we are concatenating." |
-); |
- |
-Object.defineProperty(Array.prototype, 0, { writable: false }); |
-shouldBe("[42].concat()", "[42]"); |
- |
+description("Test to ensure correct behaviour of Object.keys"); |
+shouldBe("Object.keys({})", "[]"); |
+shouldBe("Object.keys({a:null})", "['a']"); |
+shouldBe("Object.keys({a:null, b:null})", "['a', 'b']"); |
+shouldBe("Object.keys({b:null, a:null})", "['b', 'a']"); |
+shouldBe("Object.keys([])", "[]"); |
+shouldBe("Object.keys([null])", "['0']"); |
+shouldBe("Object.keys([null,null])", "['0','1']"); |
+shouldBe("Object.keys([null,null,,,,null])", "['0','1','5']"); |
+shouldBe("Object.keys({__proto__:{a:null}})", "[]"); |
+shouldBe("Object.keys({__proto__:[1,2,3]})", "[]"); |
+shouldBe("x=[];x.__proto__=[1,2,3];Object.keys(x)", "[]"); |