1 // Copyright (c) 2013 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 tvcm.require('tvcm.iteration_helpers');
9 tvcm.unittest.testSuite('tvcm.iteration_helpers_test', function() {
10 var comparePossiblyUndefinedValues = tvcm.comparePossiblyUndefinedValues;
11 var compareArrays = tvcm.compareArrays;
13 test('comparePossiblyUndefinedValues', function() {
15 assertNotUndefined(x);
16 assertNotUndefined(y);
20 assertTrue(comparePossiblyUndefinedValues(0, 1, cmp) < 0);
21 assertTrue(comparePossiblyUndefinedValues(1, 0, cmp) > 0);
22 assertTrue(comparePossiblyUndefinedValues(1, 1, cmp) == 0);
24 assertTrue(comparePossiblyUndefinedValues(0, undefined, cmp) < 0);
25 assertTrue(comparePossiblyUndefinedValues(undefined, 0, cmp) > 0);
26 assertTrue(comparePossiblyUndefinedValues(undefined, undefined, cmp) == 0);
29 test('compareArrays', function() {
31 assertNotUndefined(x);
32 assertNotUndefined(y);
36 assertTrue(compareArrays([1], [2], cmp) < 0);
37 assertTrue(compareArrays([2], [1], cmp) > 0);
39 assertTrue(compareArrays([1], [1, 2], cmp) < 0);
40 assertTrue(compareArrays([1, 2], [1], cmp) > 0);
42 assertTrue(compareArrays([], [1], cmp) < 0);
43 assertTrue(compareArrays([1], [], cmp) > 0);
45 assertTrue(compareArrays([2], [1], cmp) > 0);
47 assertTrue(compareArrays([], [], cmp) == 0);
48 assertTrue(compareArrays([1], [1], cmp) == 0);