blob: 4c2328e4cddbc801b90bb7eb643a2579f73d58f8 [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="/core/trace_model/event.html">
<link rel="import" href="/core/trace_model/selectable_item.html">
<link rel="import" href="/core/trace_model/selection_state.html">
<script>
'use strict';
tv.b.unittest.testSuite(function() {
var SelectableItem = tv.c.trace_model.SelectableItem;
var SelectionState = tv.c.trace_model.SelectionState;
var Event = tv.c.trace_model.Event;
function buildEventToTrackMap() {
var eventToTrackMap = {
map: {},
addEvent: function(event, track) {
this.map[event.guid] = track;
}
};
return eventToTrackMap;
};
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 = buildEventToTrackMap();
var track = {};
selectableItem.addToTrackMap(eventToTrackMap, track);
assert.lengthOf(Object.keys(eventToTrackMap.map), 0);
});
test('checkAddToTrackMap_definedModelItem', function() {
var event = new Event();
var selectableItem = new SelectableItem(event);
var eventToTrackMap = buildEventToTrackMap();
var track = {};
selectableItem.addToTrackMap(eventToTrackMap, track);
assert.lengthOf(Object.keys(eventToTrackMap.map), 1);
assert.equal(eventToTrackMap.map[event.guid], track);
});
});
</script>