1<!DOCTYPE html> 2<!-- 3Copyright 2016 The Chromium Authors. All rights reserved. 4Use of this source code is governed by a BSD-style license that can be 5found in the LICENSE file. 6--> 7 8<link rel="import" href="/dashboard/elements/bisect-button.html"> 9<link rel="import" href="/dashboard/static/testing_common.html"> 10 11<link rel="import" href="/tracing/core/test_utils.html"> 12 13<script> 14'use strict'; 15 16tr.b.unittest.testSuite(function() { 17 18 var testOptions = { 19 tearDown: function() { 20 testing_common.clearXhrMock(); 21 testing_common.clearFixture(); 22 } 23 }; 24 25 test('instantiate_basic', function() { 26 var button = document.createElement('bisect-button'); 27 this.addHTMLOutput(button); 28 }, testOptions); 29 30 test('canBisect false if there is no bisectInfo', function() { 31 var button = document.createElement('bisect-button'); 32 testing_common.addToFixture(button); 33 button.bugId = 500500; 34 assert.isFalse(button.canBisect); 35 }, testOptions); 36 37 test('empty', function() { 38 }, testOptions); 39 40 test('canBisect set to true for valid tests after check', function() { 41 testing_common.addXhrMock( 42 '/can_bisect?test_path=ChromiumPerf%2Flinux%2Fsunspider%2FTotal' + 43 '&start_revision=323400&end_revision=323500', 44 'true'); 45 46 var button = document.createElement('bisect-button'); 47 testing_common.addToFixture(button); 48 button.bisectInfo = { 49 'testPath': 'ChromiumPerf/linux/sunspider/Total', 50 'goodRev': 323400, 51 'badRev': 323500 52 }; 53 54 return new Promise(function(resolve) { 55 function check() { 56 assert.isTrue(button.canBisect); 57 resolve(); 58 } 59 setTimeout(check, 10); 60 }); 61 }, testOptions); 62 63 test('canBisect set to false for invalid tests after check', function() { 64 testing_common.addXhrMock( 65 '/can_bisect?test_path=Chromium%2Flinux%2Fsizes' + 66 '&start_revision=323400&end_revision=323500', 67 'false'); 68 69 var button = document.createElement('bisect-button'); 70 testing_common.addToFixture(button); 71 button.bisectInfo = { 72 'testPath': 'Chromium/linux/sizes', 73 'goodRev': 323400, 74 'badRev': 323500 75 }; 76 77 return new Promise(function(resolve) { 78 function check() { 79 assert.isFalse(button.canBisect); 80 resolve(); 81 } 82 setTimeout(check, 100); 83 }); 84 }, testOptions); 85 86}); 87</script> 88