Index: gin/wrappable_unittest.cc |
diff --git a/gin/wrappable_unittest.cc b/gin/wrappable_unittest.cc |
index 70cb22458840e4ff09a8af1ddda2b7f6a273f788..07d4fb306766a64229770cfefcac56f037068849 100644 |
--- a/gin/wrappable_unittest.cc |
+++ b/gin/wrappable_unittest.cc |
@@ -40,38 +40,16 @@ class MyObject : public BaseClass, |
protected: |
MyObject() : value_(0) {} |
- ObjectTemplateBuilder GetObjectTemplateBuilder(v8::Isolate* isolate) override; |
+ ObjectTemplateBuilder GetObjectTemplateBuilder(v8::Isolate* isolate) final { |
+ return Wrappable<MyObject>::GetObjectTemplateBuilder(isolate) |
+ .SetProperty("value", &MyObject::value, &MyObject::set_value); |
+ } |
~MyObject() override {} |
private: |
int value_; |
}; |
-class MyObjectSubclass : public MyObject { |
- public: |
- static gin::Handle<MyObjectSubclass> Create(v8::Isolate* isolate) { |
- return CreateHandle(isolate, new MyObjectSubclass()); |
- } |
- |
- void SayHello(const std::string& name) { |
- result = std::string("Hello, ") + name; |
- } |
- |
- std::string result; |
- |
- private: |
- ObjectTemplateBuilder GetObjectTemplateBuilder( |
- v8::Isolate* isolate) override { |
- return MyObject::GetObjectTemplateBuilder(isolate) |
- .SetMethod("sayHello", &MyObjectSubclass::SayHello); |
- } |
- |
- MyObjectSubclass() { |
- } |
- |
- ~MyObjectSubclass() override {} |
-}; |
- |
class MyCallableObject : public Wrappable<MyCallableObject> { |
public: |
static WrapperInfo kWrapperInfo; |
@@ -83,8 +61,7 @@ class MyCallableObject : public Wrappable<MyCallableObject> { |
int result() { return result_; } |
private: |
- ObjectTemplateBuilder GetObjectTemplateBuilder( |
- v8::Isolate* isolate) override { |
+ ObjectTemplateBuilder GetObjectTemplateBuilder(v8::Isolate* isolate) final { |
return Wrappable<MyCallableObject>::GetObjectTemplateBuilder(isolate) |
.SetCallAsFunctionHandler(&MyCallableObject::Call); |
} |
@@ -109,20 +86,9 @@ class MyObject2 : public Wrappable<MyObject2> { |
static WrapperInfo kWrapperInfo; |
}; |
-class MyObjectBlink : public Wrappable<MyObjectBlink> { |
- public: |
- static WrapperInfo kWrapperInfo; |
-}; |
- |
WrapperInfo MyObject::kWrapperInfo = { kEmbedderNativeGin }; |
-ObjectTemplateBuilder MyObject::GetObjectTemplateBuilder(v8::Isolate* isolate) { |
- return Wrappable<MyObject>::GetObjectTemplateBuilder(isolate) |
- .SetProperty("value", &MyObject::value, &MyObject::set_value); |
-} |
- |
WrapperInfo MyCallableObject::kWrapperInfo = { kEmbedderNativeGin }; |
WrapperInfo MyObject2::kWrapperInfo = { kEmbedderNativeGin }; |
-WrapperInfo MyObjectBlink::kWrapperInfo = { kEmbedderNativeGin }; |
typedef V8Test WrappableTest; |
@@ -155,12 +121,6 @@ TEST_F(WrappableTest, UnwrapFailures) { |
EXPECT_FALSE(ConvertFromV8(isolate, thing, &unwrapped)); |
EXPECT_FALSE(unwrapped); |
- // An object that's wrapping a C++ object from Blink. |
- thing.Clear(); |
- thing = ConvertToV8(isolate, new MyObjectBlink()); |
- EXPECT_FALSE(ConvertFromV8(isolate, thing, &unwrapped)); |
- EXPECT_FALSE(unwrapped); |
- |
// An object that's wrapping a C++ object of the wrong type. |
thing.Clear(); |
thing = ConvertToV8(isolate, new MyObject2()); |
@@ -200,28 +160,6 @@ TEST_F(WrappableTest, GetAndSetProperty) { |
EXPECT_EQ(191, obj->value()); |
} |
-TEST_F(WrappableTest, WrappableSubclass) { |
- v8::Isolate* isolate = instance_->isolate(); |
- v8::HandleScope handle_scope(isolate); |
- |
- gin::Handle<MyObjectSubclass> object(MyObjectSubclass::Create(isolate)); |
- v8::Local<v8::String> source = StringToV8(isolate, |
- "(function(obj) {" |
- "obj.sayHello('Lily');" |
- "})"); |
- gin::TryCatch try_catch(isolate); |
- v8::Local<v8::Script> script = v8::Script::Compile(source); |
- v8::Local<v8::Value> val = script->Run(); |
- v8::Local<v8::Function> func; |
- EXPECT_TRUE(ConvertFromV8(isolate, val, &func)); |
- v8::Local<v8::Value> argv[] = { |
- ConvertToV8(isolate, object.get()) |
- }; |
- func->Call(v8::Undefined(isolate), 1, argv); |
- EXPECT_FALSE(try_catch.HasCaught()); |
- EXPECT_EQ("Hello, Lily", object->result); |
-} |
- |
TEST_F(WrappableTest, CallAsFunction) { |
v8::Isolate* isolate = instance_->isolate(); |
v8::HandleScope handle_scope(isolate); |