bugzilla.js is missing unit tests
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 4 Aug 2011 07:14:58 +0000 (07:14 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 4 Aug 2011 07:14:58 +0000 (07:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=65656

Reviewed by Adam Roben.

Testing makes perfect.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js:
(NetworkSimulator.prototype.runTest.get if):
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:

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

Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js [new file with mode: 0644]
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html
Tools/ChangeLog

diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js
new file mode 100644 (file)
index 0000000..84019f0
--- /dev/null
@@ -0,0 +1,233 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+(function () {
+
+module("bugzilla");
+
+var kExampleResponseXML =
+    '<?xml version="1.0" encoding="UTF-8"?>' +
+    '<feed xmlns="http://www.w3.org/2005/Atom">' +
+    '  <title>Bugzilla Bugs</title>' +
+    '  <link rel="alternate" type="text/html"' +
+    '        href="https://bugs.webkit.org/buglist.cgi?bug_status=REOPENED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=UNCONFIRMED&amp;field-1-0-0=bug_status&amp;field0-0-0=product&amp;field0-0-1=component&amp;field0-0-2=short_desc&amp;field0-0-3=status_whiteboard&amp;field0-0-4=longdesc&amp;query_format=advanced&amp;remaction=&amp;type-1-0-0=anyexact&amp;type0-0-0=substring&amp;type0-0-1=substring&amp;type0-0-2=substring&amp;type0-0-3=substring&amp;type0-0-4=substring&amp;value-1-0-0=REOPENED%2CNEW%2CASSIGNED%2CUNCONFIRMED&amp;value0-0-0=garden-o-matic&amp;value0-0-1=garden-o-matic&amp;value0-0-2=garden-o-matic&amp;value0-0-3=garden-o-matic&amp;value0-0-4=garden-o-matic"/>' +
+    '  <link rel="self" type="application/atom+xml"' +
+    '        href="https://bugs.webkit.org/buglist.cgi?bug_status=REOPENED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=UNCONFIRMED&amp;ctype=atom&amp;field-1-0-0=bug_status&amp;field0-0-0=product&amp;field0-0-1=component&amp;field0-0-2=short_desc&amp;field0-0-3=status_whiteboard&amp;field0-0-4=longdesc&amp;query_format=advanced&amp;remaction=&amp;type-1-0-0=anyexact&amp;type0-0-0=substring&amp;type0-0-1=substring&amp;type0-0-2=substring&amp;type0-0-3=substring&amp;type0-0-4=substring&amp;value-1-0-0=REOPENED%2CNEW%2CASSIGNED%2CUNCONFIRMED&amp;value0-0-0=garden-o-matic&amp;value0-0-1=garden-o-matic&amp;value0-0-2=garden-o-matic&amp;value0-0-3=garden-o-matic&amp;value0-0-4=garden-o-matic"/>' +
+    '  <updated>2011-08-04T00:22:49Z</updated>' +
+    '  <id>https://bugs.webkit.org/buglist.cgi?bug_status=REOPENED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=UNCONFIRMED&amp;ctype=atom&amp;field-1-0-0=bug_status&amp;field0-0-0=product&amp;field0-0-1=component&amp;field0-0-2=short_desc&amp;field0-0-3=status_whiteboard&amp;field0-0-4=longdesc&amp;query_format=advanced&amp;remaction=&amp;type-1-0-0=anyexact&amp;type0-0-0=substring&amp;type0-0-1=substring&amp;type0-0-2=substring&amp;type0-0-3=substring&amp;type0-0-4=substring&amp;value-1-0-0=REOPENED%2CNEW%2CASSIGNED%2CUNCONFIRMED&amp;value0-0-0=garden-o-matic&amp;value0-0-1=garden-o-matic&amp;value0-0-2=garden-o-matic&amp;value0-0-3=garden-o-matic&amp;value0-0-4=garden-o-matic</id>' +
+    '' +
+    '  <entry>' +
+    '    <title>[Bug 65654] Add missing license blocks to garden-o-matic</title>' +
+    '    <link rel="alternate" type="text/html"' +
+    '          href="https://bugs.webkit.org/show_bug.cgi?id=65654"/>' +
+    '    <id>https://bugs.webkit.org/show_bug.cgi?id=65654</id>' +
+    '    <author>' +
+    '      <name>Adam Barth</name>' +
+    '    </author>' +
+    '    <updated>2011-08-04T00:22:26Z</updated> ' +
+    '    <summary type="html">' +
+    '      ' +
+    '      &lt;table&gt;' +
+    '      &lt;tr&gt;' +
+    '        &lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_product&quot;&gt;' +
+    '        &lt;td&gt;Product&lt;/td&gt;' +
+    '        &lt;td&gt;WebKit&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_component&quot;&gt;' +
+    '        &lt;td&gt;Component&lt;/td&gt;' +
+    '        &lt;td&gt;New Bugs&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_assignee&quot;&gt;' +
+    '        &lt;td&gt;Assignee&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_reporter&quot;&gt;' +
+    '        &lt;td&gt;Reporter&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_bug_status&quot;&gt;' +
+    '        &lt;td&gt;Status&lt;/td&gt;' +
+    '        &lt;td&gt;NEW&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_resolution&quot;&gt;' +
+    '        &lt;td&gt;Resolution &lt;/td&gt;' +
+    '        &lt;td&gt;&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_priority&quot;&gt;' +
+    '        &lt;td&gt;Priority&lt;/td&gt;' +
+    '        &lt;td&gt;P2&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_severity&quot;&gt;' +
+    '        &lt;td&gt;Severity &lt;/td&gt;' +
+    '        &lt;td&gt;Normal&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_creation_date&quot;&gt;' +
+    '        &lt;td&gt;Opened&lt;/td&gt;' +
+    '        &lt;td&gt;16:21:52&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_changed_date&quot;&gt;' +
+    '        &lt;td&gt;Changed&lt;/td&gt;' +
+    '        &lt;td&gt;16:22:26&lt;/td&gt;' +
+    '      &lt;/tr&gt;' +
+    '      &lt;/table&gt;' +
+    '    </summary>' +
+    '  </entry>' +
+    '  <entry>' +
+    '    <title>[Bug 65653] garden-o-matic needs a way to mock out the network</title>' +
+    '    <link rel="alternate" type="text/html"' +
+    '          href="https://bugs.webkit.org/show_bug.cgi?id=65653"/>' +
+    '    <id>https://bugs.webkit.org/show_bug.cgi?id=65653</id>' +
+    '    <author>' +
+    '      <name>Adam Barth</name>' +
+    '    </author>' +
+    '    <updated>2011-08-04T00:22:49Z</updated> ' +
+    '    <summary type="html">' +
+    '      ' +
+    '      &lt;table&gt;' +
+    '      &lt;tr&gt;' +
+    '        &lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_product&quot;&gt;' +
+    '        &lt;td&gt;Product&lt;/td&gt;' +
+    '        &lt;td&gt;WebKit&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_component&quot;&gt;' +
+    '        &lt;td&gt;Component&lt;/td&gt;' +
+    '        &lt;td&gt;New Bugs&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_assignee&quot;&gt;' +
+    '        &lt;td&gt;Assignee&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_reporter&quot;&gt;' +
+    '        &lt;td&gt;Reporter&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_bug_status&quot;&gt;' +
+    '        &lt;td&gt;Status&lt;/td&gt;' +
+    '        &lt;td&gt;NEW&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_resolution&quot;&gt;' +
+    '        &lt;td&gt;Resolution &lt;/td&gt;' +
+    '        &lt;td&gt;&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_priority&quot;&gt;' +
+    '        &lt;td&gt;Priority&lt;/td&gt;' +
+    '        &lt;td&gt;P2&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_severity&quot;&gt;' +
+    '        &lt;td&gt;Severity &lt;/td&gt;' +
+    '        &lt;td&gt;Normal&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_creation_date&quot;&gt;' +
+    '        &lt;td&gt;Opened&lt;/td&gt;' +
+    '        &lt;td&gt;16:16:44&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_changed_date&quot;&gt;' +
+    '        &lt;td&gt;Changed&lt;/td&gt;' +
+    '        &lt;td&gt;16:22:49&lt;/td&gt;' +
+    '      &lt;/tr&gt;' +
+    '      &lt;/table&gt;' +
+    '    </summary>' +
+    '  </entry>' +
+    '  <entry>' +
+    '    <title>[Bug 65650] Use failureInfo more pervasively in garden-o-matic</title>' +
+    '    <link rel="alternate" type="text/html"' +
+    '          href="https://bugs.webkit.org/show_bug.cgi?id=65650"/>' +
+    '    <id>https://bugs.webkit.org/show_bug.cgi?id=65650</id>' +
+    '    <author>' +
+    '      <name>Adam Barth</name>' +
+    '    </author>' +
+    '    <updated>2011-08-03T23:40:34Z</updated> ' +
+    '    <summary type="html">' +
+    '      ' +
+    '      &lt;table&gt;' +
+    '      &lt;tr&gt;' +
+    '        &lt;th&gt;Field&lt;/th&gt;&lt;th&gt;Value&lt;/th&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_product&quot;&gt;' +
+    '        &lt;td&gt;Product&lt;/td&gt;' +
+    '        &lt;td&gt;WebKit&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_component&quot;&gt;' +
+    '        &lt;td&gt;Component&lt;/td&gt;' +
+    '        &lt;td&gt;New Bugs&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_assignee&quot;&gt;' +
+    '        &lt;td&gt;Assignee&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_reporter&quot;&gt;' +
+    '        &lt;td&gt;Reporter&lt;/td&gt;' +
+    '        &lt;td&gt;Adam Barth&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_bug_status&quot;&gt;' +
+    '        &lt;td&gt;Status&lt;/td&gt;' +
+    '        &lt;td&gt;NEW&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_resolution&quot;&gt;' +
+    '        &lt;td&gt;Resolution &lt;/td&gt;' +
+    '        &lt;td&gt;&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_priority&quot;&gt;' +
+    '        &lt;td&gt;Priority&lt;/td&gt;' +
+    '        &lt;td&gt;P2&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_severity&quot;&gt;' +
+    '        &lt;td&gt;Severity &lt;/td&gt;' +
+    '        &lt;td&gt;Normal&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_creation_date&quot;&gt;' +
+    '        &lt;td&gt;Opened&lt;/td&gt;' +
+    '        &lt;td&gt;15:35:55&lt;/td&gt;' +
+    '      &lt;/tr&gt;&lt;tr class=&quot;bz_feed_changed_date&quot;&gt;' +
+    '        &lt;td&gt;Changed&lt;/td&gt;' +
+    '        &lt;td&gt;15:40:34&lt;/td&gt;' +
+    '      &lt;/tr&gt;' +
+    '      &lt;/table&gt;' +
+    '    </summary>' +
+    '  </entry>' +
+    '</feed>'
+
+test("quickSearch", 3, function() {
+    var simulator = new NetworkSimulator();
+
+    var requestedURLs = [];
+    simulator.get = function(url, callback)
+    {
+        requestedURLs.push(url);
+        simulator.scheduleCallback(function() {
+            var parser = new DOMParser();
+            var responseDOM = parser.parseFromString(kExampleResponseXML, "application/xml");
+            callback(responseDOM);
+        });
+    };
+
+    simulator.runTest(function() {
+        bugzilla.quickSearch('garden-o-matic', function(bugs) {
+            deepEqual(bugs, [{
+                "title": "[Bug 65654] Add missing license blocks to garden-o-matic",
+                "url": "https://bugs.webkit.org/show_bug.cgi?id=65654",
+                "status": "NEW"
+            }, {
+                "title": "[Bug 65653] garden-o-matic needs a way to mock out the network",
+                "url": "https://bugs.webkit.org/show_bug.cgi?id=65653",
+                "status": "NEW"
+            }, {
+                "title": "[Bug 65650] Use failureInfo more pervasively in garden-o-matic",
+                "url": "https://bugs.webkit.org/show_bug.cgi?id=65650",
+                "status": "NEW"
+            }]);
+        });
+    });
+
+    deepEqual(requestedURLs, [
+        "https://bugs.webkit.org/buglist.cgi?ctype=rss&order=bugs.bug_id+desc&quicksearch=garden-o-matic",
+    ]);
+});
+
+test("isOpenStatus", 6, function() {
+    ok(bugzilla.isOpenStatus('UNCONFIRMED'));
+    ok(bugzilla.isOpenStatus('NEW'));
+    ok(bugzilla.isOpenStatus('ASSIGNED'));
+    ok(bugzilla.isOpenStatus('REOPENED'));
+    ok(!bugzilla.isOpenStatus('FIXED'));
+    ok(!bugzilla.isOpenStatus('VERIFIED'));
+});
+
+})();
index 6f1ea2e..8fcc9cb 100644 (file)
@@ -44,6 +44,12 @@ NetworkSimulator.prototype.runTest = function(testCase)
         net.probe = self.probe;
     if (self.jsonp)
         net.jsonp = self.jsonp;
+    if (self.get)
+        net.get = self.get;
+    if (self.post)
+        net.post = self.post;
+    if (self.ajax)
+        net.ajax = self.ajax;
 
     testCase();
 
index bfbee6e..6ad4025 100644 (file)
@@ -43,6 +43,8 @@ THE POSSIBILITY OF SUCH DAMAGE.
 <script src="net_unittests.js"></script>
 <script src="Trac.js"></script>
 <script src="trac_unittests.js"></script>
+<script src="Bugzilla.js"></script>
+<script src="bugzilla_unittests.js"></script>
 <script src="checkout.js"></script>
 <script src="checkout_unittests.js"></script>
 <script src="results.js"></script>
index bb88e10..c31b544 100644 (file)
@@ -1,5 +1,19 @@
 2011-08-04  Adam Barth  <abarth@webkit.org>
 
+        bugzilla.js is missing unit tests
+        https://bugs.webkit.org/show_bug.cgi?id=65656
+
+        Reviewed by Adam Roben.
+
+        Testing makes perfect.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/bugzilla_unittests.js: Added.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/net_unittests.js:
+        (NetworkSimulator.prototype.runTest.get if):
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
+
+2011-08-04  Adam Barth  <abarth@webkit.org>
+
         Add missing license blocks to garden-o-matic
         https://bugs.webkit.org/show_bug.cgi?id=65654