blob: 917081c7fb70a1f9854ab68162959288b1a8d618 [file] [log] [blame]
<!DOCTYPE html>
<!--
Copyright 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="/tracing/extras/importer/trace_code_entry.html">
<script>
'use strict';
tr.b.unittest.testSuite(function() {
test('lazy_compile_method', function() {
var tce = new tr.e.importer.TraceCodeEntry(
'0x123', 10, 'Handler:timeStamp', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'timeStamp');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, -1);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('non_lazy_compile_method', function() {
var tce = new tr.e.importer.TraceCodeEntry(
'0x123', 10, 'Handler:timeStamp', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'timeStamp');
assert.equal(tce.sourceInfo.state, 'compiled');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, -1);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('native_matching', function() {
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10,
'LazyCompile:~IsAccessorDescriptor native v8natives.js:183', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'IsAccessorDescriptor');
assert.equal(tce.sourceInfo.isNative, true);
assert.equal(tce.sourceInfo.state, 'optimizable');
assert.equal(tce.sourceInfo.file, 'v8natives.js');
assert.equal(tce.sourceInfo.line, 182);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('strips_*_from_name', function() {
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10,
'LazyCompile:*IsAccessorDescriptor native v8natives.js:183', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'IsAccessorDescriptor');
assert.equal(tce.sourceInfo.isNative, true);
assert.equal(tce.sourceInfo.state, 'optimized');
assert.equal(tce.sourceInfo.file, 'v8natives.js');
assert.equal(tce.sourceInfo.line, 182);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('non_native_matching', function() {
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10,
'LazyCompile:~IsAccessorDescriptor v8natives.js:183', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'IsAccessorDescriptor');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, 'v8natives.js');
assert.equal(tce.sourceInfo.line, 182);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('lazy_compile_without_script', function() {
var tce = new tr.e.importer.TraceCodeEntry(
'0x123', 10, 'LazyCompile:~Object', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'Object');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, -1);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('line_matching_without_script', function() {
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10,
'LazyCompile:~Object :220', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, 'Object');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, 219);
assert.equal(tce.sourceInfo.scriptId, 12);
});
test('unknown_method_name', function() {
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10, 'LazyCompile:', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, '');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, -1);
assert.equal(tce.sourceInfo.scriptId, 12);
var tce = new tr.e.importer.TraceCodeEntry(
'0x123', 10, 'LazyCompile:~ :37', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, '');
assert.equal(tce.sourceInfo.isNative, false);
assert.equal(tce.sourceInfo.file, '');
assert.equal(tce.sourceInfo.line, 36);
assert.equal(tce.sourceInfo.scriptId, 12);
var tce = new tr.e.importer.TraceCodeEntry('0x123', 10,
'LazyCompile:~ native liveedit.js:37:10', 12);
assert.equal(tce.size, 10);
assert.equal(tce.name, '');
assert.equal(tce.sourceInfo.isNative, true);
assert.equal(tce.sourceInfo.file, 'liveedit.js');
assert.equal(tce.sourceInfo.line, 36);
assert.equal(tce.sourceInfo.column, 9);
assert.equal(tce.sourceInfo.scriptId, 12);
});
});
</script>