Index: test/webkit/Object-defineProperties.js |
diff --git a/test/webkit/concat-while-having-a-bad-time.js b/test/webkit/Object-defineProperties.js |
similarity index 52% |
copy from test/webkit/concat-while-having-a-bad-time.js |
copy to test/webkit/Object-defineProperties.js |
index dfda1e08a0b36194b787a44ee12a9693acd8aeaf..39067e69dad2a0ce2a731d8d27424cb1ba469055 100644 |
--- a/test/webkit/concat-while-having-a-bad-time.js |
+++ b/test/webkit/Object-defineProperties.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.defineProperties"); |
+shouldThrow("Object.defineProperties()"); |
+shouldThrow("Object.defineProperties('a string')"); |
+shouldThrow("Object.defineProperties({}, 'a string')"); |
+shouldBe("JSON.stringify(Object.defineProperties({},{property:{value:'foo', enumerable:true}, property2:{value:'foo', enumerable:true}}))", '\'{"property":"foo","property2":"foo"}\''); |
+shouldBe("JSON.stringify(Object.defineProperties({},{property:{value:'foo'}, property2:{value:'foo', enumerable:true}}))", '\'{"property2":"foo"}\''); |
+shouldBe("JSON.stringify(Object.defineProperties({property:'foo'},{property:{value:'foo', enumerable:true}, property2:{value:'foo', enumerable:true}}))", '\'{"property":"foo","property2":"foo"}\''); |
+shouldBe("JSON.stringify(Object.defineProperties({property:'foo'},{property:{value:'foo', enumerable:false}, property2:{value:'foo', enumerable:true}}))", '\'{"property2":"foo"}\''); |
+shouldBe("JSON.stringify(Object.defineProperties({property:'foo'},{property:{value:'foo'}, property2:{value:'foo', enumerable:true}}))", '\'{"property":"foo","property2":"foo"}\''); |
+emptyObject={}; |
+shouldThrow("Object.defineProperties(emptyObject, {foo:{value: true}, bar:{get:function(){}, writable:true}})"); |
+shouldBeFalse("'foo' in emptyObject"); |