Title: [200900] trunk/Websites/perf.webkit.org
Revision
200900
Author
[email protected]
Date
2016-05-13 17:01:21 -0700 (Fri, 13 May 2016)

Log Message

v3 UI shows full git hash instead of the first 8 characters for a blame range
https://bugs.webkit.org/show_bug.cgi?id=157691

Reviewed by Stephanie Lewis.

Fixed the bug that v3 UI shows the full 40 character git hash instead of the first 8 character as done in v2 UI.

* public/v3/models/commit-log.js:
(CommitLog.prototype.diff): Fixed the bug.
* tools/run-tests.py:
(main): Add the support for running a subset of tests as mocha does.
* unit-tests/commit-log-tests.js: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (200899 => 200900)


--- trunk/Websites/perf.webkit.org/ChangeLog	2016-05-13 23:53:51 UTC (rev 200899)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2016-05-14 00:01:21 UTC (rev 200900)
@@ -1,5 +1,20 @@
 2016-05-13  Ryosuke Niwa  <[email protected]>
 
+        v3 UI shows full git hash instead of the first 8 characters for a blame range
+        https://bugs.webkit.org/show_bug.cgi?id=157691
+
+        Reviewed by Stephanie Lewis.
+
+        Fixed the bug that v3 UI shows the full 40 character git hash instead of the first 8 character as done in v2 UI.
+
+        * public/v3/models/commit-log.js:
+        (CommitLog.prototype.diff): Fixed the bug.
+        * tools/run-tests.py:
+        (main): Add the support for running a subset of tests as mocha does.
+        * unit-tests/commit-log-tests.js: Added.
+
+2016-05-13  Ryosuke Niwa  <[email protected]>
+
         Unreviewed. Added the missing executable bits.
 
         * tools/bundle-v3-scripts.py: Added property svn:executable.

Modified: trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js (200899 => 200900)


--- trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js	2016-05-13 23:53:51 UTC (rev 200899)
+++ trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js	2016-05-14 00:01:21 UTC (rev 200900)
@@ -60,7 +60,7 @@
             from = parseInt(from) + 1;
             label = `r${from}-r${this.revision()}`;
         } else if (to.length == 40) { // e.g. git hash
-            label = `${from}..${to}`;
+            label = `${from.substring(0, 8)}..${to.substring(0, 8)}`;
         } else
             label = `${from} - ${to}`;
 

Modified: trunk/Websites/perf.webkit.org/tools/run-tests.py (200899 => 200900)


--- trunk/Websites/perf.webkit.org/tools/run-tests.py	2016-05-13 23:53:51 UTC (rev 200899)
+++ trunk/Websites/perf.webkit.org/tools/run-tests.py	2016-05-14 00:01:21 UTC (rev 200900)
@@ -2,6 +2,7 @@
 
 import os
 import subprocess
+import sys
 
 
 def main():
@@ -17,7 +18,8 @@
             subprocess.call(['npm', 'install', package_name])
 
     mocha_path = os.path.join(node_modules_dir, 'mocha/bin/mocha')
-    return subprocess.call([mocha_path, 'unit-tests', 'server-tests'])
+    test_paths = sys.argv[1:] or ['unit-tests', 'server-tests']
+    return subprocess.call([mocha_path] + test_paths)
 
 if __name__ == "__main__":
     main()

Added: trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js (0 => 200900)


--- trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js	                        (rev 0)
+++ trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js	2016-05-14 00:01:21 UTC (rev 200900)
@@ -0,0 +1,150 @@
+'use strict';
+
+const assert = require('assert');
+
+require('../tools/js/v3-models.js');
+const MockModels = require('./resources/mock-v3-models.js').MockModels;
+
+function webkitCommit()
+{
+    return new CommitLog(1, {
+        repository: MockModels.webkit,
+        revision: '200805',
+        time: +(new Date('2016-05-13T00:55:57.841344Z')),
+    });
+}
+
+function oldWebKitCommit()
+{
+    return new CommitLog(2, {
+        repository: MockModels.webkit,
+        revision: '200574',
+        time: +(new Date('2016-05-09T14:59:23.553767Z')),
+    });
+}
+
+function gitWebKitCommit()
+{
+    return new CommitLog(3, {
+        repository: MockModels.webkit,
+        revision: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+        time: +(new Date('2016-05-13T00:55:57.841344Z')),
+    });
+}
+
+function oldGitWebKitCommit()
+{
+    return new CommitLog(4, {
+        repository: MockModels.webkit,
+        revision: 'ffda14e6db0746d10d0f050907e4a7325851e502',
+        time: +(new Date('2016-05-09T14:59:23.553767Z')),
+    });
+}
+
+function osxCommit()
+{
+    return new CommitLog(5, {
+        repository: MockModels.osx,
+        revision: '10.11.4 15E65',
+        time: null,
+    });
+}
+
+function oldOSXCommit()
+{
+    return new CommitLog(6, {
+        repository: MockModels.osx,
+        revision: '10.11.3 15D21',
+        time: null,
+    });
+}
+
+describe('CommitLog', function () {
+    MockModels.inject();
+
+    describe('label', function () {
+        it('should prefix SVN revision with "r"', function () {
+            assert.equal(webkitCommit().label(), 'r200805');
+        });
+
+        it('should truncate a Git hash at 8th character', function () {
+            assert.equal(gitWebKitCommit().label(), '6f8b0dbb');
+        });
+
+        it('should not modify OS X version', function () {
+            assert.equal(osxCommit().label(), '10.11.4 15E65');
+        });
+    });
+
+    describe('title', function () {
+        it('should prefix SVN revision with "r"', function () {
+            assert.equal(webkitCommit().title(), 'WebKit at r200805');
+        });
+
+        it('should truncate a Git hash at 8th character', function () {
+            assert.equal(gitWebKitCommit().title(), 'WebKit at 6f8b0dbb');
+        });
+
+        it('should not modify OS X version', function () {
+            assert.equal(osxCommit().title(), 'OS X at 10.11.4 15E65');
+        });
+    });
+
+    describe('diff', function () {
+        it('should use label() as the label the previous commit is missing', function () {
+            assert.deepEqual(webkitCommit().diff(), {
+                from: null,
+                to: '200805',
+                label: 'r200805',
+                url: 'http://trac.webkit.org/changeset/200805',
+                repository: MockModels.webkit
+            });
+
+            assert.deepEqual(gitWebKitCommit().diff(), {
+                from: null,
+                to: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+                label: '6f8b0dbb',
+                url: 'http://trac.webkit.org/changeset/6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+                repository: MockModels.webkit,
+            });
+
+            assert.deepEqual(osxCommit().diff(), {
+                from: null,
+                to: '10.11.4 15E65',
+                label: '10.11.4 15E65',
+                url: '',
+                repository: MockModels.osx,
+            });
+        });
+
+        it('should use increment the old SVN revision by 1', function () {
+            assert.deepEqual(webkitCommit().diff(oldWebKitCommit()), {
+                from: '200575',
+                to: '200805',
+                label: 'r200575-r200805',
+                url: '',
+                repository: MockModels.webkit
+            });
+        });
+
+        it('should truncate a Git hash at 8th character', function () {
+            assert.deepEqual(gitWebKitCommit().diff(oldGitWebKitCommit()), {
+                from: 'ffda14e6db0746d10d0f050907e4a7325851e502',
+                to: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+                label: 'ffda14e6..6f8b0dbb',
+                url: '',
+                repository: MockModels.webkit
+            });
+        });
+
+        it('should surround "-" with spaces', function () {
+            assert.deepEqual(osxCommit().diff(oldOSXCommit()), {
+                from: '10.11.3 15D21',
+                to: '10.11.4 15E65',
+                label: '10.11.3 15D21 - 10.11.4 15E65',
+                url: '',
+                repository: MockModels.osx
+            });
+        });
+    });
+});
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to