mirror of
https://github.com/tc39/test262.git
synced 2025-12-07 22:09:47 +01:00
- Expand ambiguous assertion messages and assert execution paths more finely. - Improve variable names in `for..of` tests While the object created by a GeneratorFunction may be considered an "iterable", it is being used as an iterator in these tests. Naming the variable according to the way it is used improves the readability of the test body. - Add 'features' attribute to test frontmatter - Move tests - Introduce additional `for..of` control flow tests
36 lines
794 B
JavaScript
36 lines
794 B
JavaScript
// Copyright (C) 2013 the V8 project authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
/*---
|
|
es6id: 13.6.4.13
|
|
description: >
|
|
Iterators that are implemented as proxies should behave identically to
|
|
non-proxy versions.
|
|
---*/
|
|
|
|
var iterable = {};
|
|
var nextResult = { value: 23, done: false };
|
|
var lastResult = { value: null, done: true };
|
|
var i;
|
|
|
|
var iterator = {
|
|
next: function() {
|
|
var result = nextResult;
|
|
nextResult = lastResult;
|
|
return result;
|
|
}
|
|
};
|
|
var proxiedIterator = new Proxy(iterator, {
|
|
get: function(target, name) {
|
|
return target[name];
|
|
}
|
|
});
|
|
iterable[Symbol.iterator] = function() { return proxiedIterator; };
|
|
|
|
i = 0;
|
|
for (var x of iterable) {
|
|
assert.sameValue(x, 23);
|
|
i++;
|
|
}
|
|
|
|
assert.sameValue(i, 1);
|