| <!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> |
| |