Blame dom/bindings/test/test_returnUnion.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
Packit f0b94e
https://bugzilla.mozilla.org/show_bug.cgi?id=1048659
Packit f0b94e
-->
Packit f0b94e
<head>
Packit f0b94e
  <meta charset="utf-8">
Packit f0b94e
  <title>Test for Bug 1048659</title>
Packit f0b94e
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
  <script type="application/javascript">
Packit f0b94e
Packit f0b94e
  /** Test for returning unions from JS-implemented WebIDL. **/
Packit f0b94e
  SimpleTest.waitForExplicitFinish();
Packit f0b94e
  SpecialPowers.pushPrefEnv({set: [['dom.expose_test_interfaces', true]]}, go);
Packit f0b94e
Packit f0b94e
  function go() {
Packit f0b94e
    var t = new TestInterfaceJS();
Packit f0b94e
    var t2 = new TestInterfaceJS();
Packit f0b94e
Packit f0b94e
    is(t.pingPongUnion(t2), t2, "ping pong union for left case should be identity");
Packit f0b94e
    is(t.pingPongUnion(12), 12, "ping pong union for right case should be identity");
Packit f0b94e
Packit f0b94e
    is(t.pingPongUnionContainingNull("this is not a string"), "this is not a string",
Packit f0b94e
      "ping pong union containing union for left case should be identity");
Packit f0b94e
    is(t.pingPongUnionContainingNull(null), null,
Packit f0b94e
      "ping pong union containing null for right case null should be identity");
Packit f0b94e
    is(t.pingPongUnionContainingNull(t2), t2,
Packit f0b94e
      "ping pong union containing null for right case should be identity");
Packit f0b94e
Packit f0b94e
    is(t.pingPongNullableUnion(t2), t2, "ping pong nullable union for left case should be identity");
Packit f0b94e
    is(t.pingPongNullableUnion(12), 12, "ping pong nullable union for right case should be identity");
Packit f0b94e
    is(t.pingPongNullableUnion(null), null, "ping pong nullable union for null case should be identity");
Packit f0b94e
Packit f0b94e
    var rejectedBadUnion = false;
Packit f0b94e
    var result = null;
Packit f0b94e
    try {
Packit f0b94e
      result = t.returnBadUnion();
Packit f0b94e
    } catch (e) {
Packit f0b94e
      rejectedBadUnion = true;
Packit f0b94e
    }
Packit f0b94e
    is(result, null, "bad union should not set a value for result");
Packit f0b94e
    ok(rejectedBadUnion, "bad union should throw an exception");
Packit f0b94e
Packit f0b94e
    SimpleTest.finish();
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  </script>
Packit f0b94e
</head>
Packit f0b94e
<body>
Packit f0b94e
Mozilla Bug 1048659
Packit f0b94e

Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
Packit f0b94e
</body>
Packit f0b94e
</html>