blob: 3e36b3db9a40de08ec2dbd444dbe9a73aa265058 [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="/core/test_utils.html">
<link rel="import" href="/model/event.html">
<link rel="import" href="/model/selectable_item.html">
<link rel="import" href="/model/selection_state.html">
<link rel="import" href="/ui/tracks/event_to_track_map.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
var Event = tr.model.Event;
var EventToTrackMap = tr.ui.tracks.EventToTrackMap;
var SelectableItem = tr.model.SelectableItem;
var SelectionState = tr.model.SelectionState;
test('checkModelItem', function() {
var selectableItem1 = new SelectableItem(undefined);
assert.isUndefined(selectableItem1.modelItem);
var event = new Event();
var selectableItem2 = new SelectableItem(event);
assert.equal(selectableItem2.modelItem, event);
});
test('checkSelected', function() {
var selectableItem = new SelectableItem(undefined);
selectableItem.selectionState = SelectionState.NONE;
assert.isFalse(selectableItem.selected);
selectableItem.selectionState = SelectionState.SELECTED;
assert.isTrue(selectableItem.selected);
selectableItem.selectionState = SelectionState.HIGHLIGHTED;
assert.isFalse(selectableItem.selected);
});
test('checkAddToSelection_undefinedModelItem', function() {
var selectableItem = new SelectableItem(undefined);
var selection = [];
selectableItem.addToSelection(selection);
assert.lengthOf(selection, 0);
});
test('checkAddToSelection_definedModelItem', function() {
var event = new Event();
var selectableItem = new SelectableItem(event);
var selection = [];
selectableItem.addToSelection(selection);
assert.lengthOf(selection, 1);
assert.equal(selection[0], event);
});
test('checkAddToTrackMap_undefinedModelItem', function() {
var selectableItem = new SelectableItem(undefined);
var eventToTrackMap = new EventToTrackMap();
var track = {};
selectableItem.addToTrackMap(eventToTrackMap, track);
assert.lengthOf(Object.keys(eventToTrackMap), 0);
});
test('checkAddToTrackMap_definedModelItem', function() {
var event = new Event();
var selectableItem = new SelectableItem(event);
var eventToTrackMap = new EventToTrackMap();
var track = {};
selectableItem.addToTrackMap(eventToTrackMap, track);
assert.lengthOf(Object.keys(eventToTrackMap), 1);
assert.equal(eventToTrackMap[event.guid], track);
});
});
</script>