blob: 48ac6157b2f033fd8a792680101af288a85b7691 [file] [log] [blame]
<!DOCTYPE html>
<!--
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.
-->
<link rel="import" href="/extras/audits/utils.html">
<link rel="import" href="/core/test_utils.html">
<script>
'use strict';
tv.b.unittest.testSuite(function() {
function simpleMerger(events) {
return {
start: events[0].start,
end: events[events.length - 1].end
};
}
test('simple', function() {
var inEvents = [
{start: 0, end: 100},
{start: 100, end: 120},
{start: 200, end: 220}
];
var merged = tv.e.audits.mergeEvents(inEvents, 50, simpleMerger);
assertEquals(2, merged.length);
assertObjectEquals({start: 0, end: 120}, merged[0]);
assertObjectEquals({start: 200, end: 220}, merged[1]);
});
test('overlapping', function() {
var inEvents = [
{start: 0, end: 100},
{start: 80, end: 120},
{start: 200, end: 220}
];
var merged = tv.e.audits.mergeEvents(inEvents, 50, simpleMerger);
assertEquals(2, merged.length);
assertObjectEquals({start: 0, end: 120}, merged[0]);
assertObjectEquals({start: 200, end: 220}, merged[1]);
});
test('middleOneIsSmall', function() {
var inEvents = [
{start: 0, end: 100},
{start: 40, end: 50},
{start: 100, end: 120}
];
var merged = tv.e.audits.mergeEvents(inEvents, 50, simpleMerger);
assertEquals(1, merged.length);
assertObjectEquals({start: 0, end: 120}, merged[0]);
});
test('firstEventIsSplitPoint', function() {
var inEvents = [
{start: 0, end: 100},
{start: 150, end: 200}
];
var merged = tv.e.audits.mergeEvents(inEvents, 25, simpleMerger);
assertEquals(2, merged.length);
assertObjectEquals({start: 0, end: 100}, merged[0]);
assertObjectEquals({start: 150, end: 200}, merged[1]);
});
});
</script>