blob: a0a7774256250d89aea2c64d5b475ed26db72c05 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright (c) 2015 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.
-->
<link rel="import" href="/base/units/time.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
test('Time.ms.format', function() {
function local(v) {
return v.toLocaleString(undefined, { minimumFractionDigits: 3}) + ' ms';
}
var unit = tr.b.units.Time.supportedUnits.ms;
assert.equal(unit.format(1), local(1));
assert.equal(unit.format(1.001), local(1.001));
assert.equal(unit.format(1.0005), local(1.001));
assert.equal(unit.format(1.0004), local(1));
assert.equal(unit.format(0.999), local(0.999));
assert.equal(unit.format(0.9995), local(1));
});
test('Time.ns.format', function() {
function local(v) {
return v.toLocaleString(undefined, { maximumFractionDigits: 0}) + ' ns';
}
var unit = tr.b.units.Time.supportedUnits.ns;
assert.equal(unit.format(1), local(1000000));
assert.equal(unit.format(0.001), local(1000));
assert.equal(unit.format(0.000001), local(1));
assert.equal(unit.format(0.0000005), local(1));
assert.equal(unit.format(0.0000004), local(0));
assert.equal(unit.format(0.0000015), local(2));
});
test('Time.display-unit-changed', function() {
var Time = tr.b.units.Time;
var listenerWasCalled = false;
function listener(e) {
listenerWasCalled = true;
}
try {
Time.currentDisplayUnit = Time.supportedUnits.ms;
Time.addEventListener('display-unit-changed', listener);
listenerWasCalled = false;
Time.currentDisplayUnit = Time.supportedUnits.ns;
assert.isTrue(listenerWasCalled);
assert.equal(Time.currentDisplayUnit, Time.supportedUnits.ns);
} finally {
Time.removeEventListener('display-unit-changed', listener);
Time.reset();
}
});
});
</script>