dom/base/test/test_location_searchParams.html
author Ryan VanderMeulen <ryanvm@gmail.com>
Thu, 23 Oct 2014 11:32:35 -0400
changeset 238372 874815b0d42b7f60c701f9928fa218cd2fcb4564
parent 221351 9b035f87f26a5f43e50f1feb5e927efedcc1a731
permissions -rw-r--r--
Backed out changeset 87433694df01 (bug 1082734) for Gaia unit test failures. CLOSED TREE


<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1037715
-->
<head>
  <meta charset="utf-8">
  <title>Test for Bug 1037715</title>
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1037715">Mozilla Bug 1037715</a>
  <iframe id="a"></iframe>
  <script type="application/javascript">

var l;

var iframe = document.getElementById('a');
function onload0() {
  iframe.removeEventListener('load', onload0);

  l = iframe.contentWindow.location;
  is(l.searchParams.get('a'), 'test0', 'l.searchParams value is ok');

  info('changing location from JS...');
  iframe.addEventListener('load', onload1);
  iframe.contentWindow.location.href = 'file_empty.html?a=test1';
}

function onload1() {
  iframe.removeEventListener('load', onload1);

  var ll = iframe.contentWindow.location;
  is(ll.searchParams.get('a'), 'test1', 'location.searchParams value is ok');
  is(l.searchParams.get('a'), 'test1', 'l.searchParams value is ok');
  isnot(ll.searchParams, l.searchParams, '2 different objects.');

  info('changing location using l.searchParams...');
  iframe.addEventListener('load', onload2);
  l.searchParams.set('a', 'test2');
}

function onload2() {
  iframe.removeEventListener('load', onload2);

  var ll = iframe.contentWindow.location;
  is(ll.searchParams.get('a'), 'test2', 'location.searchParams value is ok');
  is(l.searchParams.get('a'), 'test2', 'l.searchParams value is ok');
  isnot(ll.searchParams, l.searchParams, '2 different objects.');

  info('changing iframe.src...');
  iframe.addEventListener('load', onload3);
  l.search = 'a=test3';
}

function onload3() {
  iframe.removeEventListener('load', onload3);

  var ll = iframe.contentWindow.location;
  is(ll.searchParams.get('a'), 'test3', 'location.searchParams value is ok');
  is(l.searchParams.get('a'), 'test3', 'l.searchParams value is ok');
  isnot(ll.searchParams, l.searchParams, '2 different objects.');

  info('changing iframe.src...');
  iframe.addEventListener('load', onload4);
  iframe.src = 'file_empty.html?a=test4';
}

function onload4() {
  iframe.removeEventListener('load', onload4);

  var ll = iframe.contentWindow.location;
  is(ll.searchParams.get('a'), 'test4', 'location.searchParams value is ok');
  is(l.searchParams.get('a'), 'test4', 'l.searchParams value is ok');
  isnot(ll.searchParams, l.searchParams, '2 different objects.');

  SimpleTest.finish();
}

iframe.addEventListener('load', onload0);
iframe.src = "file_empty.html?a=test0";
SimpleTest.waitForExplicitFinish();

  </script>

</body>
</html>