| <!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="/base/deep_utils.html"> |
| <link rel="import" href="/core/analysis/single_sample_sub_view.html"> |
| <link rel="import" href="/core/selection.html"> |
| <link rel="import" href="/core/test_utils.html"> |
| <link rel="import" href="/core/trace_model/trace_model.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tv.b.unittest.testSuite(function() { |
| var Model = tv.c.TraceModel; |
| var Selection = tv.c.Selection; |
| var StubAnalysisResults = tv.c.analysis.StubAnalysisResults; |
| var newSampleNamed = tv.c.test_utils.newSampleNamed; |
| |
| test('instantiate_withSingleSample', function() { |
| var model = new Model(); |
| var t53; |
| model.importTraces([], false, false, function() { |
| t53 = model.getOrCreateProcess(52).getOrCreateThread(53); |
| model.samples.push(newSampleNamed(t53, 'X', 'my-category', |
| ['a', 'b', 'c'], 0.184)); |
| }); |
| |
| var t53track = {}; |
| t53track.thread = t53; |
| |
| var selection = new Selection(); |
| |
| assert.equal(selection.length, 0); |
| selection.push(t53.samples[0]); |
| assert.equal(selection.length, 1); |
| |
| var view = document.createElement('tv-c-single-sample-sub-view'); |
| view.selection = selection; |
| this.addHTMLOutput(view); |
| |
| var table = tv.b.findDeepElementMatching( |
| view, 'tracing-analysis-nested-table'); |
| |
| var rows = table.tableRows; |
| assert.equal(rows.length, 3); |
| |
| assert.equal(rows[0].value, 'X'); |
| assert.equal(rows[1].value.timestamp, 0.184); |
| assert.equal(rows[2].value.stackFrame, t53.samples[0].leafStackFrame); |
| }); |
| }); |
| </script> |