Index: Tools/GardeningServer/model/tree-status-tests.html |
diff --git a/Tools/GardeningServer/model/tree-status-tests.html b/Tools/GardeningServer/model/tree-status-tests.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..944b87d3ecff5b4fad194bd58e1e06298ae233cf |
--- /dev/null |
+++ b/Tools/GardeningServer/model/tree-status-tests.html |
@@ -0,0 +1,67 @@ |
+<!-- |
+Copyright 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="tree-status.html"> |
+ |
+<script> |
+ |
+(function () { |
+ |
+module("tree-status"); |
+ |
+var openTreeJson = { |
+ "username": "erg@chromium.org", |
+ "date": "2013-10-14 20:22:00.887390", |
+ "message": "Tree is open", |
+ "can_commit_freely": true, |
+ "general_state": "open" |
+}; |
+ |
+var closedTreeJson = { |
+ "username": "ojan@chromium.org", |
+ "date": "2013-10-14 20:32:09.642350", |
+ "message": "Tree is closed", |
+ "can_commit_freely": false, |
+ "general_state": "closed" |
+}; |
+ |
+test('urlByName', 3, function() { |
+ var treeStatus = new TreeStatus(); |
+ equal(treeStatus.urlByName('blink'), 'http://blink-status.appspot.com/'); |
+ equal(treeStatus.urlByName('chromium'), 'http://chromium-status.appspot.com/'); |
+ equal(treeStatus.urlByName('foo'), null); |
+}); |
+ |
+asyncTest('fetchTreeStatus', 3, function() { |
+ var simulator = new NetworkSimulator(); |
+ |
+ simulator.json = function(url) |
+ { |
+ if (url.indexOf('closed') != -1) |
+ return Promise.resolve(closedTreeJson); |
+ else |
+ return Promise.resolve(openTreeJson); |
+ }; |
+ |
+ var span = document.createElement('span'); |
+ simulator.runTest(function() { |
+ var treeStatus = new TreeStatus(); |
+ treeStatus.fetchTreeStatus('http://opentree', span) |
+ .then(function(result) { |
+ equal(span.textContent, 'OPEN'); |
+ |
+ span = document.createElement('span'); |
+ treeStatus.fetchTreeStatus('http://closedtree', span) |
+ .then(function() { |
+ equal(span.textContent, 'Tree is closed by ojan@chromium.org'); |
+ start(); |
+ }); |
+ }); |
+ }); |
+}); |
+ |
+})(); |
+</script> |