Index: ppapi/tests/test_var.cc |
diff --git a/ppapi/tests/test_var.cc b/ppapi/tests/test_var.cc |
deleted file mode 100644 |
index c9a13396ddf2120ea7b4f847b97b8d38a30ab6ea..0000000000000000000000000000000000000000 |
--- a/ppapi/tests/test_var.cc |
+++ /dev/null |
@@ -1,168 +0,0 @@ |
-// Copyright (c) 2010 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ppapi/tests/test_var.h" |
- |
-#include <limits> |
- |
-#include "ppapi/c/pp_var.h" |
-#include "ppapi/c/ppb_var.h" |
-#include "ppapi/cpp/module.h" |
-#include "ppapi/cpp/var.h" |
-#include "ppapi/tests/test_utils.h" |
-#include "ppapi/tests/testing_instance.h" |
- |
-REGISTER_TEST_CASE(Var); |
- |
-namespace { |
-pp::Var adoptVar(PP_Var var) { |
- return pp::Var(pp::Var::PassRef(), var); |
-} |
-} // namespace |
- |
-bool TestVar::Init() { |
- var_interface_ = reinterpret_cast<PPB_Var const*>( |
- pp::Module::Get()->GetBrowserInterface(PPB_VAR_INTERFACE)); |
- return var_interface_ && InitTestingInterface(); |
-} |
- |
-void TestVar::RunTest() { |
- RUN_TEST(ConvertType); |
- RUN_TEST(DefineProperty); |
-} |
- |
-std::string TestVar::TestConvertType() { |
- pp::Var result; |
- PP_Var exception = PP_MakeUndefined(); |
- double NaN = std::numeric_limits<double>::quiet_NaN(); |
- |
- // Int to string |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(100).pp_var(), |
- PP_VARTYPE_STRING, |
- &exception)); |
- ASSERT_EQ(pp::Var("100"), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // Int to double |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(100).pp_var(), |
- PP_VARTYPE_DOUBLE, |
- &exception)); |
- ASSERT_EQ(pp::Var(100.0), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // Double to int |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(100.0).pp_var(), |
- PP_VARTYPE_INT32, |
- &exception)); |
- ASSERT_EQ(pp::Var(100), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // Double(NaN) to int |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(NaN).pp_var(), |
- PP_VARTYPE_INT32, |
- &exception)); |
- ASSERT_EQ(pp::Var(0), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // Double to string |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(100.0).pp_var(), |
- PP_VARTYPE_STRING, |
- &exception)); |
- ASSERT_EQ(pp::Var("100"), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // Double(NaN) to string |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var(NaN).pp_var(), |
- PP_VARTYPE_STRING, |
- &exception)); |
- ASSERT_EQ(pp::Var("NaN"), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // String to int, valid string |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var("100").pp_var(), |
- PP_VARTYPE_INT32, |
- &exception)); |
- ASSERT_EQ(pp::Var(100), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- // String to int, invalid string |
- result = adoptVar(var_interface_->ConvertType(instance_->pp_instance(), |
- pp::Var("jockey").pp_var(), |
- PP_VARTYPE_INT32, |
- &exception)); |
- ASSERT_EQ(pp::Var(0), result); |
- ASSERT_TRUE(adoptVar(exception).is_undefined()); |
- |
- PASS(); |
-} |
- |
-std::string TestVar::TestDefineProperty() { |
- pp::Var exception; |
- pp::Var property; |
- pp::Var value; |
- PP_Var unmanaged_exception = PP_MakeUndefined(); |
- |
- // Create an empty object. |
- pp::Var test_obj = instance_->ExecuteScript("({})", &exception); |
- ASSERT_TRUE(exception.is_undefined()); |
- ASSERT_TRUE(test_obj.is_object()); |
- |
- // Define a simple property. |
- property = "x"; |
- value = 1001; |
- var_interface_->DefineProperty(test_obj.pp_var(), |
- PP_MakeSimpleProperty(property.pp_var(), |
- value.pp_var()), |
- &unmanaged_exception); |
- ASSERT_TRUE(adoptVar(unmanaged_exception).is_undefined()); |
- |
- ASSERT_EQ(value, test_obj.GetProperty(property, &exception)); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- // Define a property with a getter that always returns 123 and setter that |
- // sets another property to the given value. |
- property = "y"; |
- pp::Var getter = instance_->ExecuteScript( |
- "(function(){return 'okey';})", &exception); |
- ASSERT_TRUE(getter.is_object()); |
- ASSERT_TRUE(exception.is_undefined()); |
- pp::Var setter = instance_->ExecuteScript( |
- "(function(x){this['another']=x;})", &exception); |
- ASSERT_TRUE(setter.is_object()); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- struct PP_ObjectProperty property_attributes = { |
- property.pp_var(), |
- PP_MakeUndefined(), |
- getter.pp_var(), |
- setter.pp_var(), |
- PP_OBJECTPROPERTY_MODIFIER_NONE |
- }; |
- var_interface_->DefineProperty(test_obj.pp_var(), property_attributes, |
- &unmanaged_exception); |
- ASSERT_TRUE(adoptVar(unmanaged_exception).is_undefined()); |
- |
- value = test_obj.GetProperty(property, &exception); |
- ASSERT_EQ(pp::Var("okey"), value); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- value = test_obj.GetProperty("another", &exception); |
- ASSERT_TRUE(value.is_undefined()); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- test_obj.SetProperty("another", "dokey", &exception); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- ASSERT_EQ(pp::Var("dokey"), test_obj.GetProperty("another", &exception)); |
- ASSERT_TRUE(exception.is_undefined()); |
- |
- PASS(); |
-} |