Home | History | Annotate | Download | only in passwords
      1 // Copyright 2014 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 #ifndef CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_VIEW_TEST_H_
      6 #define CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_VIEW_TEST_H_
      7 
      8 #include "base/metrics/histogram_samples.h"
      9 #include "base/test/statistics_delta_reader.h"
     10 #include "chrome/test/base/in_process_browser_test.h"
     11 #include "components/autofill/core/common/password_form.h"
     12 #include "testing/gtest/include/gtest/gtest.h"
     13 
     14 class ManagePasswordsUIControllerMock;
     15 class ManagePasswordsIconView;
     16 
     17 // Test class for the various password management view bits and pieces. Sets
     18 // up a ManagePasswordsUIControllerMock, and provides some helper methods
     19 // to poke at the bubble, icon, and controller's state.
     20 class ManagePasswordsViewTest : public InProcessBrowserTest {
     21  public:
     22   ManagePasswordsViewTest() {}
     23 
     24   // InProcessBrowserTest:
     25   virtual void SetUpOnMainThread() OVERRIDE;
     26 
     27   // Get the mock UI controller for the current WebContents.
     28   ManagePasswordsUIControllerMock* controller();
     29 
     30   // Get the icon view for the current WebContents.
     31   ManagePasswordsIconView* view();
     32 
     33   // Execute the browser command to open the manage passwords bubble.
     34   void ExecuteManagePasswordsCommand();
     35 
     36   // Put the controller, icon, and bubble into a managing-password state.
     37   void SetupManagingPasswords();
     38 
     39   // Put the controller, icon, and bubble into a pending-password state.
     40   void SetupPendingPassword();
     41 
     42   // Put the controller, icon, and bubble into a blacklisted state.
     43   void SetupBlackistedPassword();
     44 
     45   // Get samples for |histogram|.
     46   base::HistogramSamples* GetSamples(const char* histogram);
     47 
     48   autofill::PasswordForm* test_form() { return &test_form_; }
     49 
     50  private:
     51   autofill::PasswordForm test_form_;
     52   base::StatisticsDeltaReader statistics_reader_;
     53 
     54   DISALLOW_COPY_AND_ASSIGN(ManagePasswordsViewTest);
     55 };
     56 
     57 #endif  // CHROME_BROWSER_UI_VIEWS_PASSWORDS_MANAGE_PASSWORDS_VIEW_TEST_H_
     58