| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- | 2 <!-- |
| 3 Copyright 2015 The Chromium Authors. All rights reserved. | 3 Copyright 2015 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 | 7 |
| 8 <link rel="import" href="/tracing/base/math/range.html"> |
| 8 <link rel="import" href="/tracing/base/raf.html"> | 9 <link rel="import" href="/tracing/base/raf.html"> |
| 9 <link rel="import" href="/tracing/base/range.html"> | |
| 10 <link rel="import" href="/tracing/base/time_display_modes.html"> | 10 <link rel="import" href="/tracing/base/time_display_modes.html"> |
| 11 <link rel="import" href="/tracing/base/unit.html"> | 11 <link rel="import" href="/tracing/base/unit.html"> |
| 12 <link rel="import" href="/tracing/base/unit_scale.html"> | 12 <link rel="import" href="/tracing/base/unit_scale.html"> |
| 13 <link rel="import" href="/tracing/value/histogram.html"> | 13 <link rel="import" href="/tracing/value/histogram.html"> |
| 14 <link rel="import" href="/tracing/value/ui/scalar_context_controller.html"> | 14 <link rel="import" href="/tracing/value/ui/scalar_context_controller.html"> |
| 15 <link rel="import" href="/tracing/value/ui/scalar_span.html"> | 15 <link rel="import" href="/tracing/value/ui/scalar_span.html"> |
| 16 | 16 |
| 17 <script> | 17 <script> |
| 18 'use strict'; | 18 'use strict'; |
| 19 | 19 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 } | 61 } |
| 62 | 62 |
| 63 test('instantiate_significance', function() { | 63 test('instantiate_significance', function() { |
| 64 let countD = Unit.byName.count.correspondingDeltaUnit; | 64 let countD = Unit.byName.count.correspondingDeltaUnit; |
| 65 let countSIBD = Unit.byName.count_smallerIsBetter.correspondingDeltaUnit; | 65 let countSIBD = Unit.byName.count_smallerIsBetter.correspondingDeltaUnit; |
| 66 let countBIBD = Unit.byName.count_biggerIsBetter.correspondingDeltaUnit; | 66 let countBIBD = Unit.byName.count_biggerIsBetter.correspondingDeltaUnit; |
| 67 | 67 |
| 68 let zero = String.fromCharCode(177) + '0'; | 68 let zero = String.fromCharCode(177) + '0'; |
| 69 | 69 |
| 70 checkScalarSpan(this, 0, countSIBD, zero, { | 70 checkScalarSpan(this, 0, countSIBD, zero, { |
| 71 significance: tr.b.Statistics.Significance.DONT_CARE, | 71 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 72 expectedTitle: 'no change', | 72 expectedTitle: 'no change', |
| 73 expectedEmoji: '' | 73 expectedEmoji: '' |
| 74 }); | 74 }); |
| 75 | 75 |
| 76 checkScalarSpan(this, 0, countSIBD, zero, { | 76 checkScalarSpan(this, 0, countSIBD, zero, { |
| 77 expectedEmoji: 'insignificant', | 77 expectedEmoji: 'insignificant', |
| 78 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 78 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 79 expectedEmojiColor: 'rgb(0, 0, 0)', | 79 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 80 expectedTitle: 'no change' | 80 expectedTitle: 'no change' |
| 81 }); | 81 }); |
| 82 | 82 |
| 83 assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero, | 83 assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero, |
| 84 {significance: tr.b.Statistics.Significance.SIGNIFICANT})); | 84 {significance: tr.b.math.Statistics.Significance.SIGNIFICANT})); |
| 85 | 85 |
| 86 checkScalarSpan(this, 0, countBIBD, zero, { | 86 checkScalarSpan(this, 0, countBIBD, zero, { |
| 87 significance: tr.b.Statistics.Significance.DONT_CARE, | 87 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 88 expectedTitle: 'no change', | 88 expectedTitle: 'no change', |
| 89 expectedEmoji: '' | 89 expectedEmoji: '' |
| 90 }); | 90 }); |
| 91 | 91 |
| 92 checkScalarSpan(this, 0, countBIBD, zero, { | 92 checkScalarSpan(this, 0, countBIBD, zero, { |
| 93 expectedEmoji: 'insignificant', | 93 expectedEmoji: 'insignificant', |
| 94 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 94 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 95 expectedEmojiColor: 'rgb(0, 0, 0)', | 95 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 96 expectedTitle: 'no change' | 96 expectedTitle: 'no change' |
| 97 }); | 97 }); |
| 98 | 98 |
| 99 assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero, | 99 assert.throws(() => checkScalarSpan(this, 0, countSIBD, zero, |
| 100 {significance: tr.b.Statistics.Significance.SIGNIFICANT})); | 100 {significance: tr.b.math.Statistics.Significance.SIGNIFICANT})); |
| 101 | 101 |
| 102 checkScalarSpan(this, 1, countSIBD, '+1', { | 102 checkScalarSpan(this, 1, countSIBD, '+1', { |
| 103 significance: tr.b.Statistics.Significance.DONT_CARE, | 103 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 104 expectedColor: 'rgb(255, 0, 0)', | 104 expectedColor: 'rgb(255, 0, 0)', |
| 105 expectedTitle: 'regression', | 105 expectedTitle: 'regression', |
| 106 expectedEmoji: '' | 106 expectedEmoji: '' |
| 107 }); | 107 }); |
| 108 | 108 |
| 109 checkScalarSpan(this, 1, countSIBD, '+1', { | 109 checkScalarSpan(this, 1, countSIBD, '+1', { |
| 110 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 110 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 111 expectedColor: 'rgb(255, 0, 0)', | 111 expectedColor: 'rgb(255, 0, 0)', |
| 112 expectedEmoji: 'insignificant', | 112 expectedEmoji: 'insignificant', |
| 113 expectedEmojiColor: 'rgb(0, 0, 0)', | 113 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 114 expectedTitle: 'insignificant regression' | 114 expectedTitle: 'insignificant regression' |
| 115 }); | 115 }); |
| 116 | 116 |
| 117 checkScalarSpan(this, 1, countSIBD, '+1', { | 117 checkScalarSpan(this, 1, countSIBD, '+1', { |
| 118 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 118 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 119 expectedColor: 'rgb(255, 0, 0)', | 119 expectedColor: 'rgb(255, 0, 0)', |
| 120 expectedEmoji: 'significantly_worse', | 120 expectedEmoji: 'significantly_worse', |
| 121 expectedEmojiColor: 'rgb(255, 0, 0)', | 121 expectedEmojiColor: 'rgb(255, 0, 0)', |
| 122 expectedTitle: 'significant regression' | 122 expectedTitle: 'significant regression' |
| 123 }); | 123 }); |
| 124 | 124 |
| 125 checkScalarSpan(this, 1, countBIBD, '+1', { | 125 checkScalarSpan(this, 1, countBIBD, '+1', { |
| 126 significance: tr.b.Statistics.Significance.DONT_CARE, | 126 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 127 expectedColor: 'rgb(0, 128, 0)', | 127 expectedColor: 'rgb(0, 128, 0)', |
| 128 expectedTitle: 'improvement', | 128 expectedTitle: 'improvement', |
| 129 expectedEmoji: '' | 129 expectedEmoji: '' |
| 130 }); | 130 }); |
| 131 | 131 |
| 132 checkScalarSpan(this, 1, countBIBD, '+1', { | 132 checkScalarSpan(this, 1, countBIBD, '+1', { |
| 133 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 133 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 134 expectedColor: 'rgb(0, 128, 0)', | 134 expectedColor: 'rgb(0, 128, 0)', |
| 135 expectedEmoji: 'insignificant', | 135 expectedEmoji: 'insignificant', |
| 136 expectedEmojiColor: 'rgb(0, 0, 0)', | 136 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 137 expectedTitle: 'insignificant improvement' | 137 expectedTitle: 'insignificant improvement' |
| 138 }); | 138 }); |
| 139 | 139 |
| 140 checkScalarSpan(this, 1, countBIBD, '+1', { | 140 checkScalarSpan(this, 1, countBIBD, '+1', { |
| 141 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 141 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 142 expectedColor: 'rgb(0, 128, 0)', | 142 expectedColor: 'rgb(0, 128, 0)', |
| 143 expectedEmoji: 'significantly_better', | 143 expectedEmoji: 'significantly_better', |
| 144 expectedEmojiColor: 'rgb(0, 128, 0)', | 144 expectedEmojiColor: 'rgb(0, 128, 0)', |
| 145 expectedTitle: 'significant improvement' | 145 expectedTitle: 'significant improvement' |
| 146 }); | 146 }); |
| 147 | 147 |
| 148 checkScalarSpan(this, -1, countSIBD, '-1', { | 148 checkScalarSpan(this, -1, countSIBD, '-1', { |
| 149 significance: tr.b.Statistics.Significance.DONT_CARE, | 149 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 150 expectedColor: 'rgb(0, 128, 0)', | 150 expectedColor: 'rgb(0, 128, 0)', |
| 151 expectedEmoji: '', | 151 expectedEmoji: '', |
| 152 expectedEmojiColor: '', | 152 expectedEmojiColor: '', |
| 153 expectedTitle: 'improvement' | 153 expectedTitle: 'improvement' |
| 154 }); | 154 }); |
| 155 | 155 |
| 156 checkScalarSpan(this, -1, countSIBD, '-1', { | 156 checkScalarSpan(this, -1, countSIBD, '-1', { |
| 157 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 157 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 158 expectedColor: 'rgb(0, 128, 0)', | 158 expectedColor: 'rgb(0, 128, 0)', |
| 159 expectedEmoji: 'insignificant', | 159 expectedEmoji: 'insignificant', |
| 160 expectedEmojiColor: 'rgb(0, 0, 0)', | 160 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 161 expectedTitle: 'insignificant improvement' | 161 expectedTitle: 'insignificant improvement' |
| 162 }); | 162 }); |
| 163 | 163 |
| 164 checkScalarSpan(this, -1, countSIBD, '-1', { | 164 checkScalarSpan(this, -1, countSIBD, '-1', { |
| 165 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 165 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 166 expectedColor: 'rgb(0, 128, 0)', | 166 expectedColor: 'rgb(0, 128, 0)', |
| 167 expectedEmoji: 'significantly_better', | 167 expectedEmoji: 'significantly_better', |
| 168 expectedEmojiColor: 'rgb(0, 128, 0)', | 168 expectedEmojiColor: 'rgb(0, 128, 0)', |
| 169 expectedTitle: 'significant improvement' | 169 expectedTitle: 'significant improvement' |
| 170 }); | 170 }); |
| 171 | 171 |
| 172 checkScalarSpan(this, -1, countBIBD, '-1', { | 172 checkScalarSpan(this, -1, countBIBD, '-1', { |
| 173 expectedColor: 'rgb(255, 0, 0)', | 173 expectedColor: 'rgb(255, 0, 0)', |
| 174 significance: tr.b.Statistics.Significance.DONT_CARE, | 174 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 175 expectedEmoji: '' | 175 expectedEmoji: '' |
| 176 }); | 176 }); |
| 177 | 177 |
| 178 checkScalarSpan(this, -1, countBIBD, '-1', { | 178 checkScalarSpan(this, -1, countBIBD, '-1', { |
| 179 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 179 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 180 expectedColor: 'rgb(255, 0, 0)', | 180 expectedColor: 'rgb(255, 0, 0)', |
| 181 expectedEmoji: 'insignificant', | 181 expectedEmoji: 'insignificant', |
| 182 expectedEmojiColor: 'rgb(0, 0, 0)', | 182 expectedEmojiColor: 'rgb(0, 0, 0)', |
| 183 expectedTitle: 'insignificant regression' | 183 expectedTitle: 'insignificant regression' |
| 184 }); | 184 }); |
| 185 | 185 |
| 186 checkScalarSpan(this, -1, countBIBD, '-1', { | 186 checkScalarSpan(this, -1, countBIBD, '-1', { |
| 187 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 187 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 188 expectedColor: 'rgb(255, 0, 0)', | 188 expectedColor: 'rgb(255, 0, 0)', |
| 189 expectedEmoji: 'significantly_worse', | 189 expectedEmoji: 'significantly_worse', |
| 190 expectedEmojiColor: 'rgb(255, 0, 0)', | 190 expectedEmojiColor: 'rgb(255, 0, 0)', |
| 191 expectedTitle: 'significant regression' | 191 expectedTitle: 'significant regression' |
| 192 }); | 192 }); |
| 193 | 193 |
| 194 checkScalarSpan(this, 1, countD, '+1', { | 194 checkScalarSpan(this, 1, countD, '+1', { |
| 195 expectedColor: 'rgb(0, 0, 0)', | 195 expectedColor: 'rgb(0, 0, 0)', |
| 196 significance: tr.b.Statistics.Significance.DONT_CARE, | 196 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 197 expectedEmoji: '' | 197 expectedEmoji: '' |
| 198 }); | 198 }); |
| 199 | 199 |
| 200 checkScalarSpan(this, 1, countD, '+1', { | 200 checkScalarSpan(this, 1, countD, '+1', { |
| 201 expectedColor: 'rgb(0, 0, 0)', | 201 expectedColor: 'rgb(0, 0, 0)', |
| 202 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 202 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 203 expectedEmoji: '' | 203 expectedEmoji: '' |
| 204 }); | 204 }); |
| 205 | 205 |
| 206 checkScalarSpan(this, 1, countD, '+1', { | 206 checkScalarSpan(this, 1, countD, '+1', { |
| 207 expectedColor: 'rgb(0, 0, 0)', | 207 expectedColor: 'rgb(0, 0, 0)', |
| 208 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 208 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 209 expectedEmoji: '' | 209 expectedEmoji: '' |
| 210 }); | 210 }); |
| 211 | 211 |
| 212 checkScalarSpan(this, -1, countD, '-1', { | 212 checkScalarSpan(this, -1, countD, '-1', { |
| 213 expectedColor: 'rgb(0, 0, 0)', | 213 expectedColor: 'rgb(0, 0, 0)', |
| 214 significance: tr.b.Statistics.Significance.DONT_CARE, | 214 significance: tr.b.math.Statistics.Significance.DONT_CARE, |
| 215 expectedEmoji: '' | 215 expectedEmoji: '' |
| 216 }); | 216 }); |
| 217 | 217 |
| 218 checkScalarSpan(this, -1, countD, '-1', { | 218 checkScalarSpan(this, -1, countD, '-1', { |
| 219 expectedColor: 'rgb(0, 0, 0)', | 219 expectedColor: 'rgb(0, 0, 0)', |
| 220 significance: tr.b.Statistics.Significance.INSIGNIFICANT, | 220 significance: tr.b.math.Statistics.Significance.INSIGNIFICANT, |
| 221 expectedEmoji: '' | 221 expectedEmoji: '' |
| 222 }); | 222 }); |
| 223 | 223 |
| 224 checkScalarSpan(this, -1, countD, '-1', { | 224 checkScalarSpan(this, -1, countD, '-1', { |
| 225 expectedColor: 'rgb(0, 0, 0)', | 225 expectedColor: 'rgb(0, 0, 0)', |
| 226 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 226 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 227 expectedEmoji: '' | 227 expectedEmoji: '' |
| 228 }); | 228 }); |
| 229 }); | 229 }); |
| 230 | 230 |
| 231 test('instantiate', function() { | 231 test('instantiate', function() { |
| 232 checkScalarSpan(this, 123.456789, Unit.byName.timeDurationInMs, | 232 checkScalarSpan(this, 123.456789, Unit.byName.timeDurationInMs, |
| 233 '123.457 ms'); | 233 '123.457 ms'); |
| 234 checkScalarSpan(this, 0, Unit.byName.normalizedPercentage, '0.000%'); | 234 checkScalarSpan(this, 0, Unit.byName.normalizedPercentage, '0.000%'); |
| 235 checkScalarSpan(this, 1, Unit.byName.normalizedPercentage, '100.000%'); | 235 checkScalarSpan(this, 1, Unit.byName.normalizedPercentage, '100.000%'); |
| 236 checkScalarSpan(this, -2560, Unit.byName.sizeInBytes, '-2.5 KiB'); | 236 checkScalarSpan(this, -2560, Unit.byName.sizeInBytes, '-2.5 KiB'); |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 assert.strictEqual(span.unit, Unit.byName.energyInJoules); | 332 assert.strictEqual(span.unit, Unit.byName.energyInJoules); |
| 333 assert.isUndefined(span.context); | 333 assert.isUndefined(span.context); |
| 334 assert.isUndefined(span.customContextRange); | 334 assert.isUndefined(span.customContextRange); |
| 335 assert.isUndefined(span.warning); | 335 assert.isUndefined(span.warning); |
| 336 assert.isTrue(span.leftAlign); | 336 assert.isTrue(span.leftAlign); |
| 337 this.addHTMLOutput(span); | 337 this.addHTMLOutput(span); |
| 338 | 338 |
| 339 // Unit and sparkline set via config. | 339 // Unit and sparkline set via config. |
| 340 span = tr.v.ui.createScalarSpan(1.62, { | 340 span = tr.v.ui.createScalarSpan(1.62, { |
| 341 unit: Unit.byName.timeStampInMs, | 341 unit: Unit.byName.timeStampInMs, |
| 342 customContextRange: tr.b.Range.fromExplicitRange(0, 3.24) | 342 customContextRange: tr.b.math.Range.fromExplicitRange(0, 3.24) |
| 343 }); | 343 }); |
| 344 assert.strictEqual(Polymer.dom(span.$.content).textContent, '1.620 ms'); | 344 assert.strictEqual(Polymer.dom(span.$.content).textContent, '1.620 ms'); |
| 345 assert.strictEqual(span.ownerDocument, document); | 345 assert.strictEqual(span.ownerDocument, document); |
| 346 assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN'); | 346 assert.strictEqual(span.tagName, 'TR-V-UI-SCALAR-SPAN'); |
| 347 assert.strictEqual(span.value, 1.62); | 347 assert.strictEqual(span.value, 1.62); |
| 348 assert.strictEqual(span.unit, Unit.byName.timeStampInMs); | 348 assert.strictEqual(span.unit, Unit.byName.timeStampInMs); |
| 349 assert.isUndefined(span.context); | 349 assert.isUndefined(span.context); |
| 350 assert.isTrue(tr.b.Range.fromExplicitRange(0, 3.24).equals( | 350 assert.isTrue(tr.b.math.Range.fromExplicitRange(0, 3.24).equals( |
| 351 span.customContextRange)); | 351 span.customContextRange)); |
| 352 assert.isUndefined(span.warning); | 352 assert.isUndefined(span.warning); |
| 353 assert.isFalse(span.leftAlign); | 353 assert.isFalse(span.leftAlign); |
| 354 this.addHTMLOutput(span); | 354 this.addHTMLOutput(span); |
| 355 | 355 |
| 356 // Custom context. | 356 // Custom context. |
| 357 span = tr.v.ui.createScalarSpan( | 357 span = tr.v.ui.createScalarSpan( |
| 358 new Scalar(Unit.byName.sizeInBytesDelta_smallerIsBetter, | 358 new Scalar(Unit.byName.sizeInBytesDelta_smallerIsBetter, |
| 359 256 * 1024 * 1024), { context: { | 359 256 * 1024 * 1024), { context: { |
| 360 unitPrefix: tr.b.UnitPrefixScale.BINARY.KIBI, | 360 unitPrefix: tr.b.UnitPrefixScale.BINARY.KIBI, |
| (...skipping 19 matching lines...) Expand all Loading... |
| 380 let span = document.createElement('tr-v-ui-scalar-span'); | 380 let span = document.createElement('tr-v-ui-scalar-span'); |
| 381 span.value = 400000000; | 381 span.value = 400000000; |
| 382 span.unit = Unit.byName.sizeInBytes; | 382 span.unit = Unit.byName.sizeInBytes; |
| 383 span.warning = 'There is a problem with this size'; | 383 span.warning = 'There is a problem with this size'; |
| 384 this.addHTMLOutput(span); | 384 this.addHTMLOutput(span); |
| 385 }); | 385 }); |
| 386 | 386 |
| 387 test('instantiate_withCustomContextRange', function() { | 387 test('instantiate_withCustomContextRange', function() { |
| 388 let span = document.createElement('tr-v-ui-scalar-span'); | 388 let span = document.createElement('tr-v-ui-scalar-span'); |
| 389 span.value = new Scalar(Unit.byName.unitlessNumber, 0.99); | 389 span.value = new Scalar(Unit.byName.unitlessNumber, 0.99); |
| 390 span.customContextRange = tr.b.Range.fromExplicitRange(0, 3); | 390 span.customContextRange = tr.b.math.Range.fromExplicitRange(0, 3); |
| 391 this.addHTMLOutput(span); | 391 this.addHTMLOutput(span); |
| 392 }); | 392 }); |
| 393 | 393 |
| 394 test('instantiate_withRightAlign', function() { | 394 test('instantiate_withRightAlign', function() { |
| 395 let span = document.createElement('tr-v-ui-scalar-span'); | 395 let span = document.createElement('tr-v-ui-scalar-span'); |
| 396 span.value = new Scalar(Unit.byName.timeStampInMs, 5.777); | 396 span.value = new Scalar(Unit.byName.timeStampInMs, 5.777); |
| 397 span.leftAlign = true; | 397 span.leftAlign = true; |
| 398 this.addHTMLOutput(span); | 398 this.addHTMLOutput(span); |
| 399 }); | 399 }); |
| 400 | 400 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 412 spanA.setValueAndUnit(400, Unit.byName.timeDurationInMs); | 412 spanA.setValueAndUnit(400, Unit.byName.timeDurationInMs); |
| 413 checkSignificance(spanA, ''); | 413 checkSignificance(spanA, ''); |
| 414 | 414 |
| 415 let spanB = document.createElement('tr-v-ui-scalar-span'); | 415 let spanB = document.createElement('tr-v-ui-scalar-span'); |
| 416 spanB.setValueAndUnit(400, Unit.byName.timeDurationInMsDelta); | 416 spanB.setValueAndUnit(400, Unit.byName.timeDurationInMsDelta); |
| 417 checkSignificance(spanB, ''); | 417 checkSignificance(spanB, ''); |
| 418 | 418 |
| 419 let spanC = document.createElement('tr-v-ui-scalar-span'); | 419 let spanC = document.createElement('tr-v-ui-scalar-span'); |
| 420 spanC.setValueAndUnit( | 420 spanC.setValueAndUnit( |
| 421 400, Unit.byName.timeDurationInMsDelta_smallerIsBetter); | 421 400, Unit.byName.timeDurationInMsDelta_smallerIsBetter); |
| 422 spanC.significance = tr.b.Statistics.Significance.SIGNIFICANT; | 422 spanC.significance = tr.b.math.Statistics.Significance.SIGNIFICANT; |
| 423 checkSignificance(spanC, 'significantly_worse'); | 423 checkSignificance(spanC, 'significantly_worse'); |
| 424 | 424 |
| 425 let spanD = document.createElement('tr-v-ui-scalar-span'); | 425 let spanD = document.createElement('tr-v-ui-scalar-span'); |
| 426 spanD.setValueAndUnit( | 426 spanD.setValueAndUnit( |
| 427 400, Unit.byName.timeDurationInMsDelta_biggerIsBetter); | 427 400, Unit.byName.timeDurationInMsDelta_biggerIsBetter); |
| 428 spanD.significance = tr.b.Statistics.Significance.SIGNIFICANT; | 428 spanD.significance = tr.b.math.Statistics.Significance.SIGNIFICANT; |
| 429 checkSignificance(spanD, 'significantly_better'); | 429 checkSignificance(spanD, 'significantly_better'); |
| 430 | 430 |
| 431 let spanE = document.createElement('tr-v-ui-scalar-span'); | 431 let spanE = document.createElement('tr-v-ui-scalar-span'); |
| 432 spanE.setValueAndUnit( | 432 spanE.setValueAndUnit( |
| 433 400, Unit.byName.timeDurationInMsDelta_smallerIsBetter); | 433 400, Unit.byName.timeDurationInMsDelta_smallerIsBetter); |
| 434 spanE.significance = tr.b.Statistics.Significance.INSIGNIFICANT; | 434 spanE.significance = tr.b.math.Statistics.Significance.INSIGNIFICANT; |
| 435 checkSignificance(spanE, 'insignificant'); | 435 checkSignificance(spanE, 'insignificant'); |
| 436 | 436 |
| 437 let overall = document.createElement('div'); | 437 let overall = document.createElement('div'); |
| 438 overall.style.display = 'flex'; | 438 overall.style.display = 'flex'; |
| 439 // These spans must be on separate lines so that Chrome has the option of | 439 // These spans must be on separate lines so that Chrome has the option of |
| 440 // making their heights different. The point of the test is that Chrome | 440 // making their heights different. The point of the test is that Chrome |
| 441 // shouldn't have to make their heights different even when it could. | 441 // shouldn't have to make their heights different even when it could. |
| 442 overall.style.flexDirection = 'column'; | 442 overall.style.flexDirection = 'column'; |
| 443 Polymer.dom(overall).appendChild(spanA); | 443 Polymer.dom(overall).appendChild(spanA); |
| 444 Polymer.dom(overall).appendChild(spanB); | 444 Polymer.dom(overall).appendChild(spanB); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 Polymer.dom(div).appendChild(span1); | 526 Polymer.dom(div).appendChild(span1); |
| 527 checkSparkline(span1, {display: 'none'}); | 527 checkSparkline(span1, {display: 'none'}); |
| 528 let span2 = tr.v.ui.createScalarSpan(0, { | 528 let span2 = tr.v.ui.createScalarSpan(0, { |
| 529 unit: Unit.byName.timeStampInMs, | 529 unit: Unit.byName.timeStampInMs, |
| 530 customContextRange: undefined | 530 customContextRange: undefined |
| 531 }); | 531 }); |
| 532 Polymer.dom(div).appendChild(span2); | 532 Polymer.dom(div).appendChild(span2); |
| 533 checkSparkline(span2, {display: 'none'}); | 533 checkSparkline(span2, {display: 'none'}); |
| 534 let span3 = tr.v.ui.createScalarSpan(0, { | 534 let span3 = tr.v.ui.createScalarSpan(0, { |
| 535 unit: Unit.byName.timeStampInMs, | 535 unit: Unit.byName.timeStampInMs, |
| 536 customContextRange: new tr.b.Range() // Empty range. | 536 customContextRange: new tr.b.math.Range() // Empty range. |
| 537 }); | 537 }); |
| 538 Polymer.dom(div).appendChild(span3); | 538 Polymer.dom(div).appendChild(span3); |
| 539 checkSparkline(span3, {display: 'none'}); | 539 checkSparkline(span3, {display: 'none'}); |
| 540 | 540 |
| 541 let range = tr.b.Range.fromExplicitRange(-15, 15); | 541 let range = tr.b.math.Range.fromExplicitRange(-15, 15); |
| 542 | 542 |
| 543 // Values inside custom context range. | 543 // Values inside custom context range. |
| 544 let span4 = tr.v.ui.createScalarSpan(-15, { | 544 let span4 = tr.v.ui.createScalarSpan(-15, { |
| 545 unit: Unit.byName.timeStampInMs, | 545 unit: Unit.byName.timeStampInMs, |
| 546 customContextRange: range | 546 customContextRange: range |
| 547 }); | 547 }); |
| 548 Polymer.dom(div).appendChild(span4); | 548 Polymer.dom(div).appendChild(span4); |
| 549 checkSparkline(span4, {left: 0, width: 51}); | 549 checkSparkline(span4, {left: 0, width: 51}); |
| 550 let span5 = tr.v.ui.createScalarSpan(-14, { | 550 let span5 = tr.v.ui.createScalarSpan(-14, { |
| 551 unit: Unit.byName.timeStampInMs, | 551 unit: Unit.byName.timeStampInMs, |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 655 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); | 655 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); |
| 656 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); | 656 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); |
| 657 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); | 657 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); |
| 658 | 658 |
| 659 s1.value = 50; | 659 s1.value = 50; |
| 660 checkSparkline(s1, {left: 0, width: 101, classList: ['positive']}); | 660 checkSparkline(s1, {left: 0, width: 101, classList: ['positive']}); |
| 661 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); | 661 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); |
| 662 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); | 662 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); |
| 663 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); | 663 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); |
| 664 | 664 |
| 665 s1.customContextRange = tr.b.Range.fromExplicitRange(0, 150); | 665 s1.customContextRange = tr.b.math.Range.fromExplicitRange(0, 150); |
| 666 checkSparkline(s1, {left: 0, width: 34.33, classList: ['positive']}); | 666 checkSparkline(s1, {left: 0, width: 34.33, classList: ['positive']}); |
| 667 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); | 667 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); |
| 668 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); | 668 checkSparkline(s3, {left: 0, width: 76, classList: ['positive']}); |
| 669 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); | 669 checkSparkline(s4, {left: 0, width: 101, classList: ['positive']}); |
| 670 | 670 |
| 671 s4.contextGroup = null; | 671 s4.contextGroup = null; |
| 672 checkSparkline(s1, {left: 0, width: 34.33, classList: ['positive']}); | 672 checkSparkline(s1, {left: 0, width: 34.33, classList: ['positive']}); |
| 673 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); | 673 checkSparkline(s2, {left: 0, width: 41, classList: ['positive']}); |
| 674 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); | 674 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); |
| 675 checkSparkline(s4, {display: 'none'}); | 675 checkSparkline(s4, {display: 'none'}); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 701 checkSparkline(s3, {left: 0, width: 61, classList: ['positive']}); | 701 checkSparkline(s3, {left: 0, width: 61, classList: ['positive']}); |
| 702 checkSparkline(s4, {display: 'none'}); | 702 checkSparkline(s4, {display: 'none'}); |
| 703 checkSparkline(s1, {left: 0, width: 101, classList: ['positive']}); | 703 checkSparkline(s1, {left: 0, width: 101, classList: ['positive']}); |
| 704 | 704 |
| 705 s1.removeAttribute('context-group'); | 705 s1.removeAttribute('context-group'); |
| 706 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); | 706 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); |
| 707 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); | 707 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); |
| 708 checkSparkline(s4, {display: 'none'}); | 708 checkSparkline(s4, {display: 'none'}); |
| 709 checkSparkline(s1, {display: 'none'}); | 709 checkSparkline(s1, {display: 'none'}); |
| 710 | 710 |
| 711 s1.customContextRange = tr.b.Range.fromExplicitRange(0, 100); | 711 s1.customContextRange = tr.b.math.Range.fromExplicitRange(0, 100); |
| 712 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); | 712 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); |
| 713 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); | 713 checkSparkline(s3, {left: 0, width: 101, classList: ['positive']}); |
| 714 checkSparkline(s4, {display: 'none'}); | 714 checkSparkline(s4, {display: 'none'}); |
| 715 checkSparkline(s1, {left: 0, width: 51, classList: ['positive']}); | 715 checkSparkline(s1, {left: 0, width: 51, classList: ['positive']}); |
| 716 | 716 |
| 717 s3.value = 0; | 717 s3.value = 0; |
| 718 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); | 718 checkSparkline(s2, {left: 0, width: 101, classList: ['positive']}); |
| 719 checkSparkline(s3, {display: 'none'}); | 719 checkSparkline(s3, {display: 'none'}); |
| 720 checkSparkline(s4, {display: 'none'}); | 720 checkSparkline(s4, {display: 'none'}); |
| 721 checkSparkline(s1, {left: 0, width: 51, classList: ['positive']}); | 721 checkSparkline(s1, {left: 0, width: 51, classList: ['positive']}); |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 checkSparkline(span8, {left: 0, width: 101, classList: ['worse']}); | 902 checkSparkline(span8, {left: 0, width: 101, classList: ['worse']}); |
| 903 }); | 903 }); |
| 904 | 904 |
| 905 test('classListChanges', function() { | 905 test('classListChanges', function() { |
| 906 let div = document.createElement('div'); | 906 let div = document.createElement('div'); |
| 907 div.style.width = '200px'; | 907 div.style.width = '200px'; |
| 908 this.addHTMLOutput(div); | 908 this.addHTMLOutput(div); |
| 909 | 909 |
| 910 let span = tr.v.ui.createScalarSpan(10, { | 910 let span = tr.v.ui.createScalarSpan(10, { |
| 911 unit: Unit.byName.energyInJoulesDelta_smallerIsBetter, | 911 unit: Unit.byName.energyInJoulesDelta_smallerIsBetter, |
| 912 significance: tr.b.Statistics.Significance.SIGNIFICANT, | 912 significance: tr.b.math.Statistics.Significance.SIGNIFICANT, |
| 913 customContextRange: tr.b.Range.fromExplicitRange(-20, 20) | 913 customContextRange: tr.b.math.Range.fromExplicitRange(-20, 20) |
| 914 }); | 914 }); |
| 915 Polymer.dom(div).appendChild(span); | 915 Polymer.dom(div).appendChild(span); |
| 916 | 916 |
| 917 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); | 917 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); |
| 918 checkSignificance(span, 'significantly_worse'); | 918 checkSignificance(span, 'significantly_worse'); |
| 919 | 919 |
| 920 span.significance = tr.b.Statistics.Significance.DONT_CARE; | 920 span.significance = tr.b.math.Statistics.Significance.DONT_CARE; |
| 921 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), | 921 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), |
| 922 ['positive', 'worse']); | 922 ['positive', 'worse']); |
| 923 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); | 923 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); |
| 924 checkSignificance(span, ''); | 924 checkSignificance(span, ''); |
| 925 | 925 |
| 926 span.value = -5; | 926 span.value = -5; |
| 927 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), ['better']); | 927 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), ['better']); |
| 928 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); | 928 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); |
| 929 checkSignificance(span, ''); | 929 checkSignificance(span, ''); |
| 930 | 930 |
| 931 span.unit = Unit.byName.energyInJoules; | 931 span.unit = Unit.byName.energyInJoules; |
| 932 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), []); | 932 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), []); |
| 933 assert.sameMembers(tr.b.asArray(span.$.content.classList), []); | 933 assert.sameMembers(tr.b.asArray(span.$.content.classList), []); |
| 934 checkSignificance(span, ''); | 934 checkSignificance(span, ''); |
| 935 | 935 |
| 936 span.value = 20; | 936 span.value = 20; |
| 937 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), ['positive']); | 937 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), ['positive']); |
| 938 assert.sameMembers(tr.b.asArray(span.$.content.classList), []); | 938 assert.sameMembers(tr.b.asArray(span.$.content.classList), []); |
| 939 checkSignificance(span, ''); | 939 checkSignificance(span, ''); |
| 940 | 940 |
| 941 span.unit = Unit.byName.energyInJoulesDelta_biggerIsBetter; | 941 span.unit = Unit.byName.energyInJoulesDelta_biggerIsBetter; |
| 942 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), | 942 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), |
| 943 ['positive', 'better']); | 943 ['positive', 'better']); |
| 944 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); | 944 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); |
| 945 checkSignificance(span, ''); | 945 checkSignificance(span, ''); |
| 946 | 946 |
| 947 span.significance = tr.b.Statistics.Significance.INSIGNIFICANT; | 947 span.significance = tr.b.math.Statistics.Significance.INSIGNIFICANT; |
| 948 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), | 948 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), |
| 949 ['positive', 'better']); | 949 ['positive', 'better']); |
| 950 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); | 950 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['better']); |
| 951 checkSignificance(span, 'insignificant'); | 951 checkSignificance(span, 'insignificant'); |
| 952 | 952 |
| 953 span.unit = Unit.byName.energyInJoulesDelta_smallerIsBetter; | 953 span.unit = Unit.byName.energyInJoulesDelta_smallerIsBetter; |
| 954 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), | 954 assert.sameMembers(tr.b.asArray(span.$.sparkline.classList), |
| 955 ['positive', 'worse']); | 955 ['positive', 'worse']); |
| 956 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); | 956 assert.sameMembers(tr.b.asArray(span.$.content.classList), ['worse']); |
| 957 checkSignificance(span, 'insignificant'); | 957 checkSignificance(span, 'insignificant'); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 992 }); | 992 }); |
| 993 | 993 |
| 994 test('sparkline_centered', function() { | 994 test('sparkline_centered', function() { |
| 995 let div = document.createElement('div'); | 995 let div = document.createElement('div'); |
| 996 this.addHTMLOutput(div); | 996 this.addHTMLOutput(div); |
| 997 div.appendChild( | 997 div.appendChild( |
| 998 document.createElement('tr-v-ui-scalar-context-controller')); | 998 document.createElement('tr-v-ui-scalar-context-controller')); |
| 999 | 999 |
| 1000 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(-1, { | 1000 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(-1, { |
| 1001 unit: Unit.byName.powerInWattsDelta, | 1001 unit: Unit.byName.powerInWattsDelta, |
| 1002 customContextRange: tr.b.Range.fromExplicitRange(-100, 100) | 1002 customContextRange: tr.b.math.Range.fromExplicitRange(-100, 100) |
| 1003 })); | 1003 })); |
| 1004 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(100, { | 1004 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(100, { |
| 1005 unit: Unit.byName.powerInWattsDelta, | 1005 unit: Unit.byName.powerInWattsDelta, |
| 1006 customContextRange: tr.b.Range.fromExplicitRange(-100, 100) | 1006 customContextRange: tr.b.math.Range.fromExplicitRange(-100, 100) |
| 1007 })); | 1007 })); |
| 1008 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(80, { | 1008 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(80, { |
| 1009 unit: Unit.byName.powerInWattsDelta, | 1009 unit: Unit.byName.powerInWattsDelta, |
| 1010 customContextRange: tr.b.Range.fromExplicitRange(-100, 100) | 1010 customContextRange: tr.b.math.Range.fromExplicitRange(-100, 100) |
| 1011 })); | 1011 })); |
| 1012 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(60, { | 1012 Polymer.dom(div).appendChild(tr.v.ui.createScalarSpan(60, { |
| 1013 unit: Unit.byName.powerInWattsDelta, | 1013 unit: Unit.byName.powerInWattsDelta, |
| 1014 customContextRange: tr.b.Range.fromExplicitRange(-100, 100) | 1014 customContextRange: tr.b.math.Range.fromExplicitRange(-100, 100) |
| 1015 })); | 1015 })); |
| 1016 }); | 1016 }); |
| 1017 | 1017 |
| 1018 timedPerfTest('memory_scalar_spans', function() { | 1018 timedPerfTest('memory_scalar_spans', function() { |
| 1019 tr.v.ui.createScalarSpan(EXAMPLE_MEMORY_NUMERIC, { | 1019 tr.v.ui.createScalarSpan(EXAMPLE_MEMORY_NUMERIC, { |
| 1020 context: EXAMPLE_MEMORY_FORMATTING_CONTEXT, | 1020 context: EXAMPLE_MEMORY_FORMATTING_CONTEXT, |
| 1021 inline: true, | 1021 inline: true, |
| 1022 }); | 1022 }); |
| 1023 }, { | 1023 }, { |
| 1024 iterations: 1000, | 1024 iterations: 1000, |
| 1025 }); | 1025 }); |
| 1026 }); | 1026 }); |
| 1027 </script> | 1027 </script> |
| OLD | NEW |