Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Unified Diff: chrome/browser/ui/cocoa/hyperlink_text_view_unittest.mm

Issue 595283002: Move nsview_additions and hyperlink_text_view to ui/base/cocoa (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/hyperlink_text_view_unittest.mm
diff --git a/chrome/browser/ui/cocoa/hyperlink_text_view_unittest.mm b/chrome/browser/ui/cocoa/hyperlink_text_view_unittest.mm
deleted file mode 100644
index 7a4d2162487a3b48e620c0cd7b2cfb001e92f0cb..0000000000000000000000000000000000000000
--- a/chrome/browser/ui/cocoa/hyperlink_text_view_unittest.mm
+++ /dev/null
@@ -1,197 +0,0 @@
-// 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 "base/mac/scoped_nsobject.h"
-#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
-#import "chrome/browser/ui/cocoa/hyperlink_text_view.h"
-#include "testing/gtest_mac.h"
-
-namespace {
-
-class HyperlinkTextViewTest : public CocoaTest {
- public:
- HyperlinkTextViewTest() {
- NSRect frame = NSMakeRect(0, 0, 50, 50);
- base::scoped_nsobject<HyperlinkTextView> view(
- [[HyperlinkTextView alloc] initWithFrame:frame]);
- view_ = view.get();
- [[test_window() contentView] addSubview:view_];
- }
-
- NSFont* GetDefaultFont() {
- return [NSFont labelFontOfSize:
- [NSFont systemFontSizeForControlSize:NSRegularControlSize]];
- }
-
- NSDictionary* GetDefaultTextAttributes() {
- const float kTextBaselineShift = -1.0;
- return @{
- NSForegroundColorAttributeName : [NSColor blackColor],
- NSCursorAttributeName : [NSCursor arrowCursor],
- NSFontAttributeName : GetDefaultFont(),
- NSBaselineOffsetAttributeName : @(kTextBaselineShift)
- };
- }
-
- NSMutableDictionary* GetDefaultLinkAttributes() {
- if (!linkAttributes_.get()) {
- linkAttributes_.reset(
- [[NSMutableDictionary dictionaryWithDictionary:
- GetDefaultTextAttributes()] retain]);
- [linkAttributes_ addEntriesFromDictionary:@{
- NSForegroundColorAttributeName : [NSColor blueColor],
- NSUnderlineStyleAttributeName : @(YES),
- NSCursorAttributeName : [NSCursor pointingHandCursor],
- NSUnderlineStyleAttributeName : @(NSSingleUnderlineStyle),
- NSLinkAttributeName : @""}];
- }
- return [NSMutableDictionary dictionaryWithDictionary:linkAttributes_];
- }
-
- HyperlinkTextView* view_;
-
- private:
- base::scoped_nsobject<NSMutableDictionary> linkAttributes_;
-};
-
-TEST_VIEW(HyperlinkTextViewTest, view_);
-
-TEST_F(HyperlinkTextViewTest, TestViewConfiguration) {
- EXPECT_FALSE([view_ isEditable]);
- EXPECT_FALSE([view_ drawsBackground]);
- EXPECT_FALSE([view_ isHorizontallyResizable]);
- EXPECT_FALSE([view_ isVerticallyResizable]);
-}
-
-TEST_F(HyperlinkTextViewTest, LinkInsertion) {
- // Test that setMessage:withLink:... inserts the link text.
- [view_ setMessageAndLink:@"This is a short text message"
- withLink:@"alarmingly "
- atOffset:10
- font:GetDefaultFont()
- messageColor:[NSColor blackColor]
- linkColor:[NSColor blueColor]];
- EXPECT_NSEQ(@"This is a alarmingly short text message",
- [[view_ textStorage] string]);
-
- // Test insertion at end - most common use case.
- NSString* message=@"This is another test message ";
- [view_ setMessageAndLink:message
- withLink:@"with link"
- atOffset:[message length]
- font:GetDefaultFont()
- messageColor:[NSColor blackColor]
- linkColor:[NSColor blueColor]];
- EXPECT_NSEQ(@"This is another test message with link",
- [[view_ textStorage] string]);
-}
-
-TEST_F(HyperlinkTextViewTest, AttributesForMessageWithLink) {
- // Verifies text attributes are set as expected for setMessageWithLink:...
- [view_ setMessageAndLink:@"aaabbbbb"
- withLink:@"xxxx"
- atOffset:3
- font:GetDefaultFont()
- messageColor:[NSColor blackColor]
- linkColor:[NSColor blueColor]];
-
- NSDictionary* attributes;
- NSRange rangeLimit = NSMakeRange(0, 12);
- NSRange range;
- attributes = [[view_ textStorage] attributesAtIndex:0
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(0U, range.location);
- EXPECT_EQ(3U, range.length);
- EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
-
- attributes = [[view_ textStorage] attributesAtIndex:3
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(3U, range.location);
- EXPECT_EQ(4U, range.length);
- EXPECT_NSEQ(GetDefaultLinkAttributes(), attributes);
-
- attributes = [[view_ textStorage] attributesAtIndex:7
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(7U, range.location);
- EXPECT_EQ(5U, range.length);
- EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
-
-}
-
-TEST_F(HyperlinkTextViewTest, TestSetMessage) {
- // Verifies setMessage sets text and attributes properly.
- NSString* message = @"Test message";
- [view_ setMessage:message
- withFont:GetDefaultFont()
- messageColor:[NSColor blackColor]];
- EXPECT_NSEQ(@"Test message", [[view_ textStorage] string]);
-
- NSDictionary* attributes;
- NSRange rangeLimit = NSMakeRange(0, [message length]);
- NSRange range;
- attributes = [[view_ textStorage] attributesAtIndex:0
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(0U, range.location);
- EXPECT_EQ([message length], range.length);
- EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
-}
-
-TEST_F(HyperlinkTextViewTest, TestAddLinkRange) {
- NSString* message = @"One Two Three Four";
- [view_ setMessage:message
- withFont:GetDefaultFont()
- messageColor:[NSColor blackColor]];
-
- NSColor* blue = [NSColor blueColor];
- [view_ addLinkRange:NSMakeRange(4,3) withName:@"Name:Two" linkColor:blue];
- [view_ addLinkRange:NSMakeRange(14,4) withName:@"Name:Four" linkColor:blue];
-
- NSDictionary* attributes;
- NSRange rangeLimit = NSMakeRange(0, [message length]);
- NSRange range;
- attributes = [[view_ textStorage] attributesAtIndex:0
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(0U, range.location);
- EXPECT_EQ(4U, range.length);
- EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
-
- NSMutableDictionary* linkAttributes = GetDefaultLinkAttributes();
- [linkAttributes setObject:@"Name:Two" forKey:NSLinkAttributeName];
- attributes = [[view_ textStorage] attributesAtIndex:4
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(4U, range.location);
- EXPECT_EQ(3U, range.length);
- EXPECT_NSEQ(linkAttributes, attributes);
-
- attributes = [[view_ textStorage] attributesAtIndex:7
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(7U, range.location);
- EXPECT_EQ(7U, range.length);
- EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
-
- [linkAttributes setObject:@"Name:Four" forKey:NSLinkAttributeName];
- attributes = [[view_ textStorage] attributesAtIndex:14
- longestEffectiveRange:&range
- inRange:rangeLimit];
- EXPECT_EQ(14U, range.location);
- EXPECT_EQ(4U, range.length);
- EXPECT_NSEQ(linkAttributes, attributes);
-}
-
-TEST_F(HyperlinkTextViewTest, FirstResponderBehavior) {
- // By default, accept.
- EXPECT_TRUE([view_ acceptsFirstResponder]);
-
- [view_ setRefusesFirstResponder:YES];
- EXPECT_FALSE([view_ acceptsFirstResponder]);
-}
-
-} // namespace

Powered by Google App Engine
This is Rietveld 408576698