MCPcopy Create free account
hub / github.com/nodejs/node / TestYieldStarWithoutReturn

Function TestYieldStarWithoutReturn

deps/v8/test/mjsunit/es6/iterator-close.js:1314–1337  ·  view source on GitHub ↗
(get_iterable)

Source from the content-addressed store, hash-verified

1312
1313// yield*, argument's return method is "undefined".
1314function TestYieldStarWithoutReturn(get_iterable) {
1315 assertTrue(get_iterable().return == undefined);
1316
1317 function* g() { yield* get_iterable() }
1318
1319 {
1320 let gen = g();
1321 assertEquals({value: 1, done: false}, gen.next());
1322 assertEquals({value: undefined, done: true}, gen.return());
1323 }
1324
1325 assertEquals(42, (() => {
1326 for (let x of g()) break;
1327 return 42;
1328 })());
1329
1330 assertEquals(42, (() => {
1331 for (let x of g()) return 42;
1332 })());
1333
1334 assertThrowsEquals(() => {
1335 for (let x of g()) throw 42;
1336 }, 42);
1337}
1338{
1339 let get_iterable1 = () => [1, 2];
1340 let get_iterable2 = function*() { yield 1; yield 2 };

Callers 1

iterator-close.jsFile · 0.85

Calls 5

gFunction · 0.70
nextMethod · 0.65
assertTrueFunction · 0.50
assertEqualsFunction · 0.50
returnMethod · 0.45

Tested by

no test coverage detected