summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/page_info_window_mac_unittest.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cocoa/page_info_window_mac_unittest.mm')
-rw-r--r--chrome/browser/cocoa/page_info_window_mac_unittest.mm203
1 files changed, 0 insertions, 203 deletions
diff --git a/chrome/browser/cocoa/page_info_window_mac_unittest.mm b/chrome/browser/cocoa/page_info_window_mac_unittest.mm
deleted file mode 100644
index d3db57e..0000000
--- a/chrome/browser/cocoa/page_info_window_mac_unittest.mm
+++ /dev/null
@@ -1,203 +0,0 @@
-// Copyright (c) 2010 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 "app/l10n_util.h"
-#include "base/scoped_nsobject.h"
-#include "base/string_util.h"
-#include "base/string_number_conversions.h"
-#include "base/sys_string_conversions.h"
-#include "base/utf_string_conversions.h"
-#import "chrome/browser/cocoa/page_info_window_mac.h"
-#import "chrome/browser/cocoa/page_info_window_controller.h"
-#include "chrome/browser/cocoa/browser_test_helper.h"
-#import "chrome/browser/cocoa/cocoa_test_helper.h"
-#include "chrome/browser/page_info_model.h"
-#include "grit/generated_resources.h"
-
-namespace {
-
-class FakeModel : public PageInfoModel {
- public:
- FakeModel() : PageInfoModel() {}
-
- void AddSection(SectionStateIcon icon_id,
- const string16& title,
- const string16& description,
- SectionInfoType type) {
- sections_.push_back(SectionInfo(
- icon_id,
- title,
- string16(),
- description,
- type));
- }
-};
-
-class PageInfoWindowMacTest : public CocoaTest {
- public:
- virtual void SetUp() {
- CocoaTest::SetUp();
-
- // The controller cleans up after itself when the window closes.
- controller_ = [[PageInfoWindowController alloc] init];
- window_ = [controller_ window];
-
- // The bridge will own the model.
- model_ = new FakeModel();
-
- // The controller will take ownership of the bridge.
- bridge_ = new PageInfoWindowMac(controller_, model_);
- [controller_ setPageInfo:bridge_];
- EXPECT_TRUE([controller_ window]);
- }
-
- virtual void TearDown() {
- [controller_ close];
- CocoaTest::TearDown();
- }
-
- // Checks the controller's window for the requisite subviews in the given
- // numbers.
- void CheckWindow(int button_count, int box_count) {
- for (NSView* view in [[window_ contentView] subviews]) {
- if ([view isKindOfClass:[NSButton class]]) {
- --button_count;
- CheckButton(static_cast<NSButton*>(view));
- } else if ([view isKindOfClass:[NSBox class]]) {
- --box_count;
- CheckBox(static_cast<NSBox*>(view));
- } else {
- EXPECT_TRUE(false) << "Unknown subview";
- }
- }
- EXPECT_EQ(0, button_count);
- EXPECT_EQ(0, box_count);
- EXPECT_EQ([window_ delegate], controller_);
- }
-
- // Checks that a button is hooked up correctly.
- void CheckButton(NSButton* button) {
- EXPECT_EQ(@selector(showCertWindow:), [button action]);
- EXPECT_EQ(controller_, [button target]);
- EXPECT_TRUE([button stringValue]);
- }
-
- // Makes sure the box has a valid image and a string.
- void CheckBox(NSBox* box) {
- EXPECT_TRUE([box title]);
- NSArray* subviews = [[box contentView] subviews];
- EXPECT_EQ(2U, [subviews count]);
- for (NSView* view in subviews) {
- if ([view isKindOfClass:[NSImageView class]]) {
- NSImageView* image_view = static_cast<NSImageView*>(view);
- EXPECT_TRUE([image_view image]);
- } else if ([view isKindOfClass:[NSTextField class]]) {
- NSTextField* text_field = static_cast<NSTextField*>(view);
- EXPECT_LT(0U, [[text_field stringValue] length]);
- } else {
- EXPECT_TRUE(false) << "Unknown box subview";
- }
- }
- }
-
- BrowserTestHelper helper_;
-
- PageInfoWindowController* controller_; // Weak, owns self.
- PageInfoWindowMac* bridge_; // Weak, owned by controller.
- FakeModel* model_; // Weak, owned by bridge.
-
- NSWindow* window_; // Weak, owned by controller.
-};
-
-
-TEST_F(PageInfoWindowMacTest, NoHistoryNoSecurity) {
- model_->AddSection(PageInfoModel::ICON_STATE_ERROR,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_IDENTITY_TITLE),
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY),
- PageInfoModel::SECTION_INFO_IDENTITY);
- model_->AddSection(PageInfoModel::ICON_STATE_ERROR,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE),
- l10n_util::GetStringFUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,
- ASCIIToUTF16("google.com")),
- PageInfoModel::SECTION_INFO_CONNECTION);
-
- bridge_->ModelChanged();
-
- CheckWindow(1, 2);
-}
-
-
-TEST_F(PageInfoWindowMacTest, HistoryNoSecurity) {
- model_->AddSection(PageInfoModel::ICON_STATE_ERROR,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_IDENTITY_TITLE),
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_UNKNOWN_PARTY),
- PageInfoModel::SECTION_INFO_IDENTITY);
- model_->AddSection(PageInfoModel::ICON_STATE_ERROR,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE),
- l10n_util::GetStringFUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,
- ASCIIToUTF16("google.com")),
- PageInfoModel::SECTION_INFO_CONNECTION);
-
- // In practice, the history information comes later because it's queried
- // asynchronously, so replicate the double-build here.
- bridge_->ModelChanged();
-
- model_->AddSection(PageInfoModel::ICON_STATE_ERROR,
- l10n_util::GetStringUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_PERSONAL_HISTORY_TITLE),
- l10n_util::GetStringUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_FIRST_VISITED_TODAY),
- PageInfoModel::SECTION_INFO_FIRST_VISIT);
-
- bridge_->ModelChanged();
-
- CheckWindow(1, 3);
-}
-
-
-TEST_F(PageInfoWindowMacTest, NoHistoryMixedSecurity) {
- model_->AddSection(PageInfoModel::ICON_STATE_OK,
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_IDENTITY_TITLE),
- l10n_util::GetStringFUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY,
- ASCIIToUTF16("Goat Security Systems")),
- PageInfoModel::SECTION_INFO_IDENTITY);
-
- // This string is super long and the text should overflow the default clip
- // region (kImageSize).
- string16 title =
- l10n_util::GetStringUTF16(IDS_PAGE_INFO_SECURITY_TAB_CONNECTION_TITLE);
- model_->AddSection(PageInfoModel::ICON_STATE_OK,
- title,
- l10n_util::GetStringFUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_SENTENCE_LINK,
- l10n_util::GetStringFUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_CONNECTION_TEXT,
- ASCIIToUTF16("chrome.google.com"),
- base::IntToString16(1024)),
- l10n_util::GetStringUTF16(
- IDS_PAGE_INFO_SECURITY_TAB_ENCRYPTED_INSECURE_CONTENT_WARNING)),
- PageInfoModel::SECTION_INFO_CONNECTION);
-
- bridge_->ModelChanged();
-
- NSArray* subviews = [[window_ contentView] subviews];
- CheckWindow(1, 2);
-
- // Look for the over-sized box.
- NSString* targetTitle = base::SysUTF16ToNSString(title);
- for (NSView* subview in subviews) {
- if ([subview isKindOfClass:[NSBox class]]) {
- NSBox* box = static_cast<NSBox*>(subview);
- if ([[box title] isEqualToString:targetTitle]) {
- // Typical box frame is ~55px, make sure this is extra large.
- EXPECT_LT(75, NSHeight([box frame]));
- }
- }
- }
-}
-
-} // namespace