Mozilla Home
Privacy
Cookies
Legal
Bugzilla
Browse
Advanced Search
New Bug
Reports
Documentation
Log In
Log In with GitHub
or
Remember me
Browse
Advanced Search
New Bug
Reports
Documentation
Attachment 8767831 Details for
Bug 1016936
[patch]
Part 1.1: Fix existing tests to follow the behavior change in IteratorNext.
02-Bug_1016936___Part_1_1__Fix_existing_tes.patch (text/plain), 5.04 KB, created by
Tooru Fujisawa [:arai]
(
hide
)
Description:
Part 1.1: Fix existing tests to follow the behavior change in IteratorNext.
Filename:
MIME Type:
Creator:
Tooru Fujisawa [:arai]
Size:
5.04 KB
patch
obsolete
># HG changeset patch ># User Tooru Fujisawa <arai_a@mac.com> ># Date 1467687982 -32400 ># Tue Jul 05 12:06:22 2016 +0900 ># Node ID 90a22ffc657eb6c6c094ae79f6e719093e7f9268 ># Parent e225cef7b35497e26b19a41f77e8931817036e7c >Bug 1016936 - Part 1.1: Fix existing tests to follow the behavior change in IteratorNext. > >diff --git a/js/src/jit-test/tests/generators/bug931414.js b/js/src/jit-test/tests/generators/bug931414.js >--- a/js/src/jit-test/tests/generators/bug931414.js >+++ b/js/src/jit-test/tests/generators/bug931414.js >@@ -1,9 +1,9 @@ >-// |jit-test| error: is undefined >+// |jit-test| error: TypeError > > load(libdir + "iteration.js"); > > function iterable() { > var iterable = {}; > iterable[Symbol.iterator] = () => ({next: () => void 0}); > return iterable; > } >diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-1.js b/js/src/tests/ecma_6/Generators/delegating-yield-1.js >--- a/js/src/tests/ecma_6/Generators/delegating-yield-1.js >+++ b/js/src/tests/ecma_6/Generators/delegating-yield-1.js >@@ -27,16 +27,16 @@ function collect_results(iterable) { > do { > result = iter.next(); > ret.push(result); > } while (!result.done); > return ret; > } > > // We have to put a full result for the end, because the return will re-box. >-var expected = [{value: 1}, 13, "foo", {value: 34, done: true}]; >+var expected = [{value: 1}, {value: 34, done: true}]; > > // Sanity check. > assertDeepEq(expected, collect_results(results(expected))); > assertDeepEq(expected, collect_results(yield_results(expected))); > > if (typeof reportCompare == "function") > reportCompare(true, true); >diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-3.js b/js/src/tests/ecma_6/Generators/delegating-yield-3.js >--- a/js/src/tests/ecma_6/Generators/delegating-yield-3.js >+++ b/js/src/tests/ecma_6/Generators/delegating-yield-3.js >@@ -5,36 +5,36 @@ function* delegate(iter) { return yield* > var GeneratorObjectPrototype = Object.getPrototypeOf(g).prototype; > var GeneratorObjectPrototype_next = GeneratorObjectPrototype.next; > > // Monkeypatch next on an iterator. > var inner = g(20); > var outer = delegate(inner); > assertIteratorNext(outer, 0); > assertIteratorNext(outer, 1); >-inner.next = function() { return 0; }; >+inner.next = function() { return { patched: true }; }; > // 42 yielded directly without re-boxing. >-assertEq(0, outer.next()); >+assertEq(true, outer.next().patched); > // Outer generator not terminated. >-assertEq(0, outer.next()); >+assertEq(true, outer.next().patched); > // Restore. > inner.next = GeneratorObjectPrototype_next; > assertIteratorNext(outer, 2); > // Repatch. > inner.next = function() { return { value: 42, done: true }; }; > assertIteratorDone(outer, 42); > > // Monkeypunch next on the prototype. > var inner = g(20); > var outer = delegate(inner); > assertIteratorNext(outer, 0); > assertIteratorNext(outer, 1); >-GeneratorObjectPrototype.next = function() { return 0; }; >+GeneratorObjectPrototype.next = function() { return { patched: true }; }; > // 42 yielded directly without re-boxing. >-assertEq(0, GeneratorObjectPrototype_next.call(outer)); >+assertEq(true, GeneratorObjectPrototype_next.call(outer).patched); > // Outer generator not terminated. >-assertEq(0, GeneratorObjectPrototype_next.call(outer)); >+assertEq(true, GeneratorObjectPrototype_next.call(outer).patched); > // Restore. > GeneratorObjectPrototype.next = GeneratorObjectPrototype_next; > assertIteratorNext(outer, 2); > > if (typeof reportCompare == "function") > reportCompare(true, true); >diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-5.js b/js/src/tests/ecma_6/Generators/delegating-yield-5.js >--- a/js/src/tests/ecma_6/Generators/delegating-yield-5.js >+++ b/js/src/tests/ecma_6/Generators/delegating-yield-5.js >@@ -23,15 +23,15 @@ function collect_results(iterable) { > do { > result = iter.next(); > ret.push(result); > } while (!result.done); > return ret; > } > > // We have to put a full result for the end, because the return will re-box. >-var expected = [{value: 1}, 13, "foo", {value: 34, done: true}]; >+var expected = [{value: 1}, {value: 34, done: true}]; > > assertDeepEq(expected, collect_results(results(expected))); > assertDeepEq(expected, collect_results(yield_results(expected, 20))); > > if (typeof reportCompare == "function") > reportCompare(true, true); >diff --git a/js/src/tests/ecma_6/Generators/delegating-yield-7.js b/js/src/tests/ecma_6/Generators/delegating-yield-7.js >--- a/js/src/tests/ecma_6/Generators/delegating-yield-7.js >+++ b/js/src/tests/ecma_6/Generators/delegating-yield-7.js >@@ -23,16 +23,16 @@ function collect_results(iter) { > do { > result = iter.next(); > ret.push(result); > } while (!result.done); > return ret; > } > > // We have to put a full result for the end, because the return will re-box. >-var expected = [{value: 1}, 13, "foo", {value: 34, done: true}]; >+var expected = [{value: 1}, {value: 34, done: true}]; > > // Sanity check. > assertDeepEq(expected, collect_results(results(expected))); > assertDeepEq(expected, collect_results(yield_results(expected))); > > if (typeof reportCompare == "function") > reportCompare(true, true);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Flags:
jorendorff
: review+
Actions:
View
|
Diff
|
Review
Attachments on
bug 1016936
:
8767796
|
8767805
|
8767828
|
8767830
| 8767831 |
8767832
|
8767834
|
8767835
|
8778862