Dashboard cleanup: Remove globals g_buildersThatFailedToLoad and g_staleBuilders
[WebKit-https.git] / Tools / TestResultServer / static-dashboards / loader_unittests.js
index 4c1e76ca0bb96f0c520a11d586f358bb9823d897..86d7beec1bc7a24fa038802d83dae957fbc63348 100644 (file)
@@ -113,9 +113,6 @@ test('results file failing to load', 2, function() {
     resetGlobals();
     loadBuildersList('@ToT - chromium.org', 'layout-tests');
     
-    // FIXME: loader shouldn't depend on state defined in dashboard_base.js.
-    g_buildersThatFailedToLoad = [];
-
     var resourceLoader = new loader.Loader();
     var resourceLoadCount = 0;
     resourceLoader._handleResourceLoad = function() {
@@ -130,7 +127,30 @@ test('results file failing to load', 2, function() {
     currentBuilders()[builder2] = true;
     resourceLoader._handleResultsFileLoadError(builder2);
 
-    deepEqual(g_buildersThatFailedToLoad, [builder1, builder2]);
+    deepEqual(resourceLoader._buildersThatFailedToLoad, [builder1, builder2]);
     equal(resourceLoadCount, 2);
 
 });
+
+test('Default builder gets set.', 3, function() {
+    resetGlobals();
+    loadBuildersList('@ToT - chromium.org', 'layout-tests');
+    
+    var defaultBuilder = currentBuilderGroup().defaultBuilder();
+    ok(defaultBuilder, "Default builder should exist.");
+   
+    // Simulate error loading the default builder data, then make sure
+    // a new defaultBuilder is set, and isn't the now invalid one.
+    var resourceLoader = new loader.Loader();
+    resourceLoader._handleResultsFileLoadError(defaultBuilder);
+    var newDefaultBuilder = currentBuilderGroup().defaultBuilder();
+    ok(newDefaultBuilder, "There should still be a default builder.");
+    notEqual(newDefaultBuilder, defaultBuilder, "Default builder should not be the old default builder");
+});
+
+test('addBuilderLoadErrors', 1, function() {
+    var resourceLoader = new loader.Loader();
+    resourceLoader._buildersThatFailedToLoad = ['builder1', 'builder2'];
+    resourceLoader._staleBuilders = ['staleBuilder1'];
+    equal(resourceLoader._getLoadingErrorMessages(), 'ERROR: Failed to get data from builder1,builder2.<br>ERROR: Data from staleBuilder1 is more than 1 day stale.<br>');
+});
\ No newline at end of file