Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2149)

Unified Diff: tracing/tracing/extras/tquery/tquery_test.html

Issue 1398213005: tquery: Remove hard dependency on UI (Closed) Base URL: https://github.com/catapult-project/catapult@master
Patch Set: Review comments. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tracing/tracing/extras/tquery/tquery_test.html
diff --git a/tracing/tracing/extras/tquery/tquery_test.html b/tracing/tracing/extras/tquery/tquery_test.html
index 4c38ac93dcbc7fe290ddf47b75012141f5f31155..f822a6c5c8e3381a70a8be1be233b6f6d0741c80 100644
--- a/tracing/tracing/extras/tquery/tquery_test.html
+++ b/tracing/tracing/extras/tquery/tquery_test.html
@@ -5,76 +5,28 @@ 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/base/event_target.html">
-<link rel="import" href="/tracing/base/task.html">
<link rel="import" href="/tracing/core/scripting_controller.html">
+<link rel="import" href="/tracing/core/test_utils.html">
<link rel="import" href="/tracing/extras/tquery/tquery.html">
-<link rel="import" href="/tracing/model/event_set.html">
+<link rel="import" href="/tracing/model/model.html">
<script>
'use strict';
-tr.exportTo('tr.e.tquery', function() {
- function FakeBrushingStateController() {
- tr.b.EventTarget.call(this);
- this.allEvents_ = [];
- }
-
- FakeBrushingStateController.prototype = {
- __proto__: tr.b.EventTarget.prototype,
-
- get allEvents() {
- return this.allEvents_;
- },
-
- set allEvents(allEvents) {
- this.allEvents_ = allEvents;
- var e = new tr.b.Event('model-changed');
- this.dispatchEvent(e);
- },
-
- addAllEventsMatchingFilterToSelectionAsTask: function(filter, selection) {
- return new tr.b.Task(function() {
- var n = this.allEvents.length;
- for (var i = 0; i < n; i++) {
- this.addSubtreeToSelection_(selection, this.allEvents[i]);
- }
- }, this);
- },
-
- addSubtreeToSelection_: function(selection, event) {
- selection.push(event);
- if (event.subSlices) {
- for (var i = 0; i < event.subSlices.length; i++) {
- this.addSubtreeToSelection_(selection, event.subSlices[i]);
- }
- }
- },
- showScriptControlSelection: function(selection) {
- this.selection = new tr.model.EventSet();
- this.highlight = selection;
- }
- };
- return {
- FakeBrushingStateController: FakeBrushingStateController
- };
-});
-
tr.b.unittest.testSuite(function() {
- var FakeBrushingStateController = tr.e.tquery.FakeBrushingStateController;
-
- function createSliceArray(sliceCount) {
- var allEvents = [];
- for (var i = 0; i < sliceCount; i++) {
- allEvents.push({guid: i});
- }
- return allEvents;
+ function createTestModel(sliceCount) {
+ var slices = [];
+ for (var i = 0; i < sliceCount; i++)
+ slices.push(tr.c.TestUtils.newSlice(1, 2));
+ return createTestModelWithSlices(slices);
}
- function createFakeBrushingStateController_(sliceCount) {
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = createSliceArray(sliceCount);
- return brushingStateController;
+ function createTestModelWithSlices(slices) {
+ var model = new tr.Model();
+ var cpu = model.kernel.getOrCreateCpu(1);
+ for (var i = 0; i < slices.length; i++)
+ cpu.slices.push(slices[i]);
+ return model;
}
function getScriptObject(name) {
@@ -87,44 +39,42 @@ tr.b.unittest.testSuite(function() {
}
test('tqueryAsyncSelection', function() {
- var brushingStateController = createFakeBrushingStateController_(3);
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ var model = createTestModel(3);
+ var tquery = new tr.e.tquery.TQuery(model);
- var result = tquery.show();
- tr.b.Task.RunSynchronously(result);
- assert.equal(brushingStateController.highlight.length, 3);
+ return tquery.ready().then(function(selection) {
+ assert.equal(selection.length, 3);
+ });
});
test('tquerySyncSelection', function() {
- var brushingStateController = createFakeBrushingStateController_(3);
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ var model = createTestModel(3);
+ var tquery = new tr.e.tquery.TQuery(model);
assert.equal(tquery.selection.length, 3);
// Selection should get reset when the model changes.
- brushingStateController.allEvents = createSliceArray(5);
- tquery.onModelChanged();
+ var model = createTestModel(5);
+ tquery.onModelChanged(model);
assert.equal(tquery.selection.length, 5);
});
test('tqueryPassThroughFiltering', function() {
- var brushingStateController = new createFakeBrushingStateController_(3);
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ var model = new createTestModel(3);
+ var tquery = new tr.e.tquery.TQuery(model);
- var result = tquery.filter().filter().show();
- tr.b.Task.RunSynchronously(result);
- assert.equal(brushingStateController.highlight.length, 3);
+ var result = tquery.filter().filter().selection;
+ assert.equal(result.length, 3);
});
test('tqueryFilterHasTitle', function() {
var hasTitle = getScriptObject('hasTitle');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a'},
{guid: 2, title: 'b'},
{guid: 3, title: 'c'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(hasTitle('a')).selection;
assert.equal(result.length, 1);
@@ -141,13 +91,12 @@ tr.b.unittest.testSuite(function() {
test('tqueryFilterHasAncestor', function() {
var hasAncestor = getScriptObject('hasAncestor');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a'},
{guid: 2, title: 'b', subSlices: [{guid: 4}]},
{guid: 3, title: 'c'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(hasAncestor('b')).selection;
assert.equal(result.length, 1);
@@ -163,13 +112,12 @@ tr.b.unittest.testSuite(function() {
test('tqueryFilterAllOf', function() {
var allOf = getScriptObject('allOf');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a1'},
{guid: 2, title: 'b1'},
{guid: 3, title: 'c1'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(allOf('a1')).selection;
assert.equal(result.length, 1);
@@ -185,13 +133,12 @@ tr.b.unittest.testSuite(function() {
test('tqueryFilterAnyOf', function() {
var anyOf = getScriptObject('anyOf');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a'},
{guid: 2, title: 'b'},
{guid: 3, title: 'c'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(anyOf('a', 'b')).selection;
assert.equal(result.length, 2);
@@ -208,13 +155,12 @@ tr.b.unittest.testSuite(function() {
test('tqueryFilterIsTopLevel', function() {
var isTopLevel = getScriptObject('isTopLevel');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a'},
{guid: 2, title: 'b', subSlices: [{guid: 4}]},
{guid: 3, title: 'c'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(isTopLevel()).selection;
assert.equal(result.length, 3);
@@ -229,14 +175,13 @@ tr.b.unittest.testSuite(function() {
test('tqueryFilterHasDuration', function() {
var hasDuration = getScriptObject('hasDuration');
- var brushingStateController = new FakeBrushingStateController();
- brushingStateController.allEvents = [
+ var model = createTestModelWithSlices([
{guid: 1, title: 'a', duration: 1},
{guid: 2, title: 'b', duration: 2},
{guid: 3, title: 'c', duration: 3},
{guid: 4, title: 'no duration'}
- ];
- var tquery = new tr.e.tquery.TQuery(brushingStateController);
+ ]);
+ var tquery = new tr.e.tquery.TQuery(model);
var result = tquery.filter(hasDuration(1.5, 2.5)).selection;
assert.equal(result.length, 1);

Powered by Google App Engine
This is Rietveld 408576698