Changeset 93522 in webkit


Ignore:
Timestamp:
Aug 22, 2011 11:15:48 AM (13 years ago)
Author:
Dimitri Glazkov
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.
Location:
trunk/Tools
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js

    r93259 r93522  
    6868var kTenMinutesInMilliseconds = 10 * 60 * 1000;
    6969config.kUpdateFrequency = kTenMinutesInMilliseconds;
     70config.kRelativeTimeUpdateFrequency = 1000;
     71
     72
    7073
    7174})();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js

    r93259 r93522  
    178178};
    179179
     180setInterval(function() {
     181    Array.prototype.forEach.call(document.querySelectorAll("time.relative"), function(time) {
     182        time.update && time.update();
     183    });
     184}, config.kRelativeTimeUpdateFrequency);
     185
     186ui.RelativeTime = base.extends('time', {
     187    init: function()
     188    {
     189        this.setDate(new Date());
     190        this.className = 'relative';
     191    },
     192    date: function()
     193    {
     194        return this._date;
     195    },
     196    update: function()
     197    {
     198        this.textContent = base.relativizeTime(this._date);
     199    },
     200    setDate: function(date)
     201    {
     202        this._date = date;
     203        this.textContent = base.relativizeTime(date);
     204    }
     205});
     206
    180207})();
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js

    r93483 r93522  
    8181});
    8282
    83 var Time = base.extends('time', {
    84     init: function()
    85     {
    86         this.setDate(new Date());
    87     },
    88     date: function()
    89     {
    90         return this._date;
    91     },
    92     setDate: function(date)
    93     {
    94         this._date = date;
    95         this.textContent = base.relativizeTime(date);
    96     }
    97 });
    98 
    9983ui.notifications.FailingTest = base.extends('li', {
    10084    init: function(failureAnalysis)
     
    136120    init: function()
    137121    {
    138         this._time = this.insertBefore(new Time(), this.firstChild);
     122        this._time = this.insertBefore(new ui.RelativeTime(), this.firstChild);
    139123        this._problem = this._what.appendChild(document.createElement('div'));
    140124        this._problem.className = 'problem';
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js

    r93483 r93522  
    9595    equal(testFailures.tagName, 'LI');
    9696    equal(testFailures.innerHTML,
    97         '<time>Just now</time>' +
     97        '<time class="relative">Just now</time>' +
    9898        '<div class="what">' +
    9999            '<div class="problem">' +
     
    107107    testFailures.addFailureAnalysis({testName: 'test'});
    108108    equal(testFailures.innerHTML,
    109         '<time>Just now</time>' +
     109        '<time class="relative">Just now</time>' +
    110110        '<div class="what">' +
    111111            '<div class="problem">' +
     
    123123    testFailures.addFailureAnalysis({testName: 'test'});
    124124    equal(testFailures.innerHTML,
    125         '<time>Just now</time>' +
     125        '<time class="relative">Just now</time>' +
    126126        '<div class="what">' +
    127127            '<div class="problem">' +
     
    139139    testFailures.addCommitData({revision: 1, time: time, title: "title", author: "author", reviewer: "reviewer"});
    140140    equal(testFailures.innerHTML,
    141         '<time>10 minutes ago</time>' +
     141        '<time class="relative">10 minutes ago</time>' +
    142142        '<div class="what">' +
    143143            '<div class="problem">' +
     
    166166    builderFailing.setFailingBuilders(['WebKit Linux', 'Webkit Vista']);
    167167    equal(builderFailing.innerHTML,
    168         '<time>Just now</time>' +
     168        '<time class="relative">Just now</time>' +
    169169        '<div class="what">' +
    170170            '<div class="problem">Build Failed:' +
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js

    r93259 r93522  
    163163});
    164164
     165test("time", 6, function() {
     166    var time = new ui.RelativeTime();
     167    equal(time.tagName, 'TIME');
     168    equal(time.className, 'relative');
     169    deepEqual(Object.getOwnPropertyNames(time.__proto__), ['init', 'date', 'setDate', 'update']);
     170    equal(time.outerHTML, '<time class="relative">Just now</time>');
     171    var tenMinutesAgo = new Date();
     172    tenMinutesAgo.setMinutes(tenMinutesAgo.getMinutes() - 10);
     173    time.setDate(tenMinutesAgo);
     174    equal(time.outerHTML, '<time class="relative">10 minutes ago</time>');
     175    equal(time.date().getTime(), tenMinutesAgo.getTime());
     176});
     177
    165178})();
  • trunk/Tools/ChangeLog

    r93515 r93522  
     12011-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
     2
     3        garden-o-matic's relative time display should be updated regularly.
     4        https://bugs.webkit.org/show_bug.cgi?id=66682
     5
     6        Reviewed by Adam Barth.
     7
     8        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: Moved Time to ui.Time, added code for regular updates.
     9        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: Changed to use ui.Time.
     10        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: Added tests.
     11
    1122011-08-22  Xianzhu Wang  <wangxianzhu@chromium.org>
    213
Note: See TracChangeset for help on using the changeset viewer.