PageRenderTime 227ms CodeModel.GetById 24ms RepoModel.GetById 6ms app.codeStats 0ms

/src/qt/qtwebkit/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/trac_unittests.js

https://gitlab.com/x33n/phantomjs
JavaScript | 345 lines | 308 code | 11 blank | 26 comment | 4 complexity | 473889d30d02abdcedaebefbd0835355 MD5 | raw file
  1. /*
  2. * Copyright (C) 2011 Google Inc. All rights reserved.
  3. *
  4. * Redistribution and use in source and binary forms, with or without
  5. * modification, are permitted provided that the following conditions
  6. * are met:
  7. * 1. Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * 2. Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. *
  13. * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
  14. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  15. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  16. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
  17. * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  18. * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  19. * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  20. * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  21. * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  22. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  23. * THE POSSIBILITY OF SUCH DAMAGE.
  24. */
  25. (function () {
  26. module("trac");
  27. var kExampleCommitDataXML =
  28. '<?xml version="1.0"?>\n\n' +
  29. '<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">\n\n' +
  30. ' \n\n' +
  31. '\n\n' +
  32. ' <channel>\n\n' +
  33. ' <title>Revisions of /trunk</title>\n\n' +
  34. ' <link>http://trac.webkit.org/log/trunk?rev=92362</link>\n\n' +
  35. ' <description>Trac Log - Revisions of /trunk</description>\n\n' +
  36. ' <language>en-US</language>\n\n' +
  37. ' <generator>Trac 0.11.7</generator>\n\n' +
  38. ' <image>\n\n' +
  39. ' <title>WebKit</title>\n\n' +
  40. ' <url>http://trac.webkit.org/chrome/site/icon.png</url>\n\n' +
  41. ' <link>http://trac.webkit.org/log/trunk?rev=92362</link>\n\n' +
  42. ' </image>\n\n' +
  43. ' <item>\n\n' +
  44. ' <author>macpherson@chromium.org</author>\n\n' +
  45. ' <pubDate>Thu, 04 Aug 2011 02:09:19 GMT</pubDate>\n\n' +
  46. ' <title>Revision 92342: Support cast between CSSPrimitiveValue and EBoxSizing, use in ...</title>\n\n' +
  47. ' <link>http://trac.webkit.org/changeset/92342/trunk</link>\n\n' +
  48. ' <guid isPermaLink="false">http://trac.webkit.org/changeset/92342/trunk</guid>\n\n' +
  49. ' <description>&lt;p&gt;\n\n' +
  50. 'Support cast between CSSPrimitiveValue and EBoxSizing, use in CSSStyleSelector.\n\n' +
  51. '&lt;a class="ext-link" href="https://bugs.webkit.org/show_bug.cgi?id=65657"&gt;&lt;span class="icon"&gt; &lt;/span&gt;https://bugs.webkit.org/show_bug.cgi?id=65657&lt;/a&gt;\n\n' +
  52. '&lt;/p&gt;\n\n' +
  53. '&lt;p&gt;\n\n' +
  54. 'Reviewed by Simon Fraser.\n\n' +
  55. '&lt;/p&gt;\n\n' +
  56. '&lt;p&gt;\n\n' +
  57. 'No new tests / refactoring only.\n\n' +
  58. '&lt;/p&gt;\n\n' +
  59. '&lt;p&gt;\n\n' +
  60. '* css/CSSPrimitiveValueMappings.h:\n\n' +
  61. '(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):\n\n' +
  62. 'Implement cast from EBoxSizing.\n' +
  63. '(WebCore::CSSPrimitiveValue::operator EBoxSizing):\n' +
  64. 'Implement cast to EBoxSizing.\n' +
  65. '* css/CSSStyleSelector.cpp:\n' +
  66. '(WebCore::CSSStyleSelector::applyProperty):\n' +
  67. 'Use appropriate macro to simplify code using cast.\n' +
  68. '&lt;/p&gt;\n' +
  69. '</description>\n' +
  70. ' <category>Log</category>\n' +
  71. ' </item><item>\n' +
  72. ' <author>commit-queue@webkit.org</author>\n' +
  73. ' <pubDate>Thu, 04 Aug 2011 02:01:31 GMT</pubDate>\n' +
  74. ' <title>Revision 92341: Implement EventSender.scalePageBy() ...</title>\n' +
  75. ' <link>http://trac.webkit.org/changeset/92341/trunk</link>\n' +
  76. ' <guid isPermaLink="false">http://trac.webkit.org/changeset/92341/trunk</guid>\n' +
  77. ' <description>&lt;p&gt;\n' +
  78. 'Implement EventSender.scalePageBy()\n' +
  79. '&lt;a class="ext-link" href="https://bugs.webkit.org/show_bug.cgi?id=58013"&gt;&lt;span class="icon"&gt; &lt;/span&gt;https://bugs.webkit.org/show_bug.cgi?id=58013&lt;/a&gt;\n' +
  80. '&lt;/p&gt;\n' +
  81. '&lt;p&gt;\n' +
  82. 'Patch by Kentaro Hara &amp;lt;&lt;a class="mail-link" href="mailto:haraken@google.com"&gt;&lt;span class="icon"&gt; &lt;/span&gt;haraken@google.com&lt;/a&gt;&amp;gt; on 2011-08-03\n' +
  83. 'Reviewed by Darin Fisher.\n' +
  84. '&lt;/p&gt;\n' +
  85. '&lt;p&gt;\n' +
  86. 'Implemented EventSender.scalePageBy(f, x, y), which scales a page by a factor of f\n' +
  87. 'and then sets a scroll position to (x, y). Enabled the tests that had been waiting\n' +
  88. 'for the implementation of EventSender.scalePageBy(f, x, y).\n' +
  89. '&lt;/p&gt;\n' +
  90. '&lt;p&gt;\n' +
  91. 'Source/WebKit/chromium:\n' +
  92. '&lt;/p&gt;\n' +
  93. '&lt;p&gt;\n' +
  94. 'Tests: compositing/scaling/tiled-layer-recursion.html\n' +
  95. '&lt;/p&gt;\n' +
  96. '&lt;blockquote&gt;\n' +
  97. '&lt;p&gt;\n' +
  98. 'fast/repaint/scale-page-shrink.html\n' +
  99. 'fast/dom/Element/scale-page-client-rects.html\n' +
  100. 'fast/dom/Range/scale-page-client-rects.html\n' +
  101. 'fast/events/scroll-in-scaled-page-with-overflow-hidden.html\n' +
  102. 'fast/dom/Element/scale-page-bounding-client-rect.html\n' +
  103. 'fast/dom/Range/scale-page-bounding-client-rect.html\n' +
  104. '&lt;/p&gt;\n' +
  105. '&lt;/blockquote&gt;\n' +
  106. '&lt;p&gt;\n' +
  107. '* public/WebView.h:\n' +
  108. '* src/WebViewImpl.cpp:\n' +
  109. '(WebKit::WebViewImpl::scalePage): A wrapper method for scalePage() in WebCore.\n' +
  110. '* src/WebViewImpl.h:\n' +
  111. '&lt;/p&gt;\n' +
  112. '&lt;p&gt;\n' +
  113. 'Tools:\n' +
  114. '&lt;/p&gt;\n' +
  115. '&lt;p&gt;\n' +
  116. 'Tests: compositing/scaling/tiled-layer-recursion.html\n' +
  117. '&lt;/p&gt;\n' +
  118. '&lt;blockquote&gt;\n' +
  119. '&lt;p&gt;\n' +
  120. 'fast/repaint/scale-page-shrink.html\n' +
  121. 'fast/dom/Element/scale-page-client-rects.html\n' +
  122. 'fast/dom/Range/scale-page-client-rects.html\n' +
  123. 'fast/events/scroll-in-scaled-page-with-overflow-hidden.html\n' +
  124. 'fast/dom/Element/scale-page-bounding-client-rect.html\n' +
  125. 'fast/dom/Range/scale-page-bounding-client-rect.html\n' +
  126. '&lt;/p&gt;\n' +
  127. '&lt;/blockquote&gt;\n' +
  128. '&lt;p&gt;\n' +
  129. '* DumpRenderTree/chromium/EventSender.cpp:\n' +
  130. '(EventSender::EventSender): Added bindings for scalePageBy().\n' +
  131. '(EventSender::scalePageBy): A wrapper method for scalePage() in WebView.\n' +
  132. '* DumpRenderTree/chromium/EventSender.h:\n' +
  133. '* DumpRenderTree/chromium/TestShell.cpp:\n' +
  134. '(TestShell::resetTestController): Resets the scale factor to 1.\n' +
  135. '&lt;/p&gt;\n' +
  136. '&lt;p&gt;\n' +
  137. 'LayoutTests:\n' +
  138. '&lt;/p&gt;\n' +
  139. '&lt;p&gt;\n' +
  140. '* platform/chromium-linux/compositing/scaling/tiled-layer-recursion-expected.png: Added.\n' +
  141. '* platform/chromium-linux/fast/repaint/scale-page-shrink-expected.png: Added.\n' +
  142. '* platform/chromium-linux/fast/repaint/scale-page-shrink-expected.txt: Added.\n' +
  143. '* platform/chromium-mac/fast/dom/Element/scale-page-bounding-client-rect-expected.txt: Removed.\n' +
  144. '* platform/chromium-mac/fast/dom/Range/scale-page-bounding-client-rect-expected.txt: Removed.\n' +
  145. '* platform/chromium-win/fast/dom/Element/scale-page-bounding-client-rect-expected.txt: Removed.\n' +
  146. '* platform/chromium-win/fast/dom/Element/scale-page-client-rects-expected.txt: Removed.\n' +
  147. '* platform/chromium-win/fast/dom/Range/scale-page-bounding-client-rect-expected.txt: Removed.\n' +
  148. '* platform/chromium-win/fast/dom/Range/scale-page-client-rects-expected.txt: Removed.\n' +
  149. '* platform/chromium/test_expectations.txt: Enabled one test. Enabled two tests for chromium-linux.\n' +
  150. '&lt;/p&gt;\n' +
  151. '</description>\n' +
  152. ' <category>Log</category>\n' +
  153. ' </item><item>\n' +
  154. ' <author>rniwa@webkit.org</author>\n' +
  155. ' <pubDate>Thu, 04 Aug 2011 01:41:29 GMT</pubDate>\n' +
  156. ' <title>Revision 92338: Revert an erroneous rebaseline from r92315.\n' +
  157. '* ...</title>\n' +
  158. ' <link>http://trac.webkit.org/changeset/92338/trunk</link>\n' +
  159. ' <guid isPermaLink="false">http://trac.webkit.org/changeset/92338/trunk</guid>\n' +
  160. ' <description>&lt;p&gt;\n' +
  161. 'Revert an erroneous rebaseline from &lt;a class="changeset" href="http://trac.webkit.org/changeset/92315" title="Remove LegacyDefaultOptionalArguments flag from navigator IDL files ..."&gt;r92315&lt;/a&gt;.\n' +
  162. '&lt;/p&gt;\n' +
  163. '&lt;p&gt;\n' +
  164. '* fast/dom/navigator-detached-no-crash-expected.txt:\n' +
  165. '&lt;/p&gt;\n' +
  166. '</description>\n' +
  167. ' <category>Log</category>\n' +
  168. ' </item><item>\n' +
  169. ' <author>noam.rosenthal@nokia.com</author>\n' +
  170. ' <pubDate>Thu, 04 Aug 2011 00:22:21 GMT</pubDate>\n' +
  171. ' <title>Revision 92337: [Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html ...</title>\n' +
  172. ' <link>http://trac.webkit.org/changeset/92337/trunk</link>\n' +
  173. ' <guid isPermaLink="false">http://trac.webkit.org/changeset/92337/trunk</guid>\n' +
  174. ' <description>&lt;p&gt;\n' +
  175. '[Qt][Texmap][REGRESSION] &lt;a class="ext-link" href="http://webkit.org/blog-files/transform-style.html"&gt;&lt;span class="icon"&gt; &lt;/span&gt;http://webkit.org/blog-files/transform-style.html&lt;/a&gt; doesn\'t show composited content\n' +
  176. '&lt;a class="ext-link" href="https://bugs.webkit.org/show_bug.cgi?id=65629"&gt;&lt;span class="icon"&gt; &lt;/span&gt;https://bugs.webkit.org/show_bug.cgi?id=65629&lt;/a&gt;\n' +
  177. '&lt;/p&gt;\n' +
  178. '&lt;p&gt;\n' +
  179. 'Reviewed by Benjamin Poulain.\n' +
  180. '&lt;/p&gt;\n' +
  181. '&lt;p&gt;\n' +
  182. 'Some non-ES2 initialization was wrongfully #ifdefed in CPU(X86) and thus compiled-out.\n' +
  183. 'When put it in the correct #ifdef, composited layers which require an intermediate buffer\n' +
  184. 'work again.\n' +
  185. '&lt;/p&gt;\n' +
  186. '&lt;p&gt;\n' +
  187. 'No new tests. Existing opacity tests in LayoutTests/compositing test this.\n' +
  188. '&lt;/p&gt;\n' +
  189. '&lt;p&gt;\n' +
  190. '* platform/graphics/opengl/TextureMapperGL.cpp:\n' +
  191. '(WebCore::BitmapTextureGL::bind):\n' +
  192. '&lt;/p&gt;\n' +
  193. '</description>\n' +
  194. ' <category>Log</category>\n' +
  195. ' </item><item>\n' +
  196. ' <author>commit-queue@webkit.org</author>\n' +
  197. ' <pubDate>Wed, 03 Aug 2011 04:26:52 GMT</pubDate>\n' +
  198. ' <title>Revision 92259: Unreviewed, rolling out r92256.\n' +
  199. 'http://trac.webkit.org/changeset/92256 ...</title>\n' +
  200. ' <link>http://trac.webkit.org/changeset/92259/trunk</link>\n' +
  201. ' <guid isPermaLink="false">http://trac.webkit.org/changeset/92259/trunk</guid>\n' +
  202. ' <description>&lt;p&gt;\n' +
  203. 'Unreviewed, rolling out &lt;a class="changeset" href="http://trac.webkit.org/changeset/92256" title="Make EventDispatchMediator RefCounted. ..."&gt;r92256&lt;/a&gt;.\n' +
  204. '&lt;a class="ext-link" href="http://trac.webkit.org/changeset/92256"&gt;&lt;span class="icon"&gt; &lt;/span&gt;http://trac.webkit.org/changeset/92256&lt;/a&gt;\n' +
  205. '&lt;a class="ext-link" href="https://bugs.webkit.org/show_bug.cgi?id=65593"&gt;&lt;span class="icon"&gt; &lt;/span&gt;https://bugs.webkit.org/show_bug.cgi?id=65593&lt;/a&gt;\n' +
  206. '&lt;/p&gt;\n' +
  207. '&lt;p&gt;\n' +
  208. 'Causing tons of crashes on the chromium win bots (Requested by\n' +
  209. 'jamesr on #webkit).\n' +
  210. '&lt;/p&gt;\n' +
  211. '&lt;p&gt;\n' +
  212. 'Patch by Sheriff Bot &amp;lt;&lt;a class="mail-link" href="mailto:webkit.review.bot@gmail.com"&gt;&lt;span class="icon"&gt; &lt;/span&gt;webkit.review.bot@gmail.com&lt;/a&gt;&amp;gt; on 2011-08-02\n' +
  213. '&lt;/p&gt;\n' +
  214. '&lt;p&gt;\n' +
  215. '* dom/Event.cpp:\n' +
  216. '* dom/Event.h:\n' +
  217. '* dom/EventDispatcher.cpp:\n' +
  218. '(WebCore::EventDispatcher::dispatchEvent):\n' +
  219. '* dom/EventDispatcher.h:\n' +
  220. '* dom/KeyboardEvent.cpp:\n' +
  221. '* dom/KeyboardEvent.h:\n' +
  222. '* dom/MouseEvent.cpp:\n' +
  223. '* dom/MouseEvent.h:\n' +
  224. '* dom/Node.cpp:\n' +
  225. '(WebCore::Node::dispatchEvent):\n' +
  226. '(WebCore::Node::dispatchKeyEvent):\n' +
  227. '(WebCore::Node::dispatchMouseEvent):\n' +
  228. '(WebCore::Node::dispatchWheelEvent):\n' +
  229. '* dom/WheelEvent.cpp:\n' +
  230. '* dom/WheelEvent.h:\n' +
  231. '&lt;/p&gt;\n' +
  232. '</description>\n' +
  233. ' <category>Log</category>\n' +
  234. ' </item>\n' +
  235. ' </channel>\n' +
  236. '</rss>\n'
  237. var kExampleCommitDataList = [{
  238. "revision": 92342,
  239. "title": "Revision 92342: Support cast between CSSPrimitiveValue and EBoxSizing, use in ...",
  240. "time": "Thu, 04 Aug 2011 02:09:19 GMT",
  241. "summary": "Support cast between CSSPrimitiveValue and EBoxSizing, use in CSSStyleSelector.",
  242. "author": "macpherson@chromium.org",
  243. "reviewer": "Simon Fraser",
  244. "bugID": 65657,
  245. "revertedRevision": undefined
  246. }, {
  247. "revision": 92341,
  248. "title": "Revision 92341: Implement EventSender.scalePageBy() ...",
  249. "time": "Thu, 04 Aug 2011 02:01:31 GMT",
  250. "summary": "Implement EventSender.scalePageBy()",
  251. "author": "Kentaro Hara",
  252. "reviewer": "Darin Fisher",
  253. "bugID": 58013,
  254. "revertedRevision": undefined
  255. }, {
  256. "revision": 92338,
  257. "title": "Revision 92338: Revert an erroneous rebaseline from r92315.\n* ...",
  258. "time": "Thu, 04 Aug 2011 01:41:29 GMT",
  259. "summary": "Revert an erroneous rebaseline from r92315.",
  260. "author": "rniwa@webkit.org",
  261. "reviewer": null,
  262. "bugID": NaN,
  263. "revertedRevision": undefined
  264. }, {
  265. "revision": 92337,
  266. "title": "Revision 92337: [Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html ...",
  267. "time": "Thu, 04 Aug 2011 00:22:21 GMT",
  268. "summary": "[Qt][Texmap][REGRESSION] http://webkit.org/blog-files/transform-style.html doesn't show composited content",
  269. "author": "noam.rosenthal@nokia.com",
  270. "reviewer": "Benjamin Poulain",
  271. "bugID": 65629,
  272. "revertedRevision": undefined
  273. }, {
  274. "revision": 92259,
  275. "title": "Revision 92259: Unreviewed, rolling out r92256.\nhttp://trac.webkit.org/changeset/92256 ...",
  276. "time": "Wed, 03 Aug 2011 04:26:52 GMT",
  277. "summary": "Unreviewed, rolling out r92256.",
  278. "author": "Sheriff Bot",
  279. "reviewer": null,
  280. "bugID": 65593,
  281. "revertedRevision": 92256
  282. }];
  283. test("changesetURL", 1, function() {
  284. equals(trac.changesetURL(1234), "http://trac.webkit.org/changeset/1234");
  285. });
  286. test("logURL", 4, function() {
  287. equals(trac.logURL('trunk', 1234, 1236, false, false), "http://trac.webkit.org/log/trunk?rev=1236&stop_rev=1234&limit=4");
  288. equals(trac.logURL('trunk', 1234, 1234, true, false), "http://trac.webkit.org/log/trunk?rev=1234&stop_rev=1234&limit=2&verbose=on");
  289. equals(trac.logURL('trunk', 1236, 1236, false, true), "http://trac.webkit.org/log/trunk?rev=1236&stop_rev=1236&limit=2&format=rss");
  290. equals(trac.logURL('trunk', 1234, 1236, true, true), "http://trac.webkit.org/log/trunk?rev=1236&stop_rev=1234&limit=4&verbose=on&format=rss");
  291. });
  292. test("recentCommitData", 3, function() {
  293. var simulator = new NetworkSimulator();
  294. simulator.get = function(url, callback)
  295. {
  296. equals(url, 'http://trac.webkit.org/log/trunk?verbose=on&format=rss&limit=10');
  297. simulator.scheduleCallback(function() {
  298. var parser = new DOMParser();
  299. var responseDOM = parser.parseFromString(kExampleCommitDataXML, "application/xml");
  300. callback(responseDOM);
  301. });
  302. };
  303. simulator.runTest(function() {
  304. trac.recentCommitData('trunk', 10, function(commitDataList) {
  305. $.each(commitDataList, function(index, commitData) {
  306. // Including the entire message makes the deepEqual below to unwieldy.
  307. delete commitData.message;
  308. });
  309. deepEqual(commitDataList, kExampleCommitDataList);
  310. });
  311. });
  312. });
  313. test("commitDataForRevisionRange", 3, function() {
  314. var simulator = new NetworkSimulator();
  315. simulator.get = function(url, callback)
  316. {
  317. equals(url, 'http://trac.webkit.org/log/trunk?rev=12365&stop_rev=12345&limit=22&verbose=on&format=rss');
  318. simulator.scheduleCallback(function() {
  319. var parser = new DOMParser();
  320. var responseDOM = parser.parseFromString(kExampleCommitDataXML, "application/xml");
  321. callback(responseDOM);
  322. });
  323. };
  324. simulator.runTest(function() {
  325. trac.commitDataForRevisionRange('trunk', 12345, 12365, function(commitDataList) {
  326. $.each(commitDataList, function(index, commitData) {
  327. // Including the entire message makes the deepEqual below to unwieldy.
  328. delete commitData.message;
  329. });
  330. deepEqual(commitDataList, kExampleCommitDataList);
  331. });
  332. });
  333. });
  334. })();