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

Side by Side Diff: chrome/test/data/pdf/nameddestinations_test.js

Issue 838723003: Testcases for nameddests and navigate for PDF (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Correcting Indentation. Created 5 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
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
raymes 2015/01/28 01:33:45 We could really split this into 2 files: params_pa
Deepak 2015/01/28 05:57:24 Done.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var tests = [
6 /**
7 * Test named destinations by navigate.
8 */
9 function testNamedDestinationsByNavigate() {
raymes 2015/01/28 01:33:45 nit: testNavigate
Deepak 2015/01/28 05:57:24 Done.
10 var mockWindow = new MockWindow(100, 100);
11 var mockSizer = new MockSizer();
12 var mockCallback = new MockViewportChangedCallback();
13 var viewport = new Viewport(mockWindow, mockSizer, mockCallback.callback,
14 function() {}, function() {}, 0, 0);
15
16 var paramsParser = new OpenPDFParamsParser();
17 paramsParser.namedDestinations['US'] = 0;
18 paramsParser.namedDestinations['UY'] = 2;
19 var url = "http://xyz.pdf";
20 var navigator = new Navigator(url, viewport, paramsParser);
raymes 2015/01/28 01:33:45 Can we change Navigator to also pass in: -A functi
Deepak 2015/01/28 05:57:24 Done.
21
22 var documentDimensions = new MockDocumentDimensions();
23
raymes 2015/01/28 01:33:45 nit: no need for a blank line
Deepak 2015/01/28 05:57:24 Done.
24 documentDimensions.addPage(100, 100);
25 documentDimensions.addPage(200, 200);
26 documentDimensions.addPage(100, 400);
27 viewport.setDocumentDimensions(documentDimensions);
28 viewport.setZoom(1);
29
30 mockCallback.reset();
31 // This should move viewport to page 0.
32 navigator.navigate(url + "#US", false);
33 chrome.test.assertTrue(mockCallback.wasCalled);
34 chrome.test.assertEq(0, viewport.position.x);
35 chrome.test.assertEq(0, viewport.position.y);
36
37 mockCallback.reset();
38 // This shouldl open "http://xyz.pdf#US" in newTab. So current tab viewport
raymes 2015/01/28 01:33:45 nit: shouldl->should nit: newTab->a new tab
Deepak 2015/01/28 05:57:24 Done.
39 // should not change and viewport position should remain same.
40 navigator.navigate(url + "#US", true);
41 chrome.test.assertFalse(mockCallback.wasCalled);
42 chrome.test.assertEq(0, viewport.position.x);
43 chrome.test.assertEq(0, viewport.position.y);
44
45 mockCallback.reset();
46 // This should move viewport to page 2.
47 navigator.navigate(url + "#UY", false);
48 chrome.test.assertTrue(mockCallback.wasCalled);
49 chrome.test.assertEq(0, viewport.position.x);
50 chrome.test.assertEq(300, viewport.position.y);
51
52 mockCallback.reset();
53 // #ABC is not a nemeddestination in the page so viewport should not change
raymes 2015/01/28 01:33:45 nit: nemeddestination->named destination
Deepak 2015/01/28 05:57:24 Done.
54 // and viewport position should remain same.
55 navigator.navigate(url + "#ABC", false);
56 chrome.test.assertFalse(mockCallback.wasCalled);
57 chrome.test.assertEq(0, viewport.position.x);
58 chrome.test.assertEq(300, viewport.position.y);
59
60 chrome.test.succeed();
61 },
62
63 /**
64 * Test named destinations by getViewportFromUrlParams.
65 */
66 function testNamedDestinations() {
raymes 2015/01/28 01:33:45 nit: testParamsParser
Deepak 2015/01/28 05:57:24 Done.
Deepak 2015/01/28 05:57:24 Done.
67 var paramsParser = new OpenPDFParamsParser();
68 // Assigning page number for #nameddests.
69 paramsParser.namedDestinations['RU'] = 26;
70 paramsParser.namedDestinations['US'] = 0;
71 paramsParser.namedDestinations['UY'] = 22;
72
73 var url = "http://xyz.pdf";
74
75 // Checking #nameddest.
76 var urlParams = paramsParser.getViewportFromUrlParams(url + "#RU");
77 chrome.test.assertEq(urlParams.page, 26);
78
79 // Checking #nameddest=name.
80 urlParams = paramsParser.getViewportFromUrlParams(url + "#nameddest=US");
81 chrome.test.assertEq(urlParams.page, 0);
82
83 // Checking #page=pagenum nameddest.The document first page has a pagenum
84 // value of 1.
85 urlParams = paramsParser.getViewportFromUrlParams(url + "#page=6");
86 chrome.test.assertEq(urlParams.page, 5);
87
88 // Checking #zoom=scale.
89 urlParams = paramsParser.getViewportFromUrlParams(url + "#zoom=200");
90 chrome.test.assertEq(urlParams.zoom, 2);
91
92 // Checking #zoom=scale,left,top.
93 urlParams = paramsParser.getViewportFromUrlParams(url +
94 "#zoom=200,100,200");
raymes 2015/01/28 01:33:45 nit: indentation. Use 4 space indent
Deepak 2015/01/28 05:57:24 Done.
95 chrome.test.assertEq(urlParams.zoom, 2);
96 chrome.test.assertEq(urlParams.position.x, 100);
97 chrome.test.assertEq(urlParams.position.y, 200);
98
99 // Checking #nameddest=name and zoom=scale.
100 urlParams = paramsParser.getViewportFromUrlParams(url +
101 "#nameddest=UY&zoom=150");
102 chrome.test.assertEq(urlParams.page, 22);
103 chrome.test.assertEq(urlParams.zoom, 1.5);
104
105 // Checking #page=pagenum and zoom=scale.
106 urlParams = paramsParser.getViewportFromUrlParams(url +
107 "#page=2&zoom=250");
108 chrome.test.assertEq(urlParams.page, 1);
109 chrome.test.assertEq(urlParams.zoom, 2.5);
110
111 // Checking #nameddest=name and zoom=scale,left,top.
112 urlParams = paramsParser.getViewportFromUrlParams(url +
113 "#nameddest=UY&zoom=150,100,200");
114 chrome.test.assertEq(urlParams.page, 22);
115 chrome.test.assertEq(urlParams.zoom, 1.5);
116 chrome.test.assertEq(urlParams.position.x, 100);
117 chrome.test.assertEq(urlParams.position.y, 200);
118
119 // Checking #page=pagenum and zoom=scale,left,top.
120 urlParams = paramsParser.getViewportFromUrlParams(url +
121 "#page=2&zoom=250,100,200");
122 chrome.test.assertEq(urlParams.page, 1);
123 chrome.test.assertEq(urlParams.zoom, 2.5);
124 chrome.test.assertEq(urlParams.position.x, 100);
125 chrome.test.assertEq(urlParams.position.y, 200);
126
127 chrome.test.succeed();
128 }
129 ];
130
131 var scriptingAPI = new PDFScriptingAPI(window, window);
132 scriptingAPI.setLoadCallback(function() {
133 chrome.test.runTests(tests);
134 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698