| Index: test/cctest/test-types.cc
|
| diff --git a/test/cctest/test-types.cc b/test/cctest/test-types.cc
|
| index fe07093077bd22cf306755857cc0d7143fd40b6b..7e07bdf43878557c14d1cabda545a22bcb95333c 100644
|
| --- a/test/cctest/test-types.cc
|
| +++ b/test/cctest/test-types.cc
|
| @@ -589,6 +589,42 @@ struct Tests : Rep {
|
| }
|
| }
|
|
|
| + void Object() {
|
| + // Constructor, InitProperty, and Property.
|
| + for (int i = 0; i < 20; ++i) {
|
| + for (int j = 0; j < 20; ++j) {
|
| + TypeHandle object0 = T.ExplicitObject(20);
|
| + TypeHandle object1 = T.ExplicitObject(20);
|
| + TypeHandle types[20];
|
| + for (int k = 0; k < 20; ++k) {
|
| + types[k] = T.Random();
|
| + }
|
| + for (int k = 0; k < 20; ++k) {
|
| + ScopedVector<char> name(20);
|
| + SNPrintF(name, "foo%d", k);
|
| + Handle<i::String> sname =
|
| + isolate->factory()->InternalizeUtf8String(name.start());
|
| + object0->AsObject()->InitProperty(k, sname, types[k]);
|
| + object1->AsObject()->InitProperty(k, sname, types[19 - k]);
|
| + }
|
| + for (int k = 0; k < 20; ++k) {
|
| + ScopedVector<char> name(20);
|
| + SNPrintF(name, "foo%d", k);
|
| + Handle<i::String> sname =
|
| + isolate->factory()->InternalizeUtf8String(name.start());
|
| + CheckEqual(types[k], object0->AsObject()->Property(sname));
|
| + CheckEqual(types[19 - k], object1->AsObject()->Property(sname));
|
| + }
|
| + CHECK(object0->IsObject());
|
| + CHECK(object1->IsObject());
|
| + Handle<i::String> bar =
|
| + isolate->factory()->InternalizeUtf8String("bar");
|
| + CheckEqual(T.ExplicitAny(), object0->AsObject()->Property(bar));
|
| + CheckEqual(T.ExplicitAny(), object1->AsObject()->Property(bar));
|
| + }
|
| + }
|
| + }
|
| +
|
| void Of() {
|
| // Constant(V)->Is(Of(V))
|
| for (ValueIterator vt = T.values.begin(); vt != T.values.end(); ++vt) {
|
| @@ -2013,6 +2049,12 @@ TEST(FunctionType_zone) { ZoneTests().Function(); }
|
| TEST(FunctionType_heap) { HeapTests().Function(); }
|
|
|
|
|
| +TEST(ObjectType_zone) { ZoneTests().Object(); }
|
| +
|
| +
|
| +TEST(ObjectType_heap) { HeapTests().Object(); }
|
| +
|
| +
|
| TEST(Of_zone) { ZoneTests().Of(); }
|
|
|
|
|
|
|