| Index: test/cctest/test-api.cc
|
| ===================================================================
|
| --- test/cctest/test-api.cc (revision 10541)
|
| +++ test/cctest/test-api.cc (working copy)
|
| @@ -678,6 +678,7 @@
|
| Local<Script> script = Script::Compile(source);
|
| Local<Value> value = script->Run();
|
| CHECK(value->IsNumber());
|
| + CHECK(!value->IsNumberObject());
|
| CHECK_EQ(7, value->Int32Value());
|
| HEAP->CollectAllAvailableGarbage();
|
| CHECK_EQ(0, TestAsciiResourceWithDisposeControl::dispose_count);
|
| @@ -699,6 +700,7 @@
|
| Local<Script> script = Script::Compile(source);
|
| Local<Value> value = script->Run();
|
| CHECK(value->IsNumber());
|
| + CHECK(!value->IsNumberObject());
|
| CHECK_EQ(7, value->Int32Value());
|
| HEAP->CollectAllAvailableGarbage();
|
| CHECK_EQ(0, TestAsciiResourceWithDisposeControl::dispose_count);
|
| @@ -1045,9 +1047,13 @@
|
| v8::HandleScope scope;
|
| LocalContext env;
|
| v8::Handle<Value> boxed_string = CompileRun("new String(\"test\")");
|
| + CHECK(boxed_string->IsObject());
|
| CHECK(boxed_string->IsStringObject());
|
| + CHECK(!boxed_string->IsString());
|
| v8::Handle<Value> unboxed_string = CompileRun("\"test\"");
|
| + CHECK(!unboxed_string->IsObject());
|
| CHECK(!unboxed_string->IsStringObject());
|
| + CHECK(unboxed_string->IsString());
|
| v8::Handle<Value> boxed_not_string = CompileRun("new Number(42)");
|
| CHECK(!boxed_not_string->IsStringObject());
|
| v8::Handle<Value> not_object = CompileRun("0");
|
| @@ -1070,9 +1076,13 @@
|
| v8::HandleScope scope;
|
| LocalContext env;
|
| v8::Handle<Value> boxed_number = CompileRun("new Number(42)");
|
| + CHECK(boxed_number->IsObject());
|
| CHECK(boxed_number->IsNumberObject());
|
| + CHECK(!boxed_number->IsNumber());
|
| v8::Handle<Value> unboxed_number = CompileRun("42");
|
| + CHECK(!unboxed_number->IsObject());
|
| CHECK(!unboxed_number->IsNumberObject());
|
| + CHECK(unboxed_number->IsNumber());
|
| v8::Handle<Value> boxed_not_number = CompileRun("new Boolean(false)");
|
| CHECK(!boxed_not_number->IsNumberObject());
|
| v8::Handle<v8::NumberObject> as_boxed = boxed_number.As<v8::NumberObject>();
|
| @@ -1091,9 +1101,14 @@
|
| v8::HandleScope scope;
|
| LocalContext env;
|
| v8::Handle<Value> boxed_boolean = CompileRun("new Boolean(true)");
|
| + CHECK(boxed_boolean->IsObject());
|
| CHECK(boxed_boolean->IsBooleanObject());
|
| + CHECK(!boxed_boolean->IsTrue());
|
| + CHECK(!boxed_boolean->IsFalse());
|
| + CHECK(!boxed_boolean->IsBoolean());
|
| v8::Handle<Value> unboxed_boolean = CompileRun("true");
|
| CHECK(!unboxed_boolean->IsBooleanObject());
|
| + CHECK(unboxed_boolean->IsBoolean());
|
| v8::Handle<Value> boxed_not_boolean = CompileRun("new Number(42)");
|
| CHECK(!boxed_not_boolean->IsBooleanObject());
|
| v8::Handle<v8::BooleanObject> as_boxed =
|
| @@ -1138,6 +1153,8 @@
|
| LocalContext env;
|
| double PI = 3.1415926;
|
| Local<Value> date = v8::Date::New(PI);
|
| + CHECK(date->IsObject());
|
| + CHECK(date->IsDate());
|
| CHECK_EQ(3.0, date->NumberValue());
|
| date.As<v8::Date>()->Set(v8_str("property"), v8::Integer::New(42));
|
| CHECK_EQ(42, date.As<v8::Date>()->Get(v8_str("property"))->Int32Value());
|
| @@ -1149,8 +1166,18 @@
|
| LocalContext env;
|
| v8::Handle<v8::Boolean> t = v8::True();
|
| CHECK(t->Value());
|
| + CHECK(t->IsTrue());
|
| + CHECK(!t->IsFalse());
|
| + CHECK(t->IsBoolean());
|
| + CHECK(!t->IsObject());
|
| + CHECK(!t->IsBooleanObject());
|
| v8::Handle<v8::Boolean> f = v8::False();
|
| CHECK(!f->Value());
|
| + CHECK(!f->IsTrue());
|
| + CHECK(f->IsFalse());
|
| + CHECK(f->IsBoolean());
|
| + CHECK(!f->IsObject());
|
| + CHECK(!f->IsBooleanObject());
|
| v8::Handle<v8::Primitive> u = v8::Undefined();
|
| CHECK(!u->BooleanValue());
|
| v8::Handle<v8::Primitive> n = v8::Null();
|
| @@ -2493,6 +2520,8 @@
|
| v8::HandleScope scope;
|
| LocalContext context;
|
| Local<v8::Array> array = v8::Array::New();
|
| + CHECK(array->IsObject());
|
| + CHECK(array->IsArray());
|
| CHECK_EQ(0, array->Length());
|
| CHECK(array->Get(0)->IsUndefined());
|
| CHECK(!array->Has(0));
|
| @@ -2506,6 +2535,8 @@
|
| CHECK_EQ(7, array->Get(2)->Int32Value());
|
| Local<Value> obj = Script::Compile(v8_str("[1, 2, 3]"))->Run();
|
| Local<v8::Array> arr = obj.As<v8::Array>();
|
| + CHECK(arr->IsObject());
|
| + CHECK(arr->IsArray());
|
| CHECK_EQ(3, arr->Length());
|
| CHECK_EQ(1, arr->Get(0)->Int32Value());
|
| CHECK_EQ(2, arr->Get(1)->Int32Value());
|
| @@ -15153,6 +15184,7 @@
|
| LocalContext context;
|
|
|
| v8::Handle<v8::RegExp> re = v8::RegExp::New(v8_str("foo"), v8::RegExp::kNone);
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("foo")));
|
| CHECK_EQ(v8::RegExp::kNone, re->GetFlags());
|
| @@ -15160,6 +15192,7 @@
|
| re = v8::RegExp::New(v8_str("bar"),
|
| static_cast<v8::RegExp::Flags>(v8::RegExp::kIgnoreCase |
|
| v8::RegExp::kGlobal));
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("bar")));
|
| CHECK_EQ(v8::RegExp::kIgnoreCase | v8::RegExp::kGlobal,
|
| @@ -15168,17 +15201,20 @@
|
| re = v8::RegExp::New(v8_str("baz"),
|
| static_cast<v8::RegExp::Flags>(v8::RegExp::kIgnoreCase |
|
| v8::RegExp::kMultiline));
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("baz")));
|
| CHECK_EQ(v8::RegExp::kIgnoreCase | v8::RegExp::kMultiline,
|
| static_cast<int>(re->GetFlags()));
|
|
|
| re = CompileRun("/quux/").As<v8::RegExp>();
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("quux")));
|
| CHECK_EQ(v8::RegExp::kNone, re->GetFlags());
|
|
|
| re = CompileRun("/quux/gm").As<v8::RegExp>();
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("quux")));
|
| CHECK_EQ(v8::RegExp::kGlobal | v8::RegExp::kMultiline,
|
| @@ -15189,6 +15225,7 @@
|
| CompileRun("RegExp = function() {}");
|
|
|
| re = v8::RegExp::New(v8_str("foobar"), v8::RegExp::kNone);
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("foobar")));
|
| CHECK_EQ(v8::RegExp::kNone, re->GetFlags());
|
| @@ -15196,6 +15233,7 @@
|
| re = v8::RegExp::New(v8_str("foobarbaz"),
|
| static_cast<v8::RegExp::Flags>(v8::RegExp::kIgnoreCase |
|
| v8::RegExp::kMultiline));
|
| + CHECK(re->IsObject());
|
| CHECK(re->IsRegExp());
|
| CHECK(re->GetSource()->Equals(v8_str("foobarbaz")));
|
| CHECK_EQ(v8::RegExp::kIgnoreCase | v8::RegExp::kMultiline,
|
|
|