blob: 7b3f14386c15ce2a3a63f1421c00b1e71d2136b5 [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="/base/deep_utils.html">
<link rel="import" href="/core/analysis/memory_dump_details_pane.html">
<link rel="import" href="/core/test_utils.html">
<link rel="import" href="/core/trace_model/attribute.html">
<link rel="import" href="/core/trace_model/process_memory_dump.html">
<script>
'use strict';
tv.b.unittest.testSuite(function() {
var Selection = tv.c.Selection;
var MemoryAllocatorDump = tv.c.trace_model.MemoryAllocatorDump;
var ScalarAttribute = tv.c.trace_model.ScalarAttribute;
function createMemoryAllocatorDump() {
var dump = new MemoryAllocatorDump('v8');
dump.addAttribute('outer_size',
new ScalarAttribute('bytes', 1073741824) /* 1 GiB */);
dump.addAttribute('inner_size',
new ScalarAttribute('bytes', 2097152) /* 2 MiB */);
dump.addAttribute('objects_count', new ScalarAttribute('objects', 204));
return dump;
}
test('instantiate_empty', function() {
var viewEl = document.createElement('tv-c-memory-dump-details-pane');
this.addHTMLOutput(viewEl);
});
test('instantiate_nonEmpty', function() {
var memoryAllocatorDump = createMemoryAllocatorDump();
var viewEl = document.createElement('tv-c-memory-dump-details-pane');
viewEl.memoryDump = memoryAllocatorDump;
this.addHTMLOutput(viewEl);
var table = tv.b.findDeepElementMatching(
viewEl, 'tracing-analysis-nested-table');
var rows = table.tableRows;
var columns = table.tableColumns;
assert.lengthOf(rows, 1);
assert.lengthOf(columns, 4);
var titleColumn = columns[0];
var outerSizeColumn = columns[1];
var innerSizeColumn = columns[2];
var objectsCountColumn = columns[3];
// Check the rows of the table.
assert.equal(titleColumn.value(rows[0]), 'v8');
assert.equal(innerSizeColumn.value(rows[0]).numBytes, 2097152);
assert.equal(objectsCountColumn.value(rows[0]), 204);
assert.equal(outerSizeColumn.value(rows[0]).numBytes, 1073741824);
});
});
</script>