Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / trace_model / process_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/test_utils.html">
9 <link rel="import" href="/tracing/trace_model.html">
10 <link rel="import" href="/tracing/trace_model/process.html">
11
12 <script>
13 'use strict';
14
15 tv.unittest.testSuite(function() {
16   test('getOrCreateCounter', function() {
17     var model = new tracing.TraceModel();
18     var process = new tracing.trace_model.Process(model, 7);
19     var ctrBar = process.getOrCreateCounter('foo', 'bar');
20     var ctrBar2 = process.getOrCreateCounter('foo', 'bar');
21     assertEquals(ctrBar2, ctrBar);
22   });
23
24   test('shiftTimestampsForward', function() {
25     var model = new tracing.TraceModel();
26     var process = new tracing.trace_model.Process(model, 7);
27     var ctr = process.getOrCreateCounter('foo', 'bar');
28     var thread = process.getOrCreateThread(1);
29
30     var shiftCount = 0;
31     thread.shiftTimestampsForward = function(ts) {
32       if (ts == 0.32)
33         shiftCount++;
34     };
35     ctr.shiftTimestampsForward = function(ts) {
36       if (ts == 0.32)
37         shiftCount++;
38     };
39     process.shiftTimestampsForward(0.32);
40     assertEquals(2, shiftCount);
41   });
42
43   test('compareOnPID', function() {
44     var model = new tracing.TraceModel();
45     var p1 = new tracing.trace_model.Process(model, 1);
46     p1.name = 'Renderer';
47
48     var model = new tracing.TraceModel();
49     var p2 = new tracing.trace_model.Process(model, 2);
50     p2.name = 'Renderer';
51
52     assertTrue(p1.compareTo(p2) < 0);
53   });
54
55   test('compareOnSortIndex', function() {
56     var model = new tracing.TraceModel();
57     var p1 = new tracing.trace_model.Process(model, 1);
58     p1.name = 'Renderer';
59     p1.sortIndex = 1;
60
61     var p2 = new tracing.trace_model.Process(model, 2);
62     p2.name = 'Renderer';
63
64     assertTrue(p1.compareTo(p2) > 0);
65   });
66
67   test('compareOnName', function() {
68     var model = new tracing.TraceModel();
69     var p1 = new tracing.trace_model.Process(model, 1);
70     p1.name = 'Browser';
71
72     var p2 = new tracing.trace_model.Process(model, 2);
73     p2.name = 'Renderer';
74
75     assertTrue(p1.compareTo(p2) < 0);
76   });
77
78   test('compareOnLabels', function() {
79     var model = new tracing.TraceModel();
80     var p1 = new tracing.trace_model.Process(model, 1);
81     p1.name = 'Renderer';
82     p1.labels = ['a'];
83
84     var p2 = new tracing.trace_model.Process(model, 2);
85     p2.name = 'Renderer';
86     p2.labels = ['b'];
87
88     assertTrue(p1.compareTo(p2) < 0);
89   });
90 });
91 </script>
92