Javascript  |  59行  |  1.3 KB

// Copyright (c) 2013 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.

'use strict';

base.require('base.range');

base.unittest.testSuite('base.range', function() {
  test('addValue', function() {
    var range = new base.Range();
    assertTrue(range.isEmpty);
    range.addValue(1);
    assertFalse(range.isEmpty);
    assertEquals(range.min, 1);
    assertEquals(range.max, 1);

    range.addValue(2);
    assertFalse(range.isEmpty);
    assertEquals(range.min, 1);
    assertEquals(range.max, 2);
  });

  test('addNonEmptyRange', function() {
    var r1 = new base.Range();
    r1.addValue(1);
    r1.addValue(2);

    var r = new base.Range();
    r.addRange(r1);
    assertEquals(r.min, 1);
    assertEquals(r.max, 2);
  });

  test('addEmptyRange', function() {
    var r1 = new base.Range();

    var r = new base.Range();
    r.addRange(r1);
    assertTrue(r.isEmpty);
    assertEquals(r.min, undefined);
    assertEquals(r.max, undefined);
  });

  test('addRangeToRange', function() {
    var r1 = new base.Range();
    r1.addValue(1);
    r1.addValue(2);

    var r = new base.Range();
    r.addValue(3);
    r.addRange(r1);

    assertFalse(r.isEmpty);
    assertEquals(r.min, 1);
    assertEquals(r.max, 3);
  });
});