<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<body>
<p>Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=25379">bug 25379<a>:
Selecting a bank in American Express Pay Bill fails.</p>
<p>Both SELECT elements below should say PASS.</p>
<select>
<option selected>FAIL</option>
<option selected>PASS</option>
</select>
<div id=paymentoptions></div>
<script>
test(() => {
  document.getElementById('paymentoptions').innerHTML =
      '<select>' +
      '<option selected>FAIL</option>' +
      '<option selected>PASS</option>' +
      '</select>'

  assert_equals(document.getElementsByTagName('select')[0].value, 'PASS');
  assert_equals(document.getElementsByTagName('select')[1].value, 'PASS');
}, 'Both SELECT elements should say PASS');
</script>
</body>
