<!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/test_utils.html">
<link rel="import" href="/model/event_set.html">
<link rel="import" href="/model/model.html">
<link rel="import" href="/ui/analysis/single_object_instance_sub_view.html">

<script>
'use strict';

tr.b.unittest.testSuite(function() {
  var ObjectInstance = tr.model.ObjectInstance;

  test('analyzeSelectionWithObjectInstanceUnknownType', function() {
    var i10 = new ObjectInstance({}, '0x1000', 'cat', 'someUnhandledName', 10);
    var s10 = i10.addSnapshot(10, {foo: 1});
    var s20 = i10.addSnapshot(20, {foo: 2});

    var selection = new tr.model.EventSet();
    selection.push(i10);

    var view =
        document.createElement('tr-ui-a-single-object-instance-sub-view');
    view.selection = selection;
    this.addHTMLOutput(view);
  });

});
</script>
