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

Side by Side Diff: ui/base/cocoa/controls/hyperlink_text_view_unittest.mm

Issue 887823002: Finished swap out of old API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed formatting issues, changed code to perform string operations in C++ rather than ObjC Created 5 years, 10 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 unified diff | Download patch
« no previous file with comments | « ui/base/cocoa/controls/hyperlink_text_view.mm ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/mac/scoped_nsobject.h" 5 #include "base/mac/scoped_nsobject.h"
6 #include "testing/gtest_mac.h" 6 #include "testing/gtest_mac.h"
7 #import "ui/base/cocoa/controls/hyperlink_text_view.h" 7 #import "ui/base/cocoa/controls/hyperlink_text_view.h"
8 #import "ui/gfx/test/ui_cocoa_test_helper.h" 8 #import "ui/gfx/test/ui_cocoa_test_helper.h"
9 9
10 namespace { 10 namespace {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 TEST_VIEW(HyperlinkTextViewTest, view_); 58 TEST_VIEW(HyperlinkTextViewTest, view_);
59 59
60 TEST_F(HyperlinkTextViewTest, TestViewConfiguration) { 60 TEST_F(HyperlinkTextViewTest, TestViewConfiguration) {
61 EXPECT_FALSE([view_ isEditable]); 61 EXPECT_FALSE([view_ isEditable]);
62 EXPECT_FALSE([view_ drawsBackground]); 62 EXPECT_FALSE([view_ drawsBackground]);
63 EXPECT_FALSE([view_ isHorizontallyResizable]); 63 EXPECT_FALSE([view_ isHorizontallyResizable]);
64 EXPECT_FALSE([view_ isVerticallyResizable]); 64 EXPECT_FALSE([view_ isVerticallyResizable]);
65 } 65 }
66 66
67 TEST_F(HyperlinkTextViewTest, LinkInsertion) {
68 // Test that setMessage:withLink:... inserts the link text.
69 [view_ setMessageAndLink:@"This is a short text message"
70 withLink:@"alarmingly "
71 atOffset:10
72 font:GetDefaultFont()
73 messageColor:[NSColor blackColor]
74 linkColor:[NSColor blueColor]];
75 EXPECT_NSEQ(@"This is a alarmingly short text message",
76 [[view_ textStorage] string]);
77
78 // Test insertion at end - most common use case.
79 NSString* message=@"This is another test message ";
80 [view_ setMessageAndLink:message
81 withLink:@"with link"
82 atOffset:[message length]
83 font:GetDefaultFont()
84 messageColor:[NSColor blackColor]
85 linkColor:[NSColor blueColor]];
86 EXPECT_NSEQ(@"This is another test message with link",
87 [[view_ textStorage] string]);
88 }
89
90 TEST_F(HyperlinkTextViewTest, AttributesForMessageWithLink) {
91 // Verifies text attributes are set as expected for setMessageWithLink:...
92 [view_ setMessageAndLink:@"aaabbbbb"
93 withLink:@"xxxx"
94 atOffset:3
95 font:GetDefaultFont()
96 messageColor:[NSColor blackColor]
97 linkColor:[NSColor blueColor]];
98
99 NSDictionary* attributes;
100 NSRange rangeLimit = NSMakeRange(0, 12);
101 NSRange range;
102 attributes = [[view_ textStorage] attributesAtIndex:0
103 longestEffectiveRange:&range
104 inRange:rangeLimit];
105 EXPECT_EQ(0U, range.location);
106 EXPECT_EQ(3U, range.length);
107 EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
108
109 attributes = [[view_ textStorage] attributesAtIndex:3
110 longestEffectiveRange:&range
111 inRange:rangeLimit];
112 EXPECT_EQ(3U, range.location);
113 EXPECT_EQ(4U, range.length);
114 EXPECT_NSEQ(GetDefaultLinkAttributes(), attributes);
115
116 attributes = [[view_ textStorage] attributesAtIndex:7
117 longestEffectiveRange:&range
118 inRange:rangeLimit];
119 EXPECT_EQ(7U, range.location);
120 EXPECT_EQ(5U, range.length);
121 EXPECT_NSEQ(GetDefaultTextAttributes(), attributes);
122
123 }
124
125 TEST_F(HyperlinkTextViewTest, TestSetMessage) { 67 TEST_F(HyperlinkTextViewTest, TestSetMessage) {
126 // Verifies setMessage sets text and attributes properly. 68 // Verifies setMessage sets text and attributes properly.
127 NSString* message = @"Test message"; 69 NSString* message = @"Test message";
128 [view_ setMessage:message 70 [view_ setMessage:message
129 withFont:GetDefaultFont() 71 withFont:GetDefaultFont()
130 messageColor:[NSColor blackColor]]; 72 messageColor:[NSColor blackColor]];
131 EXPECT_NSEQ(@"Test message", [[view_ textStorage] string]); 73 EXPECT_NSEQ(@"Test message", [[view_ textStorage] string]);
132 74
133 NSDictionary* attributes; 75 NSDictionary* attributes;
134 NSRange rangeLimit = NSMakeRange(0, [message length]); 76 NSRange rangeLimit = NSMakeRange(0, [message length]);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 130
189 TEST_F(HyperlinkTextViewTest, FirstResponderBehavior) { 131 TEST_F(HyperlinkTextViewTest, FirstResponderBehavior) {
190 // By default, accept. 132 // By default, accept.
191 EXPECT_TRUE([view_ acceptsFirstResponder]); 133 EXPECT_TRUE([view_ acceptsFirstResponder]);
192 134
193 [view_ setRefusesFirstResponder:YES]; 135 [view_ setRefusesFirstResponder:YES];
194 EXPECT_FALSE([view_ acceptsFirstResponder]); 136 EXPECT_FALSE([view_ acceptsFirstResponder]);
195 } 137 }
196 138
197 } // namespace 139 } // namespace
OLDNEW
« no previous file with comments | « ui/base/cocoa/controls/hyperlink_text_view.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698