Home | History | Annotate | Download | only in test
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "ash/test/ash_test_helper.h"
      6 
      7 #include "testing/gtest/include/gtest/gtest.h"
      8 #include "ui/aura/root_window.h"
      9 #include "ui/views/widget/widget.h"
     10 
     11 // Tests for AshTestHelper. Who will watch the watchers? And who will test
     12 // the tests?
     13 class AshTestHelperTest : public testing::Test {
     14  public:
     15   AshTestHelperTest() {}
     16   virtual ~AshTestHelperTest() {}
     17 
     18   virtual void SetUp() OVERRIDE {
     19     testing::Test::SetUp();
     20     ash_test_helper_.reset(new ash::test::AshTestHelper(&message_loop_));
     21     ash_test_helper_->SetUp(true);
     22   }
     23 
     24   virtual void TearDown() OVERRIDE {
     25     ash_test_helper_->TearDown();
     26     testing::Test::TearDown();
     27   }
     28 
     29   ash::test::AshTestHelper* ash_test_helper() {
     30     return ash_test_helper_.get();
     31   }
     32 
     33  private:
     34   base::MessageLoopForUI message_loop_;
     35   scoped_ptr<ash::test::AshTestHelper> ash_test_helper_;
     36 
     37   DISALLOW_COPY_AND_ASSIGN(AshTestHelperTest);
     38 };
     39 
     40 // Ensure that we have initialized enough of Ash to create and show a window.
     41 TEST_F(AshTestHelperTest, AshTestHelper) {
     42   // Check initial state.
     43   EXPECT_TRUE(ash_test_helper()->message_loop());
     44   EXPECT_TRUE(ash_test_helper()->test_shell_delegate());
     45   EXPECT_TRUE(ash_test_helper()->CurrentContext());
     46 
     47   // Enough state is initialized to create a window.
     48   using views::Widget;
     49   scoped_ptr<Widget> w1(new Widget);
     50   Widget::InitParams params;
     51   params.ownership = Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
     52   params.context = ash_test_helper()->CurrentContext();
     53   w1->Init(params);
     54   w1->Show();
     55   EXPECT_TRUE(w1->IsActive());
     56   EXPECT_TRUE(w1->IsVisible());
     57 }
     58