Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / tracks / cpu_track_test.js
index 1841a99..681c187 100644 (file)
@@ -12,23 +12,73 @@ tvcm.unittest.testSuite('tracing.tracks.cpu_track_test', function() {
   var Cpu = tracing.trace_model.Cpu;
   var CpuTrack = tracing.tracks.CpuTrack;
   var Slice = tracing.trace_model.Slice;
+  var StackFrame = tracing.trace_model.StackFrame;
+  var Sample = tracing.trace_model.Sample;
+  var Thread = tracing.trace_model.Thread;
   var Viewport = tracing.TimelineViewport;
 
   test('basicCpu', function() {
-    var testEl = document.createElement('div');
-
-    var cpu = new Cpu(7);
+    var cpu = new Cpu({}, 7);
     cpu.slices = [
       new Slice('', 'a', 0, 1, {}, 1),
       new Slice('', 'b', 1, 2.1, {}, 4.8)
     ];
     cpu.updateBounds();
 
+    var testEl = document.createElement('div');
+    var viewport = new Viewport(testEl);
+
+    var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
+
+    var track = new CpuTrack(viewport);
+    drawingContainer.appendChild(track);
+
+    track.heading = 'CPU ' + cpu.cpuNumber;
+    track.cpu = cpu;
+    var dt = new tracing.TimelineDisplayTransform();
+    dt.xSetWorldBounds(0, 11.1, track.clientWidth);
+    track.viewport.setDisplayTransformImmediately(dt);
+  });
+
+
+  test('withSamples', function() {
+    var model = new tracing.TraceModel();
+    var thread;
+    var cpu;
+    model.importTraces([], false, false, function() {
+      cpu = model.kernel.getOrCreateCpu(1);
+      thread = model.getOrCreateProcess(1).getOrCreateThread(2);
+
+      var fA = model.addStackFrame(new StackFrame(
+          undefined, 1, 'cat', 'a', 7));
+      var fAB = model.addStackFrame(new StackFrame(
+          fA, 2, 'cat', 'b', 7));
+      var fABC = model.addStackFrame(new StackFrame(
+          fAB, 3, 'cat', 'c', 7));
+      var fAD = model.addStackFrame(new StackFrame(
+          fA, 4, 'cat', 'd', 7));
+
+      model.samples.push(new Sample(undefined, thread, 'instructions_retired',
+                                    10, fABC, 10));
+      model.samples.push(new Sample(undefined, thread, 'instructions_retired',
+                                    20, fAB, 10));
+      model.samples.push(new Sample(undefined, thread, 'instructions_retired',
+                                    30, fAB, 10));
+      model.samples.push(new Sample(undefined, thread, 'instructions_retired',
+                                    40, fAD, 10));
+
+      model.samples.push(new Sample(undefined, thread, 'page_fault',
+                                    25, fAB, 10));
+      model.samples.push(new Sample(undefined, thread, 'page_fault',
+                                    35, fAD, 10));
+    });
+
+    var testEl = document.createElement('div');
     var viewport = new Viewport(testEl);
 
     var drawingContainer = new tracing.tracks.DrawingContainer(viewport);
 
-    var track = CpuTrack(viewport);
+    var track = new CpuTrack(viewport);
     drawingContainer.appendChild(track);
 
     track.heading = 'CPU ' + cpu.cpuNumber;