| Index: tracing/tracing/value/ui/scalar_span_test.html
|
| diff --git a/tracing/tracing/value/ui/scalar_span_test.html b/tracing/tracing/value/ui/scalar_span_test.html
|
| index c9dcfc41cd8ce7a2d2b56ad332fe2925093254c0..15403163ac9dffeb192825c38cbfc4f81823c618 100644
|
| --- a/tracing/tracing/value/ui/scalar_span_test.html
|
| +++ b/tracing/tracing/value/ui/scalar_span_test.html
|
| @@ -19,15 +19,198 @@ tr.b.unittest.testSuite(function() {
|
| var Unit = tr.v.Unit;
|
| var THIS_DOC = document._currentScript.ownerDocument;
|
|
|
| - function checkScalarSpan(
|
| - test, value, unit, expectedTextContent, opt_expectedColor) {
|
| - var span = tr.v.ui.createScalarSpan(new tr.v.ScalarNumeric(unit, value));
|
| - assert.strictEqual(
|
| - Polymer.dom(span.$.content).textContent, expectedTextContent);
|
| - assert.strictEqual(span.$.content.style.color, opt_expectedColor || '');
|
| + function checkScalarSpan(test, value, unit, expectedContent, opt_options) {
|
| + var options = opt_options || {};
|
| + var span = tr.v.ui.createScalarSpan(new tr.v.ScalarNumeric(unit, value),
|
| + {significance: options.significance});
|
| +
|
| test.addHTMLOutput(span);
|
| + assert.strictEqual(
|
| + Polymer.dom(span.$.content).textContent, expectedContent);
|
| + assert.strictEqual(window.getComputedStyle(span.$.content).color,
|
| + options.expectedColor || 'rgb(0, 0, 0)');
|
| +
|
| + if (options.expectedTitle)
|
| + assert.strictEqual(span.$.content.title, options.expectedTitle);
|
| +
|
| + if (options.significance !== undefined) {
|
| + assert.strictEqual(Polymer.dom(span.$.significance).textContent,
|
| + options.expectedEmoji);
|
| + assert.strictEqual(window.getComputedStyle(span.$.significance).color,
|
| + options.expectedEmojiColor || 'rgb(0, 0, 0)');
|
| + if (options.expectedTitle)
|
| + assert.strictEqual(span.$.significance.title, options.expectedTitle);
|
| + }
|
| }
|
|
|
| + test('instantiate_significance', function() {
|
| + var countD = Unit.byName.count.correspondingDeltaUnit;
|
| + var countSIBD = Unit.byName.count_smallerIsBetter.correspondingDeltaUnit;
|
| + var countBIBD = Unit.byName.count_biggerIsBetter.correspondingDeltaUnit;
|
| +
|
| + var zero = String.fromCharCode(177) + '0';
|
| +
|
| + checkScalarSpan(this, 0, countSIBD, zero, {
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedTitle: 'no change',
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 0, countSIBD, zero, {
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'no change'
|
| + });
|
| +
|
| + assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero,
|
| + {significance: tr.v.Significance.SIGNIFICANT}));
|
| +
|
| + checkScalarSpan(this, 0, countBIBD, zero, {
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedTitle: 'no change',
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 0, countBIBD, zero, {
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'no change'
|
| + });
|
| +
|
| + assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero,
|
| + {significance: tr.v.Significance.SIGNIFICANT}));
|
| +
|
| + checkScalarSpan(this, 1, countSIBD, '+1', {
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + expectedTitle: 'regression',
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countSIBD, '+1', {
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'insignificant regression'
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countSIBD, '+1', {
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + expectedEmoji: tr.v.ui.Emoji.CONFOUNDED_FACE,
|
| + expectedEmojiColor: 'rgb(255, 0, 0)',
|
| + expectedTitle: 'significant regression'
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countBIBD, '+1', {
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + expectedTitle: 'improvement',
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countBIBD, '+1', {
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'insignificant improvement'
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countBIBD, '+1', {
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + expectedEmoji: tr.v.ui.Emoji.GRINNING_FACE,
|
| + expectedEmojiColor: 'rgb(0, 128, 0)',
|
| + expectedTitle: 'significant improvement'
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countSIBD, '-1', {
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + expectedEmoji: '',
|
| + expectedEmojiColor: '',
|
| + expectedTitle: 'improvement'
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countSIBD, '-1', {
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'insignificant improvement'
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countSIBD, '-1', {
|
| + expectedColor: 'rgb(0, 128, 0)',
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.GRINNING_FACE,
|
| + expectedEmojiColor: 'rgb(0, 128, 0)',
|
| + expectedTitle: 'significant improvement'
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countBIBD, '-1', {
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countBIBD, '-1', {
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.NEUTRAL_FACE,
|
| + expectedEmojiColor: 'rgb(0, 0, 0)',
|
| + expectedTitle: 'insignificant regression'
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countBIBD, '-1', {
|
| + expectedColor: 'rgb(255, 0, 0)',
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedEmoji: tr.v.ui.Emoji.CONFOUNDED_FACE,
|
| + expectedEmojiColor: 'rgb(255, 0, 0)',
|
| + expectedTitle: 'significant regression'
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countD, '+1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countD, '+1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, 1, countD, '+1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countD, '-1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.DONT_CARE,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countD, '-1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.INSIGNIFICANT,
|
| + expectedEmoji: ''
|
| + });
|
| +
|
| + checkScalarSpan(this, -1, countD, '-1', {
|
| + expectedColor: 'rgb(0, 0, 0)',
|
| + significance: tr.v.Significance.SIGNIFICANT,
|
| + expectedEmoji: ''
|
| + });
|
| + });
|
| +
|
| test('instantiate', function() {
|
| checkScalarSpan(this, 123.456789, Unit.byName.timeDurationInMs,
|
| '123.457 ms');
|
| @@ -64,27 +247,30 @@ tr.b.unittest.testSuite(function() {
|
|
|
| test('instantiate_delta_smallerIsBetter', function() {
|
| checkScalarSpan(this, 45097156608,
|
| - Unit.byName.sizeInBytesDelta_smallerIsBetter, '+42.0 GiB', 'red');
|
| + Unit.byName.sizeInBytesDelta_smallerIsBetter, '+42.0 GiB',
|
| + {expectedColor: 'rgb(255, 0, 0)'});
|
| checkScalarSpan(this, 0, Unit.byName.energyInJoulesDelta_smallerIsBetter,
|
| '\u00B10.000 J');
|
| checkScalarSpan(this, -0.25,
|
| - Unit.byName.unitlessNumberDelta_smallerIsBetter, '-0.250', 'green');
|
| + Unit.byName.unitlessNumberDelta_smallerIsBetter, '-0.250',
|
| + {expectedColor: 'rgb(0, 128, 0)'});
|
| });
|
|
|
| test('instantiate_delta_biggerIsBetter', function() {
|
| checkScalarSpan(this, 0.07, Unit.byName.powerInWattsDelta_biggerIsBetter,
|
| - '+0.070 W', 'green');
|
| + '+0.070 W', {expectedColor: 'rgb(0, 128, 0)'});
|
| checkScalarSpan(this, 0, Unit.byName.timeStampInMsDelta_biggerIsBetter,
|
| '\u00B10.000 ms');
|
| checkScalarSpan(this, -0.00003,
|
| - Unit.byName.normalizedPercentageDelta_biggerIsBetter, '-0.003%', 'red');
|
| + Unit.byName.normalizedPercentageDelta_biggerIsBetter, '-0.003%',
|
| + {expectedColor: 'rgb(255, 0, 0)'});
|
| });
|
|
|
| test('createScalarSpan', function() {
|
| // No config.
|
| var span = tr.v.ui.createScalarSpan(
|
| new ScalarNumeric(Unit.byName.powerInWatts, 3.14));
|
| - assert.strictEqual(span.$.content.textContent, '3.140 W');
|
| + assert.strictEqual(Polymer.dom(span.$.content).textContent, '3.140 W');
|
| assert.strictEqual(span.ownerDocument, document);
|
| assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN');
|
| assert.strictEqual(span.value, 3.14);
|
| @@ -99,7 +285,7 @@ tr.b.unittest.testSuite(function() {
|
| var span = tr.v.ui.createScalarSpan(
|
| new ScalarNumeric(Unit.byName.energyInJoules, 2.72),
|
| { ownerDocument: THIS_DOC, rightAlign: true });
|
| - assert.strictEqual(span.$.content.textContent, '2.720 J');
|
| + assert.strictEqual(Polymer.dom(span.$.content).textContent, '2.720 J');
|
| assert.strictEqual(span.ownerDocument, THIS_DOC);
|
| assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN');
|
| assert.strictEqual(span.value, 2.72);
|
| @@ -113,7 +299,7 @@ tr.b.unittest.testSuite(function() {
|
| // Unit and sparkline set via config.
|
| var span = tr.v.ui.createScalarSpan(1.62,
|
| { unit: Unit.byName.timeStampInMs, total: 3.24 });
|
| - assert.strictEqual(span.$.content.textContent, '1.620 ms');
|
| + assert.strictEqual(Polymer.dom(span.$.content).textContent, '1.620 ms');
|
| assert.strictEqual(span.ownerDocument, document);
|
| assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN');
|
| assert.strictEqual(span.value, 1.62);
|
| @@ -131,7 +317,8 @@ tr.b.unittest.testSuite(function() {
|
| unitPrefix: tr.v.UnitScale.Binary.KIBI,
|
| minimumFractionDigits: 2
|
| } });
|
| - assert.strictEqual(span.$.content.textContent, '+262,144.00 KiB');
|
| + assert.strictEqual(
|
| + Polymer.dom(span.$.content).textContent, '+262,144.00 KiB');
|
| assert.strictEqual(span.ownerDocument, document);
|
| assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN');
|
| assert.strictEqual(span.value, 256 * 1024 * 1024);
|
| @@ -171,7 +358,7 @@ tr.b.unittest.testSuite(function() {
|
| span.value = new ScalarNumeric(
|
| Unit.byName.unitlessNumberDelta_smallerIsBetter, 42);
|
| span.context = { maximumFractionDigits: 2 };
|
| - assert.strictEqual(span.$.content.textContent, '+42.00');
|
| + assert.strictEqual(Polymer.dom(span.$.content).textContent, '+42.00');
|
| this.addHTMLOutput(span);
|
| });
|
|
|
| @@ -233,5 +420,15 @@ tr.b.unittest.testSuite(function() {
|
| addAndCheckScalarSpan(0.95, 'block', 95);
|
| addAndCheckScalarSpan(1, 'block', 100);
|
| });
|
| +
|
| + test('emptyNumeric', function() {
|
| + assert.strictEqual(tr.v.ui.createScalarSpan(), '');
|
| +
|
| + var numeric = tr.v.NumericBuilder.createLinear(
|
| + tr.v.Unit.byName.timeDurationInMs, tr.b.Range.fromExplicitRange(0, 1000),
|
| + 10).build();
|
| + var value = new tr.v.NumericValue('foo', numeric);
|
| + assert.strictEqual(tr.v.ui.createScalarSpan(value), '');
|
| + });
|
| });
|
| </script>
|
|
|