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

Side by Side Diff: chrome/browser/resources/shared/js/cr/link_controller_test.html

Issue 11962043: Move webui resources from chrome\browser\resources\shared to ui\webui\resources. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <!-- TODO(arv): Check in Closue unit tests and make this run as part of the
5 tests -->
6 <script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.j s"></script>
7 <script src="../cr.js"></script>
8 <script src="linkcontroller.js"></script>
9 <script>
10
11 goog.require('goog.testing.MockControl');
12 goog.require('goog.testing.PropertyReplacer');
13 goog.require('goog.testing.jsunit');
14 goog.require('goog.testing.mockmatchers');
15
16 </script>
17 </head>
18 <body>
19 <script>
20
21 var mockControl, propertyReplacer, mockWindow;
22 var chrome = chrome || {};
23 chrome.tabs = chrome.tabs || {};
24 chrome.windows = chrome.windows || {};
25
26 var ObjectEqualsMatcher = goog.testing.mockmatchers.ObjectEquals;
27 var SaveArgumentMatcher = goog.testing.mockmatchers.SaveArgument;
28
29 var MSG = 'MSG';
30 var localStrings = {
31 getStringF: function(msg, number) {
32 assertEquals('should_open_all', msg);
33 return MSG + number;
34 }
35 };
36
37 var URL1 = 'http://chromium.org/';
38 var URL2 = '#hash';
39 var WINDOW_ID = 'WINDOW_ID';
40
41 function setUp() {
42 mockControl = new goog.testing.MockControl;
43 chrome.tabs.create = mockControl.createFunctionMock();
44 chrome.windows.create = mockControl.createFunctionMock();
45
46 propertyReplacer = new goog.testing.PropertyReplacer;
47
48 mockWindow = {
49 confirm: mockControl.createFunctionMock(),
50 location: {
51 get href() {
52 return 'http://www.google.com/';
53 },
54 set href(url) {
55 assertEquals(URL1, url);
56 }
57 }
58 };
59 }
60
61 function tearDown() {
62 mockControl.$tearDown();
63 propertyReplacer.reset();
64 }
65
66 function testGetWarningMessage() {
67 var lc = new cr.LinkController(localStrings);
68 var msg = lc.getWarningMessage(10);
69 assertEquals(MSG + 10, msg);
70 }
71
72 function openUrlFromEventHelper(event, isMac, expectedKind) {
73 var lc = new cr.LinkController(localStrings);
74
75 lc.openUrls = mockControl.createFunctionMock();
76 lc.openUrls([URL1], expectedKind);
77
78 propertyReplacer.set(cr, 'isMac', isMac);
79
80 mockControl.$replayAll();
81
82 lc.openUrlFromEvent(URL1, event);
83
84 mockControl.$verifyAll();
85 }
86
87 ///////////////////////////////////////////////////////////////////////////////
88
89 function testOpenUrlFromEventForegroundTab() {
90 var e = {
91 type: 'click',
92 button: 0,
93 shiftKey: true,
94 ctrlKey: true
95 };
96 openUrlFromEventHelper(e, false, cr.LinkKind.FOREGROUND_TAB);
97 }
98
99 function testOpenUrlFromEventForegroundTabMac() {
100 var e = {
101 type: 'click',
102 button: 0,
103 shiftKey: true,
104 metaKey: true
105 };
106 openUrlFromEventHelper(e, true, cr.LinkKind.FOREGROUND_TAB);
107 }
108
109 function testOpenUrlFromEventForegroundTabEnter() {
110 var e = {
111 type: 'keydown',
112 keyIdentifier: 'Enter',
113 shiftKey: true,
114 ctrlKey: true
115 };
116 openUrlFromEventHelper(e, false, cr.LinkKind.FOREGROUND_TAB);
117 }
118
119 function testOpenUrlFromEventForegroundTabEnterMac() {
120 var e = {
121 type: 'keydown',
122 keyIdentifier: 'Enter',
123 shiftKey: true,
124 metaKey: true
125 };
126 openUrlFromEventHelper(e, true, cr.LinkKind.FOREGROUND_TAB);
127 }
128
129 function testOpenUrlFromEventForegroundTabMiddleClick() {
130 var e = {
131 type: 'click',
132 button: 1,
133 shiftKey: true
134 };
135 openUrlFromEventHelper(e, false, cr.LinkKind.FOREGROUND_TAB);
136 }
137
138 ///////////////////////////////////////////////////////////////////////////////
139
140 function testOpenUrlFromEventBackgroundTab() {
141 var e = {
142 type: 'click',
143 button: 0,
144 ctrlKey: true
145 };
146 openUrlFromEventHelper(e, false, cr.LinkKind.BACKGROUND_TAB);
147 }
148
149 function testOpenUrlFromEventBackgroundTabMac() {
150 var e = {
151 type: 'click',
152 button: 0,
153 metaKey: true
154 };
155 openUrlFromEventHelper(e, true, cr.LinkKind.BACKGROUND_TAB);
156 }
157
158 function testOpenUrlFromEventBackgroundTabEnter() {
159 var e = {
160 type: 'keydown',
161 keyIdentifier: 'Enter',
162 ctrlKey: true
163 };
164 openUrlFromEventHelper(e, false, cr.LinkKind.BACKGROUND_TAB);
165 }
166
167 function testOpenUrlFromEventBackgroundTabEnterMac() {
168 var e = {
169 type: 'keydown',
170 keyIdentifier: 'Enter',
171 metaKey: true
172 };
173 openUrlFromEventHelper(e, true, cr.LinkKind.BACKGROUND_TAB);
174 }
175
176 function testOpenUrlFromEventBackgroundTabMiddleClick() {
177 var e = {
178 type: 'click',
179 button: 1
180 };
181 openUrlFromEventHelper(e, false, cr.LinkKind.BACKGROUND_TAB);
182 }
183
184 ///////////////////////////////////////////////////////////////////////////////
185
186 function testOpenUrlFromEventWindow() {
187 var e = {
188 type: 'click',
189 button: 0,
190 shiftKey: true
191 };
192 openUrlFromEventHelper(e, false, cr.LinkKind.WINDOW);
193 }
194
195 function testOpenUrlFromEventWindowEnter() {
196 var e = {
197 type: 'keydown',
198 keyIdentifier: 'Enter',
199 shiftKey: true
200 };
201 openUrlFromEventHelper(e, false, cr.LinkKind.WINDOW);
202 }
203
204 ///////////////////////////////////////////////////////////////////////////////
205
206 function testOpenUrlFromEventSelf() {
207 var e = {
208 type: 'click',
209 button: 0
210 };
211 openUrlFromEventHelper(e, false, cr.LinkKind.SELF);
212 }
213
214 function testOpenUrlFromEventSelfEnter() {
215 var e = {
216 type: 'keydown',
217 keyIdentifier: 'Enter'
218 };
219 openUrlFromEventHelper(e, false, cr.LinkKind.SELF);
220 }
221
222 ///////////////////////////////////////////////////////////////////////////////
223
224 function testOpenUrl() {
225 var lc = new cr.LinkController(localStrings);
226 lc.openUrls = mockControl.createFunctionMock();
227
228 lc.openUrls(new ObjectEqualsMatcher([URL1]), cr.LinkKind.SELF);
229 mockControl.$replayAll();
230
231 lc.openUrl(URL1, cr.LinkKind.SELF);
232
233 mockControl.$verifyAll();
234 }
235
236 /////////////////////////////// OpenUrls //////////////////////////////////////
237
238 function testOpenUrlsTooFew() {
239 var lc = new cr.LinkController(localStrings);
240
241 mockControl.$replayAll();
242
243 lc.openUrls([], cr.LinkKind.SELF);
244
245 mockControl.$verifyAll();
246 }
247
248
249 function testOpenUrlsTooMany() {
250 var lc = new cr.LinkController(localStrings);
251 lc.warningLimit = 9;
252
253 var urls = new Array(lc.warningLimit + 1);
254 lc.window = mockWindow;
255
256 lc.window.confirm('MSG10').$returns(false);
257 mockControl.$replayAll();
258
259 lc.openUrls(urls, cr.LinkKind.SELF);
260
261 mockControl.$verifyAll();
262 }
263
264 function testOpenUrlsSelf() {
265 var lc = new cr.LinkController(localStrings);
266 lc.window = mockWindow;
267
268 mockControl.$replayAll();
269
270 lc.openUrls([URL1], cr.LinkKind.SELF);
271
272 mockControl.$verifyAll();
273 }
274
275 function testOpenUrlsForegroundTab() {
276 var lc = new cr.LinkController(localStrings);
277 lc.window = mockWindow;
278
279 chrome.tabs.create(new ObjectEqualsMatcher({url: URL1, selected: true}));
280 chrome.tabs.create(new ObjectEqualsMatcher({
281 url: 'http://www.google.com/#hash',
282 selected: false
283 }));
284
285 mockControl.$replayAll();
286
287 lc.openUrls([URL1, URL2], cr.LinkKind.FOREGROUND_TAB);
288
289 mockControl.$verifyAll();
290 }
291
292 function testOpenUrlsBackgroundTab() {
293 var lc = new cr.LinkController(localStrings);
294 lc.window = mockWindow;
295
296 chrome.tabs.create(new ObjectEqualsMatcher({url: URL1, selected: false}));
297 chrome.tabs.create(new ObjectEqualsMatcher({
298 url: 'http://www.google.com/#hash',
299 selected: false
300 }));
301
302 mockControl.$replayAll();
303
304 lc.openUrls([URL1, URL2], cr.LinkKind.BACKGROUND_TAB);
305
306 mockControl.$verifyAll();
307 }
308
309 function testOpenUrlsWindow() {
310 var lc = new cr.LinkController(localStrings);
311 lc.window = mockWindow;
312
313 var callbackMatcher = new SaveArgumentMatcher;
314 chrome.windows.create(new ObjectEqualsMatcher({url: URL1, incognito: false}),
315 callbackMatcher);
316 chrome.tabs.create(new ObjectEqualsMatcher({
317 url: 'http://www.google.com/#hash',
318 windowId: WINDOW_ID,
319 selected: false
320 }));
321
322 mockControl.$replayAll();
323
324 lc.openUrls([URL1, URL2], cr.LinkKind.WINDOW);
325 callbackMatcher.arg({id: WINDOW_ID});
326
327 mockControl.$verifyAll();
328 }
329
330 function testOpenUrlsIncognito() {
331 var lc = new cr.LinkController(localStrings);
332 lc.window = mockWindow;
333
334 var callbackMatcher = new SaveArgumentMatcher;
335 chrome.windows.create(new ObjectEqualsMatcher({url: URL1, incognito: true}),
336 callbackMatcher);
337 chrome.tabs.create(new ObjectEqualsMatcher({
338 url: 'http://www.google.com/#hash',
339 windowId: WINDOW_ID,
340 selected: false
341 }));
342
343 mockControl.$replayAll();
344
345 lc.openUrls([URL1, URL2], cr.LinkKind.INCOGNITO);
346 callbackMatcher.arg({id: WINDOW_ID});
347
348 mockControl.$verifyAll();
349 }
350
351 </script>
352 </body>
353 </html>
OLDNEW
« no previous file with comments | « chrome/browser/resources/shared/js/cr/link_controller.js ('k') | chrome/browser/resources/shared/js/cr/promise.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698