Title: [93522] trunk/Tools
Revision
93522
Author
dglaz...@chromium.org
Date
2011-08-22 11:15:48 -0700 (Mon, 22 Aug 2011)

Log Message

garden-o-matic's relative time display should be updated regularly.
https://bugs.webkit.org/show_bug.cgi?id=66682

Reviewed by Adam Barth.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: Moved Time to ui.Time, added code for regular updates.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: Changed to use ui.Time.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: Added tests.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js (93521 => 93522)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js	2011-08-22 18:15:48 UTC (rev 93522)
@@ -67,5 +67,8 @@
 
 var kTenMinutesInMilliseconds = 10 * 60 * 1000;
 config.kUpdateFrequency = kTenMinutesInMilliseconds;
+config.kRelativeTimeUpdateFrequency = 1000;
 
+
+
 })();

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js (93521 => 93522)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js	2011-08-22 18:15:48 UTC (rev 93522)
@@ -80,22 +80,6 @@
     }
 });
 
-var Time = base.extends('time', {
-    init: function()
-    {
-        this.setDate(new Date());
-    },
-    date: function()
-    {
-        return this._date;
-    },
-    setDate: function(date)
-    {
-        this._date = date;
-        this.textContent = base.relativizeTime(date);
-    }
-});
-
 ui.notifications.FailingTest = base.extends('li', {
     init: function(failureAnalysis)
     {
@@ -135,7 +119,7 @@
 ui.notifications.Failure = base.extends(ui.notifications.Notification, {
     init: function()
     {
-        this._time = this.insertBefore(new Time(), this.firstChild);
+        this._time = this.insertBefore(new ui.RelativeTime(), this.firstChild);
         this._problem = this._what.appendChild(document.createElement('div'));
         this._problem.className = 'problem';
         this._effects = this._problem.appendChild(document.createElement('ul'));

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js (93521 => 93522)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js	2011-08-22 18:15:48 UTC (rev 93522)
@@ -94,7 +94,7 @@
     var testFailures = new ui.notifications.TestFailures();
     equal(testFailures.tagName, 'LI');
     equal(testFailures.innerHTML,
-        '<time>Just now</time>' +
+        '<time class="relative">Just now</time>' +
         '<div class="what">' +
             '<div class="problem">' +
                 '<ul class="effects"></ul>' +
@@ -106,7 +106,7 @@
         '</ul>');
     testFailures.addFailureAnalysis({testName: 'test'});
     equal(testFailures.innerHTML,
-        '<time>Just now</time>' +
+        '<time class="relative">Just now</time>' +
         '<div class="what">' +
             '<div class="problem">' +
                 '<ul class="effects">' +
@@ -122,7 +122,7 @@
     ok(!testFailures.containsFailureAnalysis({testName: 'foo'}));
     testFailures.addFailureAnalysis({testName: 'test'});
     equal(testFailures.innerHTML,
-        '<time>Just now</time>' +
+        '<time class="relative">Just now</time>' +
         '<div class="what">' +
             '<div class="problem">' +
                 '<ul class="effects">' +
@@ -138,7 +138,7 @@
     time.setMinutes(time.getMinutes() - 10);
     testFailures.addCommitData({revision: 1, time: time, title: "title", author: "author", reviewer: "reviewer"});
     equal(testFailures.innerHTML,
-        '<time>10 minutes ago</time>' +
+        '<time class="relative">10 minutes ago</time>' +
         '<div class="what">' +
             '<div class="problem">' +
                 '<ul class="effects">' +
@@ -165,7 +165,7 @@
     var builderFailing = new ui.notifications.BuildersFailing();
     builderFailing.setFailingBuilders(['WebKit Linux', 'Webkit Vista']);
     equal(builderFailing.innerHTML,
-        '<time>Just now</time>' +
+        '<time class="relative">Just now</time>' +
         '<div class="what">' +
             '<div class="problem">Build Failed:' +
                 '<ul class="effects">' +

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js (93521 => 93522)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2011-08-22 18:15:48 UTC (rev 93522)
@@ -177,4 +177,31 @@
     return block;
 };
 
+setInterval(function() {
+    Array.prototype.forEach.call(document.querySelectorAll("time.relative"), function(time) {
+        time.update && time.update();
+    });
+}, config.kRelativeTimeUpdateFrequency);
+
+ui.RelativeTime = base.extends('time', {
+    init: function()
+    {
+        this.setDate(new Date());
+        this.className = 'relative';
+    },
+    date: function()
+    {
+        return this._date;
+    },
+    update: function()
+    {
+        this.textContent = base.relativizeTime(this._date);
+    },
+    setDate: function(date)
+    {
+        this._date = date;
+        this.textContent = base.relativizeTime(date);
+    }
+});
+
 })();

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js (93521 => 93522)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-08-22 18:15:48 UTC (rev 93522)
@@ -162,4 +162,17 @@
     ]);
 });
 
+test("time", 6, function() {
+    var time = new ui.RelativeTime();
+    equal(time.tagName, 'TIME');
+    equal(time.className, 'relative');
+    deepEqual(Object.getOwnPropertyNames(time.__proto__), ['init', 'date', 'setDate', 'update']);
+    equal(time.outerHTML, '<time class="relative">Just now</time>');
+    var tenMinutesAgo = new Date();
+    tenMinutesAgo.setMinutes(tenMinutesAgo.getMinutes() - 10);
+    time.setDate(tenMinutesAgo);
+    equal(time.outerHTML, '<time class="relative">10 minutes ago</time>');
+    equal(time.date().getTime(), tenMinutesAgo.getTime());
+});
+
 })();

Modified: trunk/Tools/ChangeLog (93521 => 93522)


--- trunk/Tools/ChangeLog	2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/ChangeLog	2011-08-22 18:15:48 UTC (rev 93522)
@@ -1,3 +1,14 @@
+2011-08-22  Dimitri Glazkov  <dglaz...@chromium.org>
+
+        garden-o-matic's relative time display should be updated regularly.
+        https://bugs.webkit.org/show_bug.cgi?id=66682
+
+        Reviewed by Adam Barth.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: Moved Time to ui.Time, added code for regular updates.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: Changed to use ui.Time.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: Added tests.
+
 2011-08-22  Xianzhu Wang  <wangxian...@chromium.org>
 
         Pass --makeargs of build-webkit to chromium linux builder
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to