| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/strings/string_number_conversions.h" | 8 #include "base/strings/string_number_conversions.h" |
| 9 #include "base/threading/platform_thread.h" | 9 #include "base/threading/platform_thread.h" |
| 10 #include "ppapi/c/pp_var.h" | 10 #include "ppapi/c/pp_var.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 namespace ppapi { | 26 namespace ppapi { |
| 27 namespace proxy { | 27 namespace proxy { |
| 28 | 28 |
| 29 class PPB_VarTest : public PluginProxyTest { | 29 class PPB_VarTest : public PluginProxyTest { |
| 30 public: | 30 public: |
| 31 PPB_VarTest() | 31 PPB_VarTest() |
| 32 : test_strings_(kNumStrings), vars_(kNumStrings), | 32 : test_strings_(kNumStrings), vars_(kNumStrings), |
| 33 ppb_var_(ppapi::PPB_Var_Shared::GetVarInterface1_2()) { | 33 ppb_var_(ppapi::PPB_Var_Shared::GetVarInterface1_2()) { |
| 34 // Set the value of test_strings_[i] to "i". | 34 // Set the value of test_strings_[i] to "i". |
| 35 for (size_t i = 0; i < kNumStrings; ++i) | 35 for (size_t i = 0; i < kNumStrings; ++i) |
| 36 test_strings_[i] = base::IntToString(i); | 36 test_strings_[i] = base::IntToString(static_cast<int>(i)); |
| 37 } | 37 } |
| 38 protected: | 38 protected: |
| 39 std::vector<std::string> test_strings_; | 39 std::vector<std::string> test_strings_; |
| 40 std::vector<PP_Var> vars_; | 40 std::vector<PP_Var> vars_; |
| 41 const PPB_Var* ppb_var_; | 41 const PPB_Var* ppb_var_; |
| 42 }; | 42 }; |
| 43 | 43 |
| 44 // Test basic String operations. | 44 // Test basic String operations. |
| 45 TEST_F(PPB_VarTest, Strings) { | 45 TEST_F(PPB_VarTest, Strings) { |
| 46 for (size_t i = 0; i < kNumStrings; ++i) { | 46 for (size_t i = 0; i < kNumStrings; ++i) { |
| 47 vars_[i] = ppb_var_->VarFromUtf8(test_strings_[i].c_str(), | 47 vars_[i] = ppb_var_->VarFromUtf8( |
| 48 test_strings_[i].length()); | 48 test_strings_[i].c_str(), |
| 49 static_cast<uint32_t>(test_strings_[i].length())); |
| 49 EXPECT_EQ(test_strings_[i], VarToString(vars_[i], ppb_var_)); | 50 EXPECT_EQ(test_strings_[i], VarToString(vars_[i], ppb_var_)); |
| 50 } | 51 } |
| 51 // At this point, they should each have a ref count of 1. Add some more. | 52 // At this point, they should each have a ref count of 1. Add some more. |
| 52 for (int ref = 0; ref < kRefsToAdd; ++ref) { | 53 for (int ref = 0; ref < kRefsToAdd; ++ref) { |
| 53 for (size_t i = 0; i < kNumStrings; ++i) { | 54 for (size_t i = 0; i < kNumStrings; ++i) { |
| 54 ppb_var_->AddRef(vars_[i]); | 55 ppb_var_->AddRef(vars_[i]); |
| 55 // Make sure the string is still there with the right value. | 56 // Make sure the string is still there with the right value. |
| 56 EXPECT_EQ(test_strings_[i], VarToString(vars_[i], ppb_var_)); | 57 EXPECT_EQ(test_strings_[i], VarToString(vars_[i], ppb_var_)); |
| 57 } | 58 } |
| 58 } | 59 } |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 CreateVarThreadDelegate(PP_Module pp_module, const std::string* strings_in, | 98 CreateVarThreadDelegate(PP_Module pp_module, const std::string* strings_in, |
| 98 PP_Var* vars_out, std::string* strings_out, | 99 PP_Var* vars_out, std::string* strings_out, |
| 99 size_t size) | 100 size_t size) |
| 100 : pp_module_(pp_module), strings_in_(strings_in), vars_out_(vars_out), | 101 : pp_module_(pp_module), strings_in_(strings_in), vars_out_(vars_out), |
| 101 strings_out_(strings_out), size_(size) { | 102 strings_out_(strings_out), size_(size) { |
| 102 } | 103 } |
| 103 virtual ~CreateVarThreadDelegate() {} | 104 virtual ~CreateVarThreadDelegate() {} |
| 104 virtual void ThreadMain() { | 105 virtual void ThreadMain() { |
| 105 const PPB_Var* ppb_var = ppapi::PPB_Var_Shared::GetVarInterface1_2(); | 106 const PPB_Var* ppb_var = ppapi::PPB_Var_Shared::GetVarInterface1_2(); |
| 106 for (size_t i = 0; i < size_; ++i) { | 107 for (size_t i = 0; i < size_; ++i) { |
| 107 vars_out_[i] = ppb_var->VarFromUtf8(strings_in_[i].c_str(), | 108 vars_out_[i] = ppb_var->VarFromUtf8( |
| 108 strings_in_[i].length()); | 109 strings_in_[i].c_str(), |
| 110 static_cast<uint32_t>(strings_in_[i].length())); |
| 109 strings_out_[i] = VarToString(vars_out_[i], ppb_var); | 111 strings_out_[i] = VarToString(vars_out_[i], ppb_var); |
| 110 } | 112 } |
| 111 } | 113 } |
| 112 private: | 114 private: |
| 113 PP_Module pp_module_; | 115 PP_Module pp_module_; |
| 114 const std::string* strings_in_; | 116 const std::string* strings_in_; |
| 115 PP_Var* vars_out_; | 117 PP_Var* vars_out_; |
| 116 std::string* strings_out_; | 118 std::string* strings_out_; |
| 117 size_t size_; | 119 size_t size_; |
| 118 }; | 120 }; |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 232 for (size_t i = 0; i < kNumStrings; ++i) { | 234 for (size_t i = 0; i < kNumStrings; ++i) { |
| 233 uint32_t len = 10; | 235 uint32_t len = 10; |
| 234 const char* utf8 = ppb_var_->VarToUtf8(vars_[i], &len); | 236 const char* utf8 = ppb_var_->VarToUtf8(vars_[i], &len); |
| 235 EXPECT_EQ(NULL, utf8); | 237 EXPECT_EQ(NULL, utf8); |
| 236 EXPECT_EQ(0u, len); | 238 EXPECT_EQ(0u, len); |
| 237 } | 239 } |
| 238 } | 240 } |
| 239 | 241 |
| 240 } // namespace proxy | 242 } // namespace proxy |
| 241 } // namespace ppapi | 243 } // namespace ppapi |
| OLD | NEW |