Properly create the header links in the code review tool
authorojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Dec 2012 22:47:59 +0000 (22:47 +0000)
committerojan@chromium.org <ojan@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Dec 2012 22:47:59 +0000 (22:47 +0000)
https://bugs.webkit.org/show_bug.cgi?id=104037

Reviewed by Adam Barth.

Right now, we just prepend "header" to the two existing links and change
the first link to point to the header. The problem is that jQuery's prepend
method just prepends to each item in the jQuery object instead of adding
the item to the beginning of the list as this code assumed.

* code-review-test.html:
* code-review.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/bugs.webkit.org/ChangeLog
Websites/bugs.webkit.org/code-review-test.html
Websites/bugs.webkit.org/code-review.js

index c17b79bf9d3100f70681ce825be9a4576db03b67..2c05f7e29ff4f2a2faaab64accdfe6ae2f8c8ca8 100644 (file)
@@ -1,3 +1,18 @@
+2012-12-04  Ojan Vafai  <ojan@chromium.org>
+
+        Properly create the header links in the code review tool
+        https://bugs.webkit.org/show_bug.cgi?id=104037
+
+        Reviewed by Adam Barth.
+
+        Right now, we just prepend "header" to the two existing links and change
+        the first link to point to the header. The problem is that jQuery's prepend
+        method just prepends to each item in the jQuery object instead of adding
+        the item to the beginning of the list as this code assumed.
+
+        * code-review-test.html:
+        * code-review.js:
+
 2012-12-04  Ojan Vafai  <ojan@chromium.org>
 
         Can't add followup comment to a previous comment
index 95feea203cc87824c3646f3a00a0532d5336fe64..185d43f0da283e6a9186c821630c2ce06f149cc9 100644 (file)
@@ -22,7 +22,7 @@ function inherits(childConstructor, parentConstructor) {
 }
 
 function log(msg) {
-    document.getElementById('output').innerHTML += msg + '\n\n';
+    document.getElementById('output').textContent += msg + '\n\n';
 }
 
 function ASSERT(msg, assertion) {
@@ -41,10 +41,32 @@ function ASSERT_EQUAL(actual, expected) {
 
 function testTracLinks() {
   var links = tracLinks('foo/bar/baz.cpp', '');
-  ASSERT_EQUAL($(links).attr('href'), 'http://trac.webkit.org/log/trunk/foo/bar/baz.h');
+  ASSERT_EQUAL($('<div>').append(links).html(),
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar/baz.h">header</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/browser/trunk/foo/bar/baz.cpp?annotate=blame">annotate</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar/baz.cpp">revision log</a>');
 
   var links = tracLinks('foo/bar.cpp/qux.mm', '');
-  ASSERT_EQUAL($(links).attr('href'), 'http://trac.webkit.org/log/trunk/foo/bar.cpp/qux.h');
+  ASSERT_EQUAL($('<div>').append(links).html(),
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar.cpp/qux.h">header</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/browser/trunk/foo/bar.cpp/qux.mm?annotate=blame">annotate</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar.cpp/qux.mm">revision log</a>
+');
+
+  var links = tracLinks('foo/bar.h', '');
+  ASSERT_EQUAL($('<div>').append(links).html(),
+    '<a target="_blank" href="http://trac.webkit.org/browser/trunk/foo/bar.h?annotate=blame">annotate</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar.h">revision log</a>');
+
+  var links = tracLinks('foo/bar.gypi', '');
+  ASSERT_EQUAL($('<div>').append(links).html(),
+    '<a target="_blank" href="http://trac.webkit.org/browser/trunk/foo/bar.gypi?annotate=blame">annotate</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/bar.gypi">revision log</a>');
+
+  var links = tracLinks('foo/ChangeLog', '');
+  ASSERT_EQUAL($('<div>').append(links).html(),
+    '<a target="_blank" href="http://trac.webkit.org/browser/trunk/foo/ChangeLog?annotate=blame">annotate</a>' +
+    '<a target="_blank" href="http://trac.webkit.org/log/trunk/foo/ChangeLog">revision log</a>');
 }
 
 function testDraftCommentSaver() {
index 32c7d13a32e25151ebd2ae2f247667c6c210ffae..09b1a63fcec15bcf3483ef02f52b4e2e408baa71 100644 (file)
@@ -638,9 +638,10 @@ var CODE_REVIEW_UNITTEST;
     for (var i = 0; i < implementation_suffix_list.length; ++i) {
       var suffix = implementation_suffix_list[i];
       if (file_name.lastIndexOf(suffix) == file_name.length - suffix.length) {
-        trac_links.prepend('<a target="_blank">header</a>');
+        var new_link = $('<a target="_blank">header</a>');
         var stem = file_name.substr(0, file_name.length - suffix.length);
-        trac_links[0].href= 'http://trac.webkit.org/log/trunk/' + stem + '.h';
+        new_link[0].href= 'http://trac.webkit.org/log/trunk/' + stem + '.h';
+        trac_links = $.merge(new_link, trac_links);
       }
     }
     return trac_links;