| <!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="/tracing/core/test_utils.html"> |
| |
| <script> |
| 'use strict'; |
| |
| tr.b.unittest.testSuite(function() { |
| var AsyncSlice = tr.model.AsyncSlice; |
| var Process = tr.model.Process; |
| var Thread = tr.model.Thread; |
| var newAsyncSlice = tr.c.TestUtils.newAsyncSlice; |
| var newAsyncSliceEx = tr.c.TestUtils.newAsyncSliceEx; |
| var newFakeThread = tr.c.TestUtils.newFakeThread; |
| |
| test('stableId', function() { |
| var thread = newFakeThread(); |
| var group = thread.asyncSliceGroup; |
| |
| var sA = group.push(newAsyncSliceEx( |
| { title: 'sA', start: 0.0, duration: 10.0 })); |
| var sB = group.push(newAsyncSliceEx( |
| { title: 'sB', start: 10.0, duration: 20.0 })); |
| var sC = group.push(newAsyncSliceEx( |
| { title: 'sC', start: 20.0, duration: 30.0 })); |
| |
| assert.equal(group.stableId + '.0', sA.stableId); |
| assert.equal(group.stableId + '.1', sB.stableId); |
| assert.equal(group.stableId + '.2', sC.stableId); |
| }); |
| |
| test('setParentContainerForSubSlices', function() { |
| var model = new tr.Model(); |
| var p1 = new Process(model, 1); |
| var t1 = new Thread(p1, 1); |
| var asyncSlice = newAsyncSlice(0, 10, t1, t1); |
| var subSlice1 = newAsyncSlice(1, 5, t1, t1); |
| var subSlice2 = newAsyncSlice(6, 9, t1, t1); |
| var subSlice3 = newAsyncSlice(2, 3, t1, t1); |
| subSlice1.subSlices.push(subSlice3); |
| asyncSlice.subSlices.push(subSlice1); |
| asyncSlice.subSlices.push(subSlice2); |
| asyncSlice.parentContainer = t1; |
| assert.equal(asyncSlice.subSlices.length, 2); |
| assert.equal(subSlice1.subSlices.length, 1); |
| assert.deepEqual(asyncSlice.parentContainer, t1); |
| assert.deepEqual(subSlice1.parentContainer, t1); |
| assert.deepEqual(subSlice2.parentContainer, t1); |
| assert.deepEqual(subSlice3.parentContainer, t1); |
| }); |
| }); |
| </script> |