summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_8_5/extensions/sps-generators.js
blob: d99e93c5bf9c07ab0bee5cf5b800a95224ffe48f (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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// |reftest| skip-if(!xulRuntime.shell)

// Any copyright is dedicated to the Public Domain.
// http://creativecommons.org/licenses/publicdomain/

//-----------------------------------------------------------------------------
var BUGNUMBER = 822041;
var summary = "Live generators should not cache SPS state";

print(BUGNUMBER + ": " + summary);

function gen() {
  var x = yield turnoff();
  yield x;
  yield 'bye';
}

function turnoff() {
  print("Turning off profiler\n");
  disableSPSProfiling();
  return 'hi';
}

for (var slowAsserts of [ true, false ]) {
  // The slowAssertions setting is not expected to matter
  if (slowAsserts)
    enableSPSProfilingWithSlowAssertions();
  else
    enableSPSProfiling();

  g = gen();
  assertEq(g.next(), 'hi');
  assertEq(g.send('gurgitating...'), 'gurgitating...');
  for (var x in g)
    assertEq(x, 'bye');
}

// This is really a crashtest
reportCompare(0, 0, 'ok');