summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html')
-rw-r--r--chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html195
1 files changed, 195 insertions, 0 deletions
diff --git a/chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html b/chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html
new file mode 100644
index 00000000000..48e5ff778aa
--- /dev/null
+++ b/chromium/third_party/catapult/tracing/tracing/ui/base/bar_chart_test.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<!--
+Copyright (c) 2014 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/base/assert_utils.html">
+<link rel="import" href="/tracing/ui/base/bar_chart.html">
+<link rel="import" href="/tracing/ui/base/deep_utils.html">
+
+<script>
+'use strict';
+
+tr.b.unittest.testSuite(function() {
+ test('instantiation_singleSeries', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, value: 100},
+ {x: 20, value: 110},
+ {x: 30, value: 100},
+ {x: 40, value: 50}
+ ];
+ });
+
+ test('instantiation_singleDatum', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 0, value: 100},
+ ];
+ });
+
+ test('instantiation_stacked', function() {
+ const chart = new tr.ui.b.BarChart();
+ chart.isStacked = true;
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, foo: 10, bar: 5, qux: 7},
+ {x: 20, foo: 11, bar: 6, qux: 3},
+ {x: 30, foo: 10, bar: 4, qux: 8},
+ {x: 40, foo: 5, bar: 1, qux: 2}
+ ];
+ });
+
+ test('undefined', function() {
+ const chart = new tr.ui.b.BarChart();
+ assert.throws(function() {
+ chart.data = undefined;
+ });
+ });
+
+ test('instantiation_twoSeries', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, alpha: 100, beta: 50},
+ {x: 20, alpha: 110, beta: 75},
+ {x: 30, alpha: 100, beta: 125},
+ {x: 40, alpha: 50, beta: 125}
+ ];
+ chart.brushedRange = tr.b.math.Range.fromExplicitRange(20, 40);
+ });
+
+ test('instantiation_twoSparseSeriesWithFirstValueSparse', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, alpha: 20, beta: undefined},
+ {x: 20, alpha: undefined, beta: 10},
+ {x: 30, alpha: 10, beta: undefined},
+ {x: 45, alpha: undefined, beta: 20},
+ {x: 50, alpha: 25, beta: 30}
+ ];
+ });
+
+ test('instantiation_twoSparseSeriesWithFirstValueNotSparse', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, alpha: 20, beta: 40},
+ {x: 20, alpha: undefined, beta: 10},
+ {x: 30, alpha: 10, beta: undefined},
+ {x: 45, alpha: undefined, beta: 20},
+ {x: 50, alpha: 30, beta: undefined}
+ ];
+ });
+
+ test('instantiation_interactiveBrushing', function() {
+ const chart = new tr.ui.b.BarChart();
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 10, value: 50},
+ {x: 20, value: 60},
+ {x: 30, value: 80},
+ {x: 40, value: 20},
+ {x: 50, value: 30},
+ {x: 60, value: 20},
+ {x: 70, value: 15},
+ {x: 80, value: 20}
+ ];
+
+ let mouseDownX = undefined;
+ let curMouseX = undefined;
+
+ function updateBrushedRange() {
+ if (mouseDownX === undefined || (mouseDownX === curMouseX)) {
+ chart.brushedRange = new tr.b.math.Range();
+ return;
+ }
+ const r = new tr.b.math.Range();
+ r.min = Math.min(mouseDownX, curMouseX);
+ r.max = Math.max(mouseDownX, curMouseX);
+ chart.brushedRange = r;
+ }
+
+ chart.addEventListener('item-mousedown', function(e) {
+ mouseDownX = e.x;
+ curMouseX = e.x;
+ updateBrushedRange();
+ });
+ chart.addEventListener('item-mousemove', function(e) {
+ if (e.button === undefined) return;
+ curMouseX = e.x;
+ updateBrushedRange();
+ });
+ chart.addEventListener('item-mouseup', function(e) {
+ curMouseX = e.x;
+ updateBrushedRange();
+ });
+ });
+
+ test('instantiation_overrideDataRange', function() {
+ let chart = new tr.ui.b.BarChart();
+ chart.overrideDataRange = tr.b.math.Range.fromExplicitRange(10, 90);
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 0, value: -20},
+ {x: 1, value: 100},
+ {x: 2, value: -40},
+ {x: 3, value: 100},
+ ];
+
+ chart = new tr.ui.b.BarChart();
+ chart.overrideDataRange = tr.b.math.Range.fromExplicitRange(-10, 100);
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 0, value: 0},
+ {x: 1, value: 50},
+ ];
+ });
+
+ test('instantiation_Waterfall', function() {
+ const chart = new tr.ui.b.BarChart();
+ chart.graphWidth = 300;
+ chart.graphHeight = 200;
+ chart.isStacked = true;
+ chart.isGrouped = true;
+ chart.isWaterfall = true;
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 0, alpha: 40, group: 'group1' },
+ {x: 1, alpha: 30, group: 'group2' },
+ {x: 2},
+ {x: 3, hide: 40, beta: 55, group: 'group1' },
+ {x: 4, hide: 40, beta: 65, group: 'group2' },
+ {x: 5},
+ {x: 6, hide: 95, omega: 10, group: 'group1' },
+ {x: 7, hide: 95, omega: 20, group: 'group2' }
+ ];
+ });
+
+ test('instantiation_showHoverValuesForTransparentData', function() {
+ const chart = new tr.ui.b.BarChart();
+ chart.graphWidth = 300;
+ chart.graphHeight = 200;
+ chart.isStacked = true;
+ chart.isGrouped = true;
+ chart.displayXInHover = true;
+ chart.getDataSeries('alpha').color = 'transparent';
+ this.addHTMLOutput(chart);
+ chart.data = [
+ {x: 0, alpha: 40, beta: 32, omega: 13, group: 'group1' },
+ {x: 1, alpha: 30, beta: 22, omega: 14, group: 'group2' },
+ {x: 2},
+ {x: 3, alpha: 55, beta: 35, omega: 15, group: 'group1' },
+ {x: 4, alpha: 45, beta: 40, omega: 16, group: 'group2' },
+ {x: 5},
+ {x: 6, alpha: 50, beta: 10, omega: 17, group: 'group1' },
+ {x: 7, alpha: 60, beta: 15, omega: 18, group: 'group2' }
+ ];
+ });
+});
+</script>