summaryrefslogtreecommitdiffstats
path: root/dom/promise/tests/test_species_getter.html
blob: 23cb7d8ae00d5fb73910e4a95e7202ac17fb7132 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!DOCTYPE html>
<meta charset=utf-8>
<title>Test for ...</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
  /* global test, assert_not_equals, assert_equals */

  var desc = Object.getOwnPropertyDescriptor(Promise, Symbol.species);
  assert_not_equals(desc, undefined, "Should have a property");

  assert_equals(desc.configurable, true, "Property should be configurable");
  assert_equals(desc.enumerable, false, "Property should not be enumerable");
  assert_equals(desc.set, undefined, "Should not have a setter");
  var getter = desc.get;

  var things = [undefined, null, 5, "xyz", Promise, Object];
  for (var thing of things) {
    assert_equals(getter.call(thing), thing,
                  "Getter should return its this value");
  }
}, "Promise should have an @@species getter that works per spec");
</script>