Index: chrome/browser/ui/tab_contents/tab_contents_wrapper_unittest.cc |
diff --git a/chrome/browser/ui/tab_contents/tab_contents_wrapper_unittest.cc b/chrome/browser/ui/tab_contents/tab_contents_wrapper_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c8b2f68eaed166ff0f19277ea32247d072f5b75c |
--- /dev/null |
+++ b/chrome/browser/ui/tab_contents/tab_contents_wrapper_unittest.cc |
@@ -0,0 +1,73 @@ |
+// 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 "chrome/common/pref_names.h" |
+#include "chrome/browser/prefs/pref_service.h" |
+#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
+#include "chrome/browser/ui/tab_contents/test_tab_contents_wrapper.h" |
+#include "content/browser/tab_contents/test_tab_contents.h" |
+#include "content/test/test_browser_thread.h" |
+ |
+using content::BrowserThread; |
+ |
+class TabContentsWrapperTest : public TabContentsWrapperTestHarness { |
+ public: |
+ TabContentsWrapperTest() |
+ : TabContentsWrapperTestHarness(), |
+ ui_thread_(BrowserThread::UI, &message_loop_) {} |
+ |
+ virtual ~TabContentsWrapperTest() {} |
+ |
+ TabContentsWrapper* contents_wrapper2() { |
+ return contents_wrapper2_.get(); |
+ } |
+ |
+ void SetContents2(TestTabContents* contents) { |
+ contents_wrapper2_.reset( |
+ contents ? new TabContentsWrapper(contents) : NULL); |
+ } |
+ |
+ protected: |
+ virtual void SetUp() OVERRIDE { |
+ TabContentsWrapperTestHarness::SetUp(); |
+ SetContents2(CreateTestTabContents()); |
+ } |
+ |
+ virtual void TearDown() OVERRIDE { |
+ contents_wrapper2_.reset(); |
+ TabContentsWrapperTestHarness::TearDown(); |
+ } |
+ |
+ private: |
+ content::TestBrowserThread ui_thread_; |
+ scoped_ptr<TabContentsWrapper> contents_wrapper2_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(TabContentsWrapperTest); |
+}; |
+ |
+TEST_F(TabContentsWrapperTest, PerTabJavaScriptEnabled) { |
+ const char* key = prefs::kWebKitJavascriptEnabled; |
+ const bool initial_value = |
+ contents_wrapper()->per_tab_prefs()->GetBoolean(key); |
+ EXPECT_EQ(initial_value, |
+ contents_wrapper2()->per_tab_prefs()->GetBoolean(key)); |
+ |
+ contents_wrapper()->per_tab_prefs()->SetBoolean(key, !initial_value); |
+ EXPECT_EQ(!initial_value, |
+ contents_wrapper()->per_tab_prefs()->GetBoolean(key)); |
+ EXPECT_EQ(initial_value, |
+ contents_wrapper2()->per_tab_prefs()->GetBoolean(key)); |
+ |
+ contents_wrapper()->per_tab_prefs()->SetBoolean(key, initial_value); |
+ EXPECT_EQ(initial_value, |
+ contents_wrapper()->per_tab_prefs()->GetBoolean(key)); |
+ EXPECT_EQ(initial_value, |
+ contents_wrapper2()->per_tab_prefs()->GetBoolean(key)); |
+ |
+ contents_wrapper2()->per_tab_prefs()->SetBoolean(key, !initial_value); |
+ EXPECT_EQ(initial_value, |
+ contents_wrapper()->per_tab_prefs()->GetBoolean(key)); |
+ EXPECT_EQ(!initial_value, |
+ contents_wrapper2()->per_tab_prefs()->GetBoolean(key)); |
+} |