// 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", 100)); 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() { assertTrue(pageRangeTextToPageRanges("1,100000", 100) == null); assertTrue(pageRangeTextToPageRanges("1,2,0,56", 100) == null); assertTrue(pageRangeTextToPageRanges("-1,1,2,,56", 100) == null); assertTrue(pageRangeTextToPageRanges("1,2,56-40", 100) == null); assertTrue(pageRangeTextToPageRanges("101-110", 100) == null); }); 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([]))); });