summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/extensions/sps-generators.js
blob: e165649446cfa210eda28f5c9b7acea3be74c226 (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 Gecko Profiler state";

print(BUGNUMBER + ": " + summary);

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

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

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

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

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