summaryrefslogtreecommitdiffstats
path: root/content/browser/webui/web_ui_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/webui/web_ui_unittest.cc')
-rw-r--r--content/browser/webui/web_ui_unittest.cc74
1 files changed, 74 insertions, 0 deletions
diff --git a/content/browser/webui/web_ui_unittest.cc b/content/browser/webui/web_ui_unittest.cc
new file mode 100644
index 0000000..93e597f
--- /dev/null
+++ b/content/browser/webui/web_ui_unittest.cc
@@ -0,0 +1,74 @@
+// Copyright (c) 2011 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 "content/browser/webui/web_ui.h"
+
+#include "base/string16.h"
+#include "base/values.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+class TestWebUIMessageHandler : public WebUIMessageHandler {
+ public:
+ TestWebUIMessageHandler() {}
+ virtual ~TestWebUIMessageHandler() {}
+
+ protected:
+ virtual void RegisterMessages() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(TestWebUIMessageHandler);
+};
+
+TEST(WebUIMessageHandlerTest, ExtractIntegerValue) {
+ TestWebUIMessageHandler handler;
+
+ ListValue list;
+ int value, zero_value = 0, neg_value = -1234, pos_value = 1234;
+
+ list.Append(Value::CreateIntegerValue(zero_value));
+ EXPECT_TRUE(handler.ExtractIntegerValue(&list, &value));
+ EXPECT_EQ(value, zero_value);
+ list.Clear();
+
+ list.Append(Value::CreateIntegerValue(neg_value));
+ EXPECT_TRUE(handler.ExtractIntegerValue(&list, &value));
+ EXPECT_EQ(value, neg_value);
+ list.Clear();
+
+ list.Append(Value::CreateIntegerValue(pos_value));
+ EXPECT_TRUE(handler.ExtractIntegerValue(&list, &value));
+ EXPECT_EQ(value, pos_value);
+}
+
+TEST(WebUIMessageHandlerTest, ExtractDoubleValue) {
+ TestWebUIMessageHandler handler;
+
+ ListValue list;
+ double value, zero_value = 0.0, neg_value = -1234.5, pos_value = 1234.5;
+
+ list.Append(Value::CreateDoubleValue(zero_value));
+ EXPECT_TRUE(handler.ExtractDoubleValue(&list, &value));
+ EXPECT_EQ(value, zero_value);
+ list.Clear();
+
+ list.Append(Value::CreateDoubleValue(neg_value));
+ EXPECT_TRUE(handler.ExtractDoubleValue(&list, &value));
+ EXPECT_EQ(value, neg_value);
+ list.Clear();
+
+ list.Append(Value::CreateDoubleValue(pos_value));
+ EXPECT_TRUE(handler.ExtractDoubleValue(&list, &value));
+ EXPECT_EQ(value, pos_value);
+}
+
+TEST(WebUIMessageHandlerTest, ExtractStringValue) {
+ TestWebUIMessageHandler handler;
+
+ ListValue list;
+ string16 in_string = "The facts, though interesting, are irrelevant."
+ list.Append(Value::CreateStringValue(string));
+ string16 out_string = handler.ExtractStringValue(&list);
+ EXPECT_STREQ(in_string.c_str(), out_string.c_str());
+}
+