1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
7 * Test named destinations.
9 function testParamsParser() {
10 var paramsParser
= new OpenPDFParamsParser();
11 // Assigning page number for #nameddests.
12 paramsParser
.namedDestinations
['RU'] = 26;
13 paramsParser
.namedDestinations
['US'] = 0;
14 paramsParser
.namedDestinations
['UY'] = 22;
16 var url
= "http://xyz.pdf";
18 // Checking #nameddest.
19 var urlParams
= paramsParser
.getViewportFromUrlParams(url
+ "#RU");
20 chrome
.test
.assertEq(urlParams
.page
, 26);
22 // Checking #nameddest=name.
23 urlParams
= paramsParser
.getViewportFromUrlParams(url
+ "#nameddest=US");
24 chrome
.test
.assertEq(urlParams
.page
, 0);
26 // Checking #page=pagenum nameddest.The document first page has a pagenum
28 urlParams
= paramsParser
.getViewportFromUrlParams(url
+ "#page=6");
29 chrome
.test
.assertEq(urlParams
.page
, 5);
31 // Checking #zoom=scale.
32 urlParams
= paramsParser
.getViewportFromUrlParams(url
+ "#zoom=200");
33 chrome
.test
.assertEq(urlParams
.zoom
, 2);
35 // Checking #zoom=scale,left,top.
36 urlParams
= paramsParser
.getViewportFromUrlParams(url
+
38 chrome
.test
.assertEq(urlParams
.zoom
, 2);
39 chrome
.test
.assertEq(urlParams
.position
.x
, 100);
40 chrome
.test
.assertEq(urlParams
.position
.y
, 200);
42 // Checking #nameddest=name and zoom=scale.
43 urlParams
= paramsParser
.getViewportFromUrlParams(url
+
44 "#nameddest=UY&zoom=150");
45 chrome
.test
.assertEq(urlParams
.page
, 22);
46 chrome
.test
.assertEq(urlParams
.zoom
, 1.5);
48 // Checking #page=pagenum and zoom=scale.
49 urlParams
= paramsParser
.getViewportFromUrlParams(url
+
51 chrome
.test
.assertEq(urlParams
.page
, 1);
52 chrome
.test
.assertEq(urlParams
.zoom
, 2.5);
54 // Checking #nameddest=name and zoom=scale,left,top.
55 urlParams
= paramsParser
.getViewportFromUrlParams(url
+
56 "#nameddest=UY&zoom=150,100,200");
57 chrome
.test
.assertEq(urlParams
.page
, 22);
58 chrome
.test
.assertEq(urlParams
.zoom
, 1.5);
59 chrome
.test
.assertEq(urlParams
.position
.x
, 100);
60 chrome
.test
.assertEq(urlParams
.position
.y
, 200);
62 // Checking #page=pagenum and zoom=scale,left,top.
63 urlParams
= paramsParser
.getViewportFromUrlParams(url
+
64 "#page=2&zoom=250,100,200");
65 chrome
.test
.assertEq(urlParams
.page
, 1);
66 chrome
.test
.assertEq(urlParams
.zoom
, 2.5);
67 chrome
.test
.assertEq(urlParams
.position
.x
, 100);
68 chrome
.test
.assertEq(urlParams
.position
.y
, 200);
70 chrome
.test
.succeed();
74 var scriptingAPI
= new PDFScriptingAPI(window
, window
);
75 scriptingAPI
.setLoadCallback(function() {
76 chrome
.test
.runTests(tests
);