| OLD | NEW |
| 1 // Copyright (c) 2011 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 "content/public/browser/web_ui_message_handler.h" | 5 #include "content/public/browser/web_ui_message_handler.h" |
| 6 | 6 |
| 7 #include "base/string16.h" | 7 #include "base/string16.h" |
| 8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "base/values.h" | 9 #include "base/values.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| 11 | 11 |
| 12 namespace content { | 12 namespace content { |
| 13 | 13 |
| 14 TEST(WebUIMessageHandlerTest, ExtractIntegerValue) { | 14 TEST(WebUIMessageHandlerTest, ExtractIntegerValue) { |
| 15 ListValue list; | 15 ListValue list; |
| 16 int value, zero_value = 0, neg_value = -1234, pos_value = 1234; | 16 int value, zero_value = 0, neg_value = -1234, pos_value = 1234; |
| 17 string16 zero_string(UTF8ToUTF16("0")); |
| 18 string16 neg_string(UTF8ToUTF16("-1234")); |
| 19 string16 pos_string(UTF8ToUTF16("1234")); |
| 17 | 20 |
| 18 list.Append(Value::CreateIntegerValue(zero_value)); | 21 list.Append(Value::CreateIntegerValue(zero_value)); |
| 19 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); | 22 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 20 EXPECT_EQ(value, zero_value); | 23 EXPECT_EQ(value, zero_value); |
| 21 list.Clear(); | 24 list.Clear(); |
| 22 | 25 |
| 23 list.Append(Value::CreateIntegerValue(neg_value)); | 26 list.Append(Value::CreateIntegerValue(neg_value)); |
| 24 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); | 27 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 25 EXPECT_EQ(value, neg_value); | 28 EXPECT_EQ(value, neg_value); |
| 26 list.Clear(); | 29 list.Clear(); |
| 27 | 30 |
| 28 list.Append(Value::CreateIntegerValue(pos_value)); | 31 list.Append(Value::CreateIntegerValue(pos_value)); |
| 29 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); | 32 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 30 EXPECT_EQ(value, pos_value); | 33 EXPECT_EQ(value, pos_value); |
| 34 list.Clear(); |
| 35 |
| 36 list.Append(Value::CreateStringValue(zero_string)); |
| 37 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 38 EXPECT_EQ(value, zero_value); |
| 39 list.Clear(); |
| 40 |
| 41 list.Append(Value::CreateStringValue(neg_string)); |
| 42 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 43 EXPECT_EQ(value, neg_value); |
| 44 list.Clear(); |
| 45 |
| 46 list.Append(Value::CreateStringValue(pos_string)); |
| 47 EXPECT_TRUE(WebUIMessageHandler::ExtractIntegerValue(&list, &value)); |
| 48 EXPECT_EQ(value, pos_value); |
| 31 } | 49 } |
| 32 | 50 |
| 33 TEST(WebUIMessageHandlerTest, ExtractDoubleValue) { | 51 TEST(WebUIMessageHandlerTest, ExtractDoubleValue) { |
| 34 ListValue list; | 52 ListValue list; |
| 35 double value, zero_value = 0.0, neg_value = -1234.5, pos_value = 1234.5; | 53 double value, zero_value = 0.0, neg_value = -1234.5, pos_value = 1234.5; |
| 54 string16 zero_string(UTF8ToUTF16("0")); |
| 55 string16 neg_string(UTF8ToUTF16("-1234.5")); |
| 56 string16 pos_string(UTF8ToUTF16("1234.5")); |
| 36 | 57 |
| 37 list.Append(Value::CreateDoubleValue(zero_value)); | 58 list.Append(Value::CreateDoubleValue(zero_value)); |
| 38 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); | 59 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 39 EXPECT_EQ(value, zero_value); | 60 EXPECT_DOUBLE_EQ(value, zero_value); |
| 40 list.Clear(); | 61 list.Clear(); |
| 41 | 62 |
| 42 list.Append(Value::CreateDoubleValue(neg_value)); | 63 list.Append(Value::CreateDoubleValue(neg_value)); |
| 43 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); | 64 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 44 EXPECT_EQ(value, neg_value); | 65 EXPECT_DOUBLE_EQ(value, neg_value); |
| 45 list.Clear(); | 66 list.Clear(); |
| 46 | 67 |
| 47 list.Append(Value::CreateDoubleValue(pos_value)); | 68 list.Append(Value::CreateDoubleValue(pos_value)); |
| 48 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); | 69 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 49 EXPECT_EQ(value, pos_value); | 70 EXPECT_DOUBLE_EQ(value, pos_value); |
| 71 list.Clear(); |
| 72 |
| 73 list.Append(Value::CreateStringValue(zero_string)); |
| 74 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 75 EXPECT_DOUBLE_EQ(value, zero_value); |
| 76 list.Clear(); |
| 77 |
| 78 list.Append(Value::CreateStringValue(neg_string)); |
| 79 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 80 EXPECT_DOUBLE_EQ(value, neg_value); |
| 81 list.Clear(); |
| 82 |
| 83 list.Append(Value::CreateStringValue(pos_string)); |
| 84 EXPECT_TRUE(WebUIMessageHandler::ExtractDoubleValue(&list, &value)); |
| 85 EXPECT_DOUBLE_EQ(value, pos_value); |
| 50 } | 86 } |
| 51 | 87 |
| 52 TEST(WebUIMessageHandlerTest, ExtractStringValue) { | 88 TEST(WebUIMessageHandlerTest, ExtractStringValue) { |
| 53 ListValue list; | 89 ListValue list; |
| 54 string16 in_string(UTF8ToUTF16( | 90 string16 in_string(UTF8ToUTF16( |
| 55 "The facts, though interesting, are irrelevant.")); | 91 "The facts, though interesting, are irrelevant.")); |
| 56 list.Append(Value::CreateStringValue(in_string)); | 92 list.Append(Value::CreateStringValue(in_string)); |
| 57 string16 out_string = WebUIMessageHandler::ExtractStringValue(&list); | 93 string16 out_string = WebUIMessageHandler::ExtractStringValue(&list); |
| 58 EXPECT_STREQ(in_string.c_str(), out_string.c_str()); | 94 EXPECT_EQ(in_string, out_string); |
| 59 } | 95 } |
| 60 | 96 |
| 61 } // namespace content | 97 } // namespace content |
| OLD | NEW |