/layout/generic/test/test_image_selection.html

http://github.com/zpao/v8monkey · HTML · 93 lines · 71 code · 19 blank · 3 comment · 0 complexity · 283dfae42449694bd91c43acd00e9800 MD5 · raw file

  1. <!DOCTYPE HTML>
  2. <html>
  3. <!--
  4. https://bugzilla.mozilla.org/show_bug.cgi?id=599368
  5. -->
  6. <head>
  7. <title>Test for Bug 599368</title>
  8. <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  9. <script type="text/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
  10. <script type="text/javascript" src="/tests/SimpleTest/WindowSnapshot.js"></script>
  11. <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  12. </head>
  13. <body>
  14. <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=599368">Mozilla Bug 599368</a>
  15. <iframe id="display" src="about:blank"></iframe>
  16. <div id="content" style="display: none">
  17. </div>
  18. <pre id="test">
  19. <script type="application/javascript">
  20. /** Test for Bug 599368 **/
  21. SimpleTest.waitForExplicitFinish();
  22. window.addEventListener("load", step1, false);
  23. var gImage;
  24. var gIframe;
  25. var gBlueNotSelected;
  26. var gBlueSelected;
  27. var gFuchsiaSelected;
  28. function step1()
  29. {
  30. gIframe = document.getElementById("display");
  31. doc = gIframe.contentDocument;
  32. gImage = doc.createElement('img');
  33. var src = String(window.location).split("/");
  34. src.pop();
  35. src.push("blue-32x32.png");
  36. src = src.join("/");
  37. gImage.src = src;
  38. gImage.addEventListener("load", step2, false);
  39. doc.body.appendChild(gImage);
  40. doc.designMode = "on";
  41. }
  42. function step2() {
  43. gImage.removeEventListener("load", step2, false);
  44. gBlueNotSelected = snapshotWindow(gIframe.contentWindow, false);
  45. synthesizeMouse(gImage, 5, 5, {}, gIframe.contentWindow);
  46. setTimeout(step3, 0);
  47. }
  48. function step3() {
  49. gBlueSelected = snapshotWindow(gIframe.contentWindow, false);
  50. var src = String(window.location).split("/");
  51. src.pop();
  52. src.push("fuchsia-32x32.png");
  53. src = src.join("/");
  54. gImage.addEventListener("load", step4, false);
  55. gImage.src = src;
  56. }
  57. function step4() {
  58. gImage.removeEventListener("load", step4, false);
  59. gFuchsiaSelected = snapshotWindow(gIframe.contentWindow, false);
  60. assert_different(gBlueNotSelected, gBlueSelected,
  61. "selecting image should add drag points");
  62. assert_different(gBlueSelected, gFuchsiaSelected,
  63. "different images should appear different");
  64. SimpleTest.finish();
  65. }
  66. function assert_different(shot1, shot2, desc)
  67. {
  68. var [correct, s1, s2] = compareSnapshots(shot1, shot2, false);
  69. ok(correct, desc);
  70. }
  71. </script>
  72. </pre>
  73. </body>
  74. </html>