blob: ff15d6fa61e08f20a948aa717e6b6d568b61e30c [file] [log] [blame]
// Copyright (c) 2012 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 () {
testing.Test.call(this);
}
PrintPreviewUtilsUnitTest.prototype = {
__proto__: testing.Test.prototype,
/** @override */
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', 'PageRanges', function() {
function assertRangesEqual(simpleRange1, range2) {
var range1 = []
for (var i = 0; i < simpleRange1.length; i++) {
var from;
var to;
if (Array.isArray(simpleRange1[i])) {
from = simpleRange1[i][0];
to = simpleRange1[i][1];
} else {
from = simpleRange1[i];
to = simpleRange1[i];
}
range1.push({'from': from, 'to': to});
}
assertTrue(areRangesEqual(range1, range2));
};
assertRangesEqual([1, 2, 3, 1, 56],
pageRangeTextToPageRanges("1,2,3,1,56", 100));
assertRangesEqual([[1, 3],[6, 9], [6, 10]],
pageRangeTextToPageRanges("1-3, 6-9,6-10 ", 100));
assertRangesEqual([[10, 100]],
pageRangeTextToPageRanges("10-", 100));
assertRangesEqual([[10, 100000]],
pageRangeTextToPageRanges("10-100000", 100000));
assertRangesEqual([[1, 100]],
pageRangeTextToPageRanges("-", 100));
assertRangesEqual([1, 2],
pageRangeTextToPageRanges("1,2", undefined));
assertRangesEqual([[1, 1000000000]],
pageRangeTextToPageRanges("-", null));
assertRangesEqual([[1, 1000000000]],
pageRangeTextToPageRanges("-", 0));
});
TEST_F('PrintPreviewUtilsUnitTest', 'InvalidPageRanges', function() {
assertEquals(PageRangeStatus.LIMIT_ERROR,
pageRangeTextToPageRanges("10-100000", 100));
assertEquals(PageRangeStatus.LIMIT_ERROR,
pageRangeTextToPageRanges("1,100000", 100));
assertEquals(PageRangeStatus.SYNTAX_ERROR,
pageRangeTextToPageRanges("1,2,0,56", 100));
assertEquals(PageRangeStatus.SYNTAX_ERROR,
pageRangeTextToPageRanges("-1,1,2,,56", 100));
assertEquals(PageRangeStatus.SYNTAX_ERROR,
pageRangeTextToPageRanges("1,2,56-40", 100));
assertEquals(PageRangeStatus.LIMIT_ERROR,
pageRangeTextToPageRanges("101-110", 100));
});
TEST_F('PrintPreviewUtilsUnitTest', 'PageRangeTextToPageList', function() {
assertTrue(areArraysEqual([1],
pageRangeTextToPageList("1", 10)));
assertTrue(areArraysEqual([1,2,3,4],
pageRangeTextToPageList("1-4", 10)));
assertTrue(areArraysEqual([1,2,3,4,2,3,4],
pageRangeTextToPageList("1-4, 2-4", 10)));
assertTrue(areArraysEqual([1,2,5,7,8,9,10,2,2,3],
pageRangeTextToPageList("1-2, 5, 7-10, 2, 2, 3",
10)));
assertTrue(areArraysEqual([5,6,7,8,9,10],
pageRangeTextToPageList("5-", 10)));
assertTrue(areArraysEqual([],
pageRangeTextToPageList("1-4", undefined)));
assertTrue(areArraysEqual([1,2,3,4,5,6,7,8,9,10],
pageRangeTextToPageList("1-abcd", 10)));
});
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([])));
});