summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/print_preview/print_preview_utils_unittest.gtestjs
blob: 620fcfbb02bf0fcaa590efaf8636df8867da2460 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// 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.

/**
 * Test fixture for print preview utils.
 * @constructor
 * @extends {testing.Test}
 */
function PrintPreviewUtilsUnitTest () {}

PrintPreviewUtilsUnitTest.prototype = {
  __proto__: testing.Test.prototype,

  /** @inheritDoc */
  extraLibraries: [
    'print_preview_utils.js',
  ],
};

TEST_F('PrintPreviewUtilsUnitTest', 'IsInteger', function() {
  assertFalse(isInteger("  abc "));
  assertFalse(isInteger("-7"));
  assertFalse(isInteger("7.0"));
  assertFalse(isInteger("a7a"));

  assertTrue(isInteger("0"));
  assertTrue(isInteger(" 100  "));
  assertTrue(isInteger("0055 "));
});

TEST_F('PrintPreviewUtilsUnitTest', 'IsPositiveInteger', function() {
  assertTrue(isPositiveInteger("100"));
  assertTrue(isPositiveInteger("0055"));

  assertFalse(isPositiveInteger("0"));
  assertFalse(isPositiveInteger("-100"));
  assertFalse(isPositiveInteger("sdfs"));
});

TEST_F('PrintPreviewUtilsUnitTest', 'AreArraysEqual', function() {
  assertTrue(areArraysEqual([2,4,6,8,10], [2,4,6,8,10]));
  assertTrue(areArraysEqual([], []));

  assertFalse(areArraysEqual([2,4,6,8,10,12], [2,4,6,8,10]));
  assertFalse(areArraysEqual([], [2,4,6,8,10]));
});

TEST_F('PrintPreviewUtilsUnitTest', 'RemoveDuplicates', function() {
  var array1 = [1,2,2,3,6,6,6,7,9,10];
  assertTrue(areArraysEqual(removeDuplicates(array1), [1,2,3,6,7,9,10]));
});

TEST_F('PrintPreviewUtilsUnitTest', 'IsPageRangeTextValid1', function() {
  var totalPageCount;
  assertTrue(isPageRangeTextValid("1,2,  3,56,1000000", totalPageCount));
  assertTrue(isPageRangeTextValid(", ,1,2,3,,1,, 56 ,", totalPageCount));
  assertTrue(isPageRangeTextValid(",1-3,,6-9,6-10,", totalPageCount));
  assertTrue(isPageRangeTextValid("10-", totalPageCount));
  assertTrue(isPageRangeTextValid("10-10", totalPageCount));
  assertTrue(isPageRangeTextValid(" 10-100000", totalPageCount));

  assertFalse(isPageRangeTextValid("1,2,0,56,1000000", totalPageCount));
  assertFalse(isPageRangeTextValid("-1,1,2,,56", totalPageCount));
  assertFalse(isPageRangeTextValid("1,2,56-40", totalPageCount));
});

TEST_F('PrintPreviewUtilsUnitTest', 'IsPageRangeTextValid2', function() {
  var totalPageCount = 100;
  assertTrue(isPageRangeTextValid(",,1,2,3,,1,,56,", totalPageCount));
  assertTrue(isPageRangeTextValid(",1-3,,6-9,6-10,", totalPageCount));
  assertTrue(isPageRangeTextValid("10-", totalPageCount));
  assertTrue(isPageRangeTextValid("10-100000", totalPageCount));

  assertFalse(isPageRangeTextValid("1,2,3,56,1000000", totalPageCount));
  assertFalse(isPageRangeTextValid("1,2,0,56", totalPageCount));
  assertFalse(isPageRangeTextValid("-1,1,2,,56", totalPageCount));
  assertFalse(isPageRangeTextValid("1,2,56-40", totalPageCount));
  assertFalse(isPageRangeTextValid("101-110", totalPageCount));
});

TEST_F('PrintPreviewUtilsUnitTest', 'PageRangeTextToPageList', function() {
  var totalPageCount = 10;
  assertTrue(areArraysEqual([1,2,3,4],
                            pageRangeTextToPageList("1-4", totalPageCount)));
  assertTrue(areArraysEqual([1,2,3,4,2,3,4],
                            pageRangeTextToPageList("1-4, 2-4", totalPageCount)));
  assertTrue(areArraysEqual([1,2,5,7,8,9,10,2,2,3],
                            pageRangeTextToPageList("1-2, 5, 7-10, 2, 2, 3",
                                                    totalPageCount)));
  assertTrue(areArraysEqual([5,6,7,8,9,10],
                            pageRangeTextToPageList("5-", totalPageCount)));
  assertTrue(areArraysEqual([], pageRangeTextToPageList("1-4", undefined)));
  assertTrue(areArraysEqual([],
                            pageRangeTextToPageList("1-abcd", totalPageCount)));
});

TEST_F('PrintPreviewUtilsUnitTest', 'PageListToPageSet', function() {
  assertTrue(areArraysEqual([1,2,3,4], pageListToPageSet([4,3,2,1,1,1])));
  assertTrue(areArraysEqual([1,2,3,4], pageListToPageSet([1,2,2,3,4,1,1,1])));
  assertTrue(areArraysEqual([], pageListToPageSet([])));
});

TEST_F('PrintPreviewUtilsUnitTest', 'PageSetToPageRanges', function() {
  var pageRanges = pageSetToPageRanges([1,2,3,7,8,9,11]);
  assertEquals(pageRanges.length, 3);
  assertEquals(pageRanges[0].from, 1);
  assertEquals(pageRanges[0].to, 3);
  assertEquals(pageRanges[1].from, 7);
  assertEquals(pageRanges[1].to, 9);
  assertEquals(pageRanges[2].from, 11);
  assertEquals(pageRanges[2].to, 11);
});