<!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="/core/analysis/analysis_view.html">
<link rel="import" href="/core/test_utils.html">
<link rel="import" href="/core/selection.html">
<link rel="import" href="/model/model.html">

<script>
'use strict';

tr.b.unittest.testSuite(function() {
  var Model = tr.Model;
  var Thread = tr.model.Thread;
  var Selection = tr.c.Selection;

  test('analyzeSelectionWithSingleEvent', function() {
    var model = new Model();
    var p52 = model.getOrCreateProcess(52);
    var t53 = p52.getOrCreateThread(53);

    var ie = new tr.model.ProcessInstantEvent('cat', 'title', 7, 10, {});
    ie.duration = 20;
    p52.instantEvents.push(ie);


    var selection = new Selection();
    selection.push(ie);
    assert.equal(selection.length, 1);

    var subView = document.createElement(
        'tr-c-a-single-instant-event-sub-view');
    subView.selection = selection;

    this.addHTMLOutput(subView);
  });
});
</script>
