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

Side by Side Diff: Tools/GardeningServer/model/tree-status-tests.html

Issue 443243002: Move treestatus.js to a model class. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!-- 1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved. 2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be 3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file. 4 found in the LICENSE file.
5 --> 5 -->
6 6
7 <link rel="import" href="ct-tree-status.html"> 7 <link rel="import" href="tree-status.html">
8 8
9 <script> 9 <script>
10
10 (function () { 11 (function () {
11 12
12 module("ct-tree-status"); 13 module("tree-status");
13 14
14 openTreeJson = { 15 var openTreeJson = {
16 "username": "erg@chromium.org",
17 "date": "2013-10-14 20:22:00.887390",
18 "message": "Tree is open",
19 "can_commit_freely": true,
20 "general_state": "open"
21 };
22
23 var throttledTreeJson = {
15 "username": "username@test.org", 24 "username": "username@test.org",
16 "message": "Tree is open", 25 "date": "2013-10-14 20:22:00.887390",
17 "can_commit_freely": true
18 }
19
20 throttledTreeJson = {
21 "username": "username@test.org",
22 "message": "Tree is throttled just for fun", 26 "message": "Tree is throttled just for fun",
23 "can_commit_freely": false 27 "can_commit_freely": false
24 } 28 };
25 29
26 closedTreeJson = { 30 var closedTreeJson = {
27 "username": "username@test.org", 31 "username": "ojan@chromium.org",
28 "message": "Tree is closed for maintenance", 32 "date": "2013-10-14 20:32:09.642350",
29 "can_commit_freely": false 33 "message": "Tree is closed",
30 } 34 "can_commit_freely": false,
35 "general_state": "closed"
36 };
31 37
32 asyncTest("basic", 10, function() { 38 test('url', 3, function() {
39 var treeStatus = new TreeStatus('blink');
40 equal(new TreeStatus('blink').url(), 'http://blink-status.appspot.com/');
41 equal(new TreeStatus('chromium').url(), 'http://chromium-status.appspot.com/') ;
42 equal(new TreeStatus('foo').url(), null);
43 });
44
45 asyncTest("basic", 6, function() {
33 var simulator = new NetworkSimulator(); 46 var simulator = new NetworkSimulator();
34 simulator.json = function(url) { 47 simulator.json = function(url) {
35 if (url.indexOf('closed') != -1) 48 if (url.indexOf('closed') != -1)
36 return Promise.resolve(closedTreeJson); 49 return Promise.resolve(closedTreeJson);
37 else if (url.indexOf('throttled') != -1) 50 else if (url.indexOf('throttled') != -1)
38 return Promise.resolve(throttledTreeJson); 51 return Promise.resolve(throttledTreeJson);
39 else 52 else
40 return Promise.resolve(openTreeJson); 53 return Promise.resolve(openTreeJson);
41 }; 54 };
42 55
43 var opentree = document.createElement("ct-tree-status"); 56 var opentree = new TreeStatus("open-tree-project");
44 opentree.project = "open-tree-project"; 57 var throttledtree = new TreeStatus("throttled-tree-project");
45 var throttledtree = document.createElement("ct-tree-status"); 58 var closedtree = new TreeStatus("closed-tree-project");
46 throttledtree.project = "throttled-tree-project";
47 var closedtree = document.createElement("ct-tree-status");
48 closedtree.project = "closed-tree-project";
49 59
50 simulator.runTest(function() { 60 simulator.runTest(function() {
51 var urlByName = treestatus.urlByName; 61 var url = TreeStatus.prototype.url;
52 treestatus.urlByName = function(name) { 62 TreeStatus.prototype.url = function() {
53 return "http://" + name + "-status.appspot.com/"; 63 return "http://" + this.project + "-status.appspot.com/";
54 } 64 }
55 Promise.all([ 65 Promise.all([
56 opentree.update().then(function() { 66 opentree.update().then(function() {
57 equal(opentree.status, "open"); 67 equal(opentree.status, "open");
58 }), 68 }),
59 throttledtree.update().then(function() { 69 throttledtree.update().then(function() {
60 equal(throttledtree.message, 70 equal(throttledtree.message,
61 "Tree is throttled just for fun by username@test.org"); 71 "Tree is throttled just for fun by username@test.org");
62 equal(throttledtree.status, "throttled"); 72 equal(throttledtree.status, "throttled");
63 }), 73 }),
64 closedtree.update().then(function() { 74 closedtree.update().then(function() {
65 equal(closedtree.message, 75 equal(closedtree.message,
66 "Tree is closed for maintenance by username@test.org"); 76 "Tree is closed by ojan@chromium.org");
67 equal(closedtree.status, "closed"); 77 equal(closedtree.status, "closed");
68 equal(closedtree.shadowRoot.querySelector('a').href, treestatus.urlByNam e('closed-tree-project'));
69 }) 78 })
70 ]).then(function() { 79 ]).then(function() {
71 requestAnimationFrame(function() { 80 requestAnimationFrame(function() {
72 ok(!opentree.shadowRoot.textContent.has("open-tree-project"));
73 ok(throttledtree.shadowRoot.textContent.has("throttled-tree-project"));
74 ok(closedtree.shadowRoot.textContent.has("closed-tree-project"));
75 start(); 81 start();
76 treestatus.urlByName = urlByName; 82 TreeStatus.prototype.url = url;
77 }); 83 });
78 }); 84 });
79 }); 85 });
80 }); 86 });
81 87
82 })(); 88 })();
83 </script> 89 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698