<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[204851] trunk/JSTests</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/204851">204851</a></dd>
<dt>Author</dt> <dd>keith_miller@apple.com</dd>
<dt>Date</dt> <dd>2016-08-23 12:23:55 -0700 (Tue, 23 Aug 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Update/add new test262 tests
https://bugs.webkit.org/show_bug.cgi?id=161098
Reviewed by Saam Barati.
* test262.yaml:
* test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
(a):
* test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
* test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
* test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
(AsyncFunction.async):
* test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
(AsyncFunction.async.foo):
* test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/instance-length.js: Added.
(async.l0):
(async.l1):
(async.l2):
* test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
(async.foo):
* test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
* test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
* test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
* test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
* test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
(A):
* test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
(A):
* test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
(async.f):
* test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
(async.f):
* test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
(let.f.async.f):
* test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
(let.f.async.f):
(let.g.async.string_appeared_here):
* test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
(defineProperty):
* test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
(deleteProperty):
* test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
(uncoercible.valueOf):
(get if):
* test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
(get if):
* test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
* test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
(thrower):
* test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
(defineProperty):
* test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
(deleteProperty):
* test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
(ownKeys):
* test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
(fd1.valueOf):
(fd2.toString):
* test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
* test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
* test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
* test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
(badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
(badProxyHandlers.allowProxyTraps.ownKeys):
* test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
(target.new.Proxy.Object.create.isExtensible):
(target.new.Proxy.Object.create.getPrototypeOf):
(target.new.Proxy.Object.create):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
(isExtensible):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
(getPrototypeOf):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
(setPrototypeOf): Deleted.
* test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
(isExtensible):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
(isExtensible):
(getPrototypeOf):
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
(setPrototypeOf):
* test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
* test262/test/built-ins/RegExp/lastIndex.js: Added.
* test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
* test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
(__re.hasOwnProperty): Deleted.
(__re.propertyIsEnumerable): Deleted.
(count.0): Deleted.
* test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
(__re.hasOwnProperty): Deleted.
(catch): Deleted.
* test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
* test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
* test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
(get Object):
* test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
* test262/test/built-ins/RegExp/prototype/source/value.js: Added.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
* test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
* test262/test/built-ins/String/numeric-properties.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
(reduce):
(compareFTPtoFormat):
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
(obj1.valueOf):
(obj2.toString):
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
* test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
(reduce):
(compareFTPtoFormat):
* test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
(obj1.valueOf):
(obj2.toString):
* test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
* test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
* test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
(foo): Deleted.
* test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
(dflt):
* test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
(dstr):
* test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
(rest):
* test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
(foo):
* test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
(f): Deleted.
* test262/test/language/eval-code/direct/super-call-arrow.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-call-fn.js: Added.
(f):
* test262/test/language/eval-code/direct/super-call.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
(catch):
* test262/test/language/eval-code/direct/super-prop-method.js: Added.
(o.method):
* test262/test/language/eval-code/direct/super-prop.js: Added.
(catch):
* test262/test/language/eval-code/indirect/super-call.js: Added.
(catch):
(try.m):
* test262/test/language/eval-code/indirect/super-prop.js: Added.
(catch):
(try.m):
* test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
* test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
(p.then):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
(async):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
(async.foo.super):
* test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
(async):
* test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
(async):
* test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
(async.arguments):
* test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
(async.eval):
* test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
(async.foo):
* test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
(p.async):
* test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
(async.foo):
* test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
(async.await):
* test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
(async.foo.await):
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
(thenable.then):
(async.foo):
* test262/test/language/expressions/await/await-awaits-thenables.js: Added.
(thenable.then):
(async.foo):
* test262/test/language/expressions/await/await-in-function.js: Added.
(foo):
* test262/test/language/expressions/await/await-in-generator.js: Added.
(foo):
* test262/test/language/expressions/await/await-in-global.js: Added.
* test262/test/language/expressions/await/await-in-nested-function.js: Added.
(async.foo.bar):
(async.foo):
* test262/test/language/expressions/await/await-in-nested-generator.js: Added.
(async.foo.bar):
(async.foo):
* test262/test/language/expressions/await/await-throws-rejections.js: Added.
(async.foo):
* test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
(async.foo):
* test262/test/language/expressions/await/no-operand.js: Added.
(async.foo):
* test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
(async.foo):
* test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
(async.foo):
* test262/test/language/expressions/call/trailing-comma.js: Added.
(foo):
* test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
(f):
* test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
(f):
* test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/function/params-trailing-comma.js: Added.
* test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
(g):
* test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
(g):
* test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
(assert.sameValue):
* test262/test/language/expressions/generators/params-trailing-comma.js: Added.
* test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
* test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
(sup.method):
(child.async.method):
* test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
(sup.method):
(child.async.method.x.super.method):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
(foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
(async.foo.foo.super):
* test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
(obj.async.method):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
(obj.f1):
(obj.f2):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
(obj.one):
(obj.two):
* test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
(m):
* test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
(one):
(two):
* test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
(f):
* test262/test/language/global-code/decl-func.js: Added.
(brandNew):
* test262/test/language/global-code/decl-lex-configurable-global.js: Added.
* test262/test/language/global-code/decl-lex-deletion.js: Added.
(test262class):
* test262/test/language/global-code/decl-lex-restricted-global.js: Added.
* test262/test/language/global-code/decl-lex.js: Added.
(test262class):
* test262/test/language/global-code/decl-var.js: Added.
* test262/test/language/global-code/return.js: Added.
* test262/test/language/global-code/script-decl-func-dups.js: Added.
* test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
* test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
* test262/test/language/global-code/script-decl-func.js: Added.
* test262/test/language/global-code/script-decl-lex-deletion.js: Added.
* test262/test/language/global-code/script-decl-lex-lex.js: Added.
(test262Class):
* test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
* test262/test/language/global-code/script-decl-lex-var.js: Added.
(test262Fn):
* test262/test/language/global-code/script-decl-lex.js: Added.
* test262/test/language/global-code/script-decl-var-collision.js: Added.
(test262Class):
* test262/test/language/global-code/script-decl-var-err.js: Added.
* test262/test/language/global-code/script-decl-var.js: Added.
* test262/test/language/global-code/super-call-arrow.js: Added.
* test262/test/language/global-code/super-call.js: Added.
* test262/test/language/global-code/super-prop-arrow.js: Added.
* test262/test/language/global-code/super-prop.js: Added.
* test262/test/language/global-code/yield-non-strict.js: Added.
(catch):
* test262/test/language/global-code/yield-strict.js: Added.
* test262/test/language/literals/regexp/lastIndex.js: Added.
* test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
* test262/test/language/literals/regexp/y-assertion-start.js: Added.
* test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
* test262/test/language/module-code/instn-star-err-not-found.js:
* test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
* test262/test/language/module-code/parse-err-return.js: Added.
* test262/test/language/module-code/parse-err-yield.js: Added.
* test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
* test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
(async.arguments):
* test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
(async.eval):
* test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
(async.foo):
* test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-body.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
(async.foo):
* test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
(async.foo):
* test262/test/language/statements/async-function/syntax-declaration.js: Added.
(async.foo):
(foo.then):
* test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
(Foo.prototype.async.method):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
(Foo.prototype.async.bar):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
(Foo.async.foo):
(Foo):
* test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
(Foo.prototype.async.foo):
(Foo):
* test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
(A.prototype.async.method):
(A):
(B.prototype.async.method):
(B):
* test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
(A.prototype.async.method):
(A):
(B.prototype.async.method):
(B):
* test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
(C.prototype.f1):
(C.prototype.f2):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
(C.prototype.one):
(C.prototype.two):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
(C.prototype.m):
(C):
* test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
(C.prototype.one):
(C.prototype.two):
(C):
* test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
(f):
* test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
(f):
* test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
(f1):
(f2):
* test262/test/language/statements/function/params-trailing-comma-length.js: Added.
(one):
(two):
* test262/test/language/statements/function/params-trailing-comma.js: Added.
(one):
(two):
* test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
(g):
* test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
(g):
* test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
(one):
(two):
* test262/test/language/statements/generators/params-trailing-comma.js: Added.
(one):
(two):
* test262/test262-Revision.txt:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkJSTestsChangeLog">trunk/JSTests/ChangeLog</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferbeforeoutofrangebyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8indexcheckbeforevalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8rangecheckaftervalueconversionjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsduplicatekeysjs">trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetnotsametargetprototypejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetsametargetprototypejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisnotcallablejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexpuunicodeescboundsjs">trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundfaulty_FIXTUREjs">trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundjs">trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodenamespaceinternalsgetownpropertystrfoundinitjs">trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js</a></li>
<li><a href="#trunkJSTeststest262test262Revisiontxt">trunk/JSTests/test262/test262-Revision.txt</a></li>
<li><a href="#trunkJSTeststest262yaml">trunk/JSTests/test262.yaml</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li>trunk/JSTests/test262/test/annexB/language/statements/for-in/</li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinbareinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinconstinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinletinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinnonstrictinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinstrictinitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinvararraybindingpatterninitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js</a></li>
<li><a href="#trunkJSTeststest262testannexBlanguagestatementsforinvarobjectbindingpatterninitializerjs">trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js</a></li>
<li>trunk/JSTests/test262/test/built-ins/AsyncFunction/</li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionconstructjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionisextensiblejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionissubclassjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionlengthjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionnamejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionprototypejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeisextensiblejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeprototypejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypetostringjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstanceconstructjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstancehasnamejs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstancelengthjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctioninstanceprototypepropertyjs">trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsAsyncFunctionisnotaglobaljs">trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferaftertoindexbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetboundjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfnewjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfreflectjs">trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringAsyncFunctionjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctiondeclarationjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctionexpressionjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncmethodjs">trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraydefineproperrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraydeleteerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthcoerceerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthgeterrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparserevivercallerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparserevivergetnameerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectdefineproperrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectdeleteerrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsJSONparsereviverobjectownkeyserrjs">trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialinfinityjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialnanjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialpropdescjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitssymboljs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnvaluesjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsis0js">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsisnot0js">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthistypenotnumberornumberobjectjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialtointegerfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsNumberprototypetoExponentialundefinedfractiondigitsjs">trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsproxyundefineddescriptorjs">trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfinternalscallorderjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromgettrapjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromisextensibletargetjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtargetgetprototypeofjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtrapjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresultfalsejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresulttruetargetisextensiblejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedornulljs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExplastIndexjs">trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypenoregexpmatcherjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueemptyjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluelineterminatorjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueujs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpprototypejs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsStringnumericpropertiesjs">trunk/JSTests/test262/test/built-ins/String/numeric-properties.js</a></li>
<li>trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/</li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisinfinitythrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisnanthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsformatToPartsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartslengthjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsmainjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsnamejs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsreturnabrupttonumberdatejs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthishasnotinternalthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthisisnotobjectthrowsjs">trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js</a></li>
<li>trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/</li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsformatToPartsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartslengthjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsmainjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsnamejs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsreturnabrupttonumberjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthishasnotinternalthrowsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js</a></li>
<li><a href="#trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthisisnotobjectthrowsjs">trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdfltjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdstrjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsrestjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobjectunmappedviastrictjs">trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercallarrowjs">trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercallfnjs">trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsupercalljs">trunk/JSTests/test262/test/language/eval-code/direct/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperproparrowjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperpropmethodjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodedirectsuperpropjs">trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodeindirectsupercalljs">trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageevalcodeindirectsuperpropjs">trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/async-arrow-function/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionarrowreturnspromisejs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowargumentsinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowduplicateparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/async-function/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierargumentsjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierevaljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionnotsimpleassignmenttargetjs">trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionexpressionreturnspromisejs">trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsasyncfunctionsyntaxexpressionisPrimaryExpressionjs">trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js</a></li>
<li>trunk/JSTests/test262/test/language/expressions/await/</li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifieringlobaljs">trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifiernestedjs">trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablenotcallablejs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesthatthrowjs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesjs">trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinfunctionjs">trunk/JSTests/test262/test/language/expressions/await/await-in-function.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitingeneratorjs">trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinglobaljs">trunk/JSTests/test262/test/language/expressions/await/await-in-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedfunctionjs">trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedgeneratorjs">trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitawaitthrowsrejectionsjs">trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitearlyerrorsawaitnotsimpleassignmenttargetjs">trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitnooperandjs">trunk/JSTests/test262/test/language/expressions/await/no-operand.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionwithMultiplicativeExpressionjs">trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionjs">trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionscalltrailingcommajs">trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentslexjs">trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentslexjs">trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectcomputedpropertyevaluationorderjs">trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallbodyjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallparamjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodNSPLwithUSDjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodargumentsinformalparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodbodycontainssupercalljs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodduplicateparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodevalinformalparametersjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalsbodyduplicatejs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalscontainssupercalljs">trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionobjectmethodreturnspromisejs">trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommarestjs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommajs">trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclfuncdupjs">trunk/JSTests/test262/test/language/global-code/decl-func-dup.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclfuncjs">trunk/JSTests/test262/test/language/global-code/decl-func.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexconfigurableglobaljs">trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexdeletionjs">trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexrestrictedglobaljs">trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedecllexjs">trunk/JSTests/test262/test/language/global-code/decl-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodedeclvarjs">trunk/JSTests/test262/test/language/global-code/decl-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodereturnjs">trunk/JSTests/test262/test/language/global-code/return.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncdupsjs">trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonconfigurablejs">trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonextensiblejs">trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclfuncjs">trunk/JSTests/test262/test/language/global-code/script-decl-func.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexdeletionjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexlexjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexrestrictedglobaljs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexvarjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdecllexjs">trunk/JSTests/test262/test/language/global-code/script-decl-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarcollisionjs">trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarerrjs">trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodescriptdeclvarjs">trunk/JSTests/test262/test/language/global-code/script-decl-var.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesupercallarrowjs">trunk/JSTests/test262/test/language/global-code/super-call-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesupercalljs">trunk/JSTests/test262/test/language/global-code/super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesuperproparrowjs">trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodesuperpropjs">trunk/JSTests/test262/test/language/global-code/super-prop.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodeyieldnonstrictjs">trunk/JSTests/test262/test/language/global-code/yield-non-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageglobalcodeyieldstrictjs">trunk/JSTests/test262/test/language/global-code/yield-strict.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexplastIndexjs">trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageliteralsregexpyassertionstartjs">trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeparseerrreturnjs">trunk/JSTests/test262/test/language/module-code/parse-err-return.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagemodulecodeparseerryieldjs">trunk/JSTests/test262/test/language/module-code/parse-err-yield.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagerestparametersparamstrailingcommarestjs">trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js</a></li>
<li>trunk/JSTests/test262/test/language/statements/async-function/</li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctiondeclarationreturnspromisejs">trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationNSPLwithUSDjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationargumentsinformalparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierevaljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssupercalljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssuperpropertyjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationduplicateparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationevalinformalparametersjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalsbodyduplicatejs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssupercalljs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssuperpropertyjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsnoasyncgeneratorjs">trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsafterawaitjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsafterawaitjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodyjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationdefaultthatthrowsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationmappedargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvalueglobaljs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvaluepassedjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationunmappedargumentsjs">trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationlineterminatorsallowedjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationnolineterminatorjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationjs">trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionclassmethodreturnspromisejs">trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodNSPLwithUSDjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodargumentsinformalparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsdefaultjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodbodycontainssupercalljs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodduplicateparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodevalinformalparametersjs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalsbodyduplicatejs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalscontainssupercalljs">trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallbodyjs">trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallparamjs">trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommarestjs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentslexjs">trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommaargumentsjs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentsfnjs">trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentslexjs">trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommalengthjs">trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js</a></li>
<li><a href="#trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommajs">trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs">trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfbooleantrapresultextensibletargetjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletrapisfalsereturnfalsejs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedjs">trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeglobal1510721js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeignoreCase1510731js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js</a></li>
<li>trunk/JSTests/test262/test/built-ins/RegExp/prototype/lastIndex/</li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypemultiline1510741js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypesource1510711js">trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js</a></li>
<li><a href="#trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs">trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageargumentsobject10610cii2sjs">trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js</a></li>
<li><a href="#trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs">trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkJSTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/ChangeLog (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/ChangeLog        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/ChangeLog        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,3 +1,617 @@
</span><ins>+2016-08-23 Keith Miller <keith_miller@apple.com>
+
+ Update/add new test262 tests
+ https://bugs.webkit.org/show_bug.cgi?id=161098
+
+ Reviewed by Saam Barati.
+
+ * test262.yaml:
+ * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added.
+ * test262/test/annexB/language/statements/for-in/const-initializer.js: Added.
+ * test262/test/annexB/language/statements/for-in/let-initializer.js: Added.
+ * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added.
+ (a):
+ * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added.
+ * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added.
+ * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added.
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added.
+ (AsyncFunction.async):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added.
+ (async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added.
+ (AsyncFunction.async.foo):
+ * test262/test/built-ins/AsyncFunction/instance-construct.js: Added.
+ (async.foo):
+ * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added.
+ (async.foo):
+ * test262/test/built-ins/AsyncFunction/instance-length.js: Added.
+ (async.l0):
+ (async.l1):
+ (async.l2):
+ * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added.
+ (async.foo):
+ * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added.
+ * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js.
+ * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js:
+ * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js:
+ * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js:
+ * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added.
+ (A):
+ * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added.
+ (A):
+ * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added.
+ (A):
+ * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added.
+ (A):
+ * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added.
+ (async.f):
+ * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added.
+ (async.f):
+ * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added.
+ (let.f.async.f):
+ * test262/test/built-ins/Function/prototype/toString/async-method.js: Added.
+ (let.f.async.f):
+ (let.g.async.string_appeared_here):
+ * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added.
+ (defineProperty):
+ * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added.
+ (deleteProperty):
+ * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added.
+ (uncoercible.valueOf):
+ (get if):
+ * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added.
+ (get if):
+ * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added.
+ * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added.
+ (thrower):
+ * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added.
+ (defineProperty):
+ * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added.
+ (deleteProperty):
+ * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added.
+ (ownKeys):
+ * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added.
+ (fd1.valueOf):
+ (fd2.toString):
+ * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added.
+ * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added.
+ * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js:
+ * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added.
+ (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor):
+ (badProxyHandlers.allowProxyTraps.ownKeys):
+ * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed.
+ (setPrototypeOf): Deleted.
+ * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added.
+ (target.new.Proxy.Object.create.isExtensible):
+ (target.new.Proxy.Object.create.getPrototypeOf):
+ (target.new.Proxy.Object.create):
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js:
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js:
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed.
+ (setPrototypeOf): Deleted.
+ * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added.
+ * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added.
+ (isExtensible):
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added.
+ (getPrototypeOf):
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js.
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js:
+ (setPrototypeOf): Deleted.
+ * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added.
+ (isExtensible):
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added.
+ (isExtensible):
+ (getPrototypeOf):
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js:
+ * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added.
+ (setPrototypeOf):
+ * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed.
+ * test262/test/built-ins/RegExp/lastIndex.js: Added.
+ * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed.
+ (__re.hasOwnProperty): Deleted.
+ (__re.propertyIsEnumerable): Deleted.
+ (count.0): Deleted.
+ * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed.
+ (__re.hasOwnProperty): Deleted.
+ (catch): Deleted.
+ * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added.
+ * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed.
+ * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added.
+ (get Object):
+ * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added.
+ * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added.
+ * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added.
+ * test262/test/built-ins/RegExp/prototype/source/value.js: Added.
+ * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js.
+ * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js.
+ * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js.
+ * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js.
+ * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js.
+ * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added.
+ * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js.
+ * test262/test/built-ins/String/numeric-properties.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added.
+ (reduce):
+ (compareFTPtoFormat):
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added.
+ (obj1.valueOf):
+ (obj2.toString):
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
+ * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added.
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added.
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added.
+ (reduce):
+ (compareFTPtoFormat):
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added.
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added.
+ (obj1.valueOf):
+ (obj2.toString):
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added.
+ * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added.
+ * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js:
+ (foo): Deleted.
+ * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added.
+ (dflt):
+ * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added.
+ (dstr):
+ * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added.
+ (rest):
+ * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js.
+ (foo):
+ * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js:
+ (f): Deleted.
+ * test262/test/language/eval-code/direct/super-call-arrow.js: Added.
+ (catch):
+ * test262/test/language/eval-code/direct/super-call-fn.js: Added.
+ (f):
+ * test262/test/language/eval-code/direct/super-call.js: Added.
+ (catch):
+ * test262/test/language/eval-code/direct/super-prop-arrow.js: Added.
+ (catch):
+ * test262/test/language/eval-code/direct/super-prop-method.js: Added.
+ (o.method):
+ * test262/test/language/eval-code/direct/super-prop.js: Added.
+ (catch):
+ * test262/test/language/eval-code/indirect/super-call.js: Added.
+ (catch):
+ (try.m):
+ * test262/test/language/eval-code/indirect/super-prop.js: Added.
+ (catch):
+ (try.m):
+ * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added.
+ (assert.sameValue):
+ * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added.
+ * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added.
+ (p.then):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added.
+ (async):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added.
+ (async.foo.super):
+ * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added.
+ (async):
+ * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added.
+ (async):
+ * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added.
+ (async.arguments):
+ * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added.
+ (async.eval):
+ * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/async-function/expression-returns-promise.js: Added.
+ (p.async):
+ * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added.
+ (async.await):
+ * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added.
+ (async.foo.await):
+ (async.foo):
+ * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added.
+ (thenable.then):
+ (async.foo):
+ * test262/test/language/expressions/await/await-awaits-thenables.js: Added.
+ (thenable.then):
+ (async.foo):
+ * test262/test/language/expressions/await/await-in-function.js: Added.
+ (foo):
+ * test262/test/language/expressions/await/await-in-generator.js: Added.
+ (foo):
+ * test262/test/language/expressions/await/await-in-global.js: Added.
+ * test262/test/language/expressions/await/await-in-nested-function.js: Added.
+ (async.foo.bar):
+ (async.foo):
+ * test262/test/language/expressions/await/await-in-nested-generator.js: Added.
+ (async.foo.bar):
+ (async.foo):
+ * test262/test/language/expressions/await/await-throws-rejections.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/no-operand.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/call/trailing-comma.js: Added.
+ (foo):
+ * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added.
+ (f):
+ * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added.
+ (f):
+ * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added.
+ (f1):
+ (f2):
+ * test262/test/language/expressions/function/params-trailing-comma-length.js: Added.
+ (assert.sameValue):
+ * test262/test/language/expressions/function/params-trailing-comma.js: Added.
+ * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added.
+ (g):
+ * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added.
+ (g):
+ * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added.
+ (f1):
+ (f2):
+ * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added.
+ (assert.sameValue):
+ * test262/test/language/expressions/generators/params-trailing-comma.js: Added.
+ * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added.
+ * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added.
+ (sup.method):
+ (child.async.method):
+ * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added.
+ (sup.method):
+ (child.async.method.x.super.method):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added.
+ (foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added.
+ (async.foo):
+ * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added.
+ (async.foo.foo.super):
+ * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added.
+ (obj.async.method):
+ * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added.
+ (obj.f1):
+ (obj.f2):
+ * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added.
+ (obj.one):
+ (obj.two):
+ * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added.
+ (m):
+ * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added.
+ (one):
+ (two):
+ * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js.
+ (f):
+ * test262/test/language/global-code/decl-func.js: Added.
+ (brandNew):
+ * test262/test/language/global-code/decl-lex-configurable-global.js: Added.
+ * test262/test/language/global-code/decl-lex-deletion.js: Added.
+ (test262class):
+ * test262/test/language/global-code/decl-lex-restricted-global.js: Added.
+ * test262/test/language/global-code/decl-lex.js: Added.
+ (test262class):
+ * test262/test/language/global-code/decl-var.js: Added.
+ * test262/test/language/global-code/return.js: Added.
+ * test262/test/language/global-code/script-decl-func-dups.js: Added.
+ * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added.
+ * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added.
+ * test262/test/language/global-code/script-decl-func.js: Added.
+ * test262/test/language/global-code/script-decl-lex-deletion.js: Added.
+ * test262/test/language/global-code/script-decl-lex-lex.js: Added.
+ (test262Class):
+ * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added.
+ * test262/test/language/global-code/script-decl-lex-var.js: Added.
+ (test262Fn):
+ * test262/test/language/global-code/script-decl-lex.js: Added.
+ * test262/test/language/global-code/script-decl-var-collision.js: Added.
+ (test262Class):
+ * test262/test/language/global-code/script-decl-var-err.js: Added.
+ * test262/test/language/global-code/script-decl-var.js: Added.
+ * test262/test/language/global-code/super-call-arrow.js: Added.
+ * test262/test/language/global-code/super-call.js: Added.
+ * test262/test/language/global-code/super-prop-arrow.js: Added.
+ * test262/test/language/global-code/super-prop.js: Added.
+ * test262/test/language/global-code/yield-non-strict.js: Added.
+ (catch):
+ * test262/test/language/global-code/yield-strict.js: Added.
+ * test262/test/language/literals/regexp/lastIndex.js: Added.
+ * test262/test/language/literals/regexp/u-unicode-esc-bounds.js:
+ * test262/test/language/literals/regexp/y-assertion-start.js: Added.
+ * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js:
+ * test262/test/language/module-code/instn-star-err-not-found.js:
+ * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js:
+ * test262/test/language/module-code/parse-err-return.js: Added.
+ * test262/test/language/module-code/parse-err-yield.js: Added.
+ * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added.
+ * test262/test/language/statements/async-function/declaration-returns-promise.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added.
+ (async.arguments):
+ * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added.
+ (async.eval):
+ * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/async-function/evaluation-body.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added.
+ (async.foo):
+ * test262/test/language/statements/async-function/syntax-declaration.js: Added.
+ (async.foo):
+ (foo.then):
+ * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added.
+ (Foo.prototype.async.method):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added.
+ (Foo.prototype.async.bar):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added.
+ (Foo.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added.
+ (Foo.prototype.async.foo):
+ (Foo):
+ * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added.
+ (A.prototype.async.method):
+ (A):
+ (B.prototype.async.method):
+ (B):
+ * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added.
+ (A.prototype.async.method):
+ (A):
+ (B.prototype.async.method):
+ (B):
+ * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added.
+ (C.prototype.f1):
+ (C.prototype.f2):
+ (C):
+ * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added.
+ (C.prototype.one):
+ (C.prototype.two):
+ (C):
+ * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added.
+ (C.prototype.m):
+ (C):
+ * test262/test/language/statements/class/definition/params-trailing-comma.js: Added.
+ (C.prototype.one):
+ (C.prototype.two):
+ (C):
+ * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added.
+ (f):
+ * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added.
+ (f):
+ * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added.
+ (f1):
+ (f2):
+ * test262/test/language/statements/function/params-trailing-comma-length.js: Added.
+ (one):
+ (two):
+ * test262/test/language/statements/function/params-trailing-comma.js: Added.
+ (one):
+ (two):
+ * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added.
+ (g):
+ * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added.
+ (g):
+ * test262/test/language/statements/generators/params-trailing-comma-length.js: Added.
+ (one):
+ (two):
+ * test262/test/language/statements/generators/params-trailing-comma.js: Added.
+ (one):
+ (two):
+ * test262/test262-Revision.txt:
+
</ins><span class="cx"> 2016-08-23 Benjamin Poulain <bpoulain@apple.com>
</span><span class="cx">
</span><span class="cx"> [JSC] Make Math.cos() and Math.sin() work with any argument type
</span></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinbareinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/bare-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in heads prohibit AssignmentExpressions
+negative: SyntaxError
+---*/
+var a;
+throw NotEarlyError;
+for (a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinconstinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/const-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers with const are prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (const a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinletinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/let-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers with let are prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (let a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinnonstrictinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/nonstrict-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers in nonstrict mode
+flags: [noStrict]
+---*/
+(function() {
+ var effects = 0;
+ for (var a = ++effects in {});
+ assert.sameValue(effects, 1);
+})();
+
+
+(function() {
+ var stored;
+ for (var a = 0 in stored = a, {});
+ assert.sameValue(stored, 0);
+})();
+
+
+(function() {
+ for (var a = 0 in {});
+ assert.sameValue(a, 0);
+})();
+
+
+(function() {
+ var effects = 0;
+ var iterations = 0;
+ var stored;
+ for (var a = (++effects, -1) in stored = a, {a: 0, b: 1, c: 2}) {
+ ++iterations;
+ }
+ assert.sameValue(stored, -1, "Initialized value should be available to RHS");
+ assert.sameValue(effects, 1, "Initializer should only be executed once");
+ assert.sameValue(iterations, 3, "Loop body should be executed the appropriate number of times");
+})();
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinstrictinitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/strict-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers in strict mode are prohibited
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+throw NotEarlyError;
+for (var a = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinvararraybindingpatterninitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers with ArrayBindingPatterns are always prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (var [a] = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testannexBlanguagestatementsforinvarobjectbindingpatterninitializerjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js         (rev 0)
+++ trunk/JSTests/test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-initializers-in-forin-statement-heads
+description: >
+ for-in initializers with ObjectBindingPattern are always prohibited
+negative: SyntaxError
+---*/
+throw NotEarlyError;
+for (var {a} = 0 in {});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionconstructjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% creates functions with or without new and handles arguments
+ similarly to functions.
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+var fn;
+
+fn = AsyncFunction("a", "await 1;");
+assert.sameValue(fn.length, 1, "length with 1 argument, call");
+
+fn = AsyncFunction("a,b", "await 1;");
+assert.sameValue(fn.length, 2, "length with 2 arguments in one, call");
+
+fn = AsyncFunction("a", "b", "await 1;");
+assert.sameValue(fn.length, 2, "length with 2 arguments, call");
+
+fn = new AsyncFunction("a", "await 1;");
+assert.sameValue(fn.length, 1, "length with 1 argument, construct");
+
+fn = new AsyncFunction("a,b", "await 1;");
+assert.sameValue(fn.length, 2, "length with 2 arguments in one, construct");
+
+fn = new AsyncFunction("a", "b", "await 1;");
+assert.sameValue(fn.length, 2, "length with 2 arguments, construct");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% is extensible
+---*/
+
+var AsyncFunction = async function() { }.constructor;
+AsyncFunction.x = 1;
+assert.sameValue(AsyncFunction.x, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionissubclassjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% is a subclass of Function
+---*/
+async function foo() { };
+var AsyncFunction = foo.constructor;
+assert.sameValue(Object.getPrototypeOf(AsyncFunction), Function, "Prototype of constructor is Function");
+assert.sameValue(Object.getPrototypeOf(AsyncFunction.prototype), Function.prototype, "Prototype of constructor's prototype is Function.prototype");
+assert(foo instanceof Function, 'async function instance is instanceof Function');
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionlengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% has a length of 1 with writable false, enumerable false, configurable true.
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(AsyncFunction.length, 1);
+verifyNotWritable(AsyncFunction, 'length');
+verifyNotEnumerable(AsyncFunction, 'length');
+verifyConfigurable(AsyncFunction, 'length');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% has a name of "AsyncFunction".
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(AsyncFunction.name, "AsyncFunction");
+verifyNotWritable(AsyncFunction, "name");
+verifyNotEnumerable(AsyncFunction, "name");
+verifyConfigurable(AsyncFunction, "name");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: AsyncFunction has a prototype property with writable false, enumerable false, configurable false.
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+verifyNotConfigurable(AsyncFunction, 'prototype');
+verifyNotWritable(AsyncFunction, 'prototype');
+verifyNotEnumerable(AsyncFunction, 'prototype');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunction.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% exists and is a function
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(typeof AsyncFunction, "function");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunctionPrototype% has a [[Extensible]] of true
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+AsyncFunction.prototype.x = 1;
+assert.sameValue(AsyncFunction.prototype.x, 1);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypeprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: AsyncFunction.prototype has a [[prototype]] of Function.prototype
+---*/
+var AsyncFunction = async function foo() { }.constructor;
+assert.sameValue(Object.getPrototypeOf(AsyncFunction.prototype), Function.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionAsyncFunctionPrototypetostringjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunctionPrototype% has a Symbol.toStringTag property of "AsyncFunction"
+includes: [propertyHelper.js]
+---*/
+
+var AsyncFunction = async function foo() { }.constructor;
+var AFP = AsyncFunction.prototype;
+assert.sameValue(AFP[Symbol.toStringTag], "AsyncFunction", "toStringTag value");
+verifyNotWritable(AFP, Symbol.toStringTag);
+verifyNotEnumerable(AFP, Symbol.toStringTag);
+verifyConfigurable(AFP, Symbol.toStringTag);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstanceconstructjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-construct.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function instances are not constructors and do not have a
+ [[Construct]] slot.
+---*/
+
+async function foo() { }
+assert.throws(TypeError, function() {
+ new foo();
+});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstancehasnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-has-name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Async function declarations have a name property
+includes: [propertyHelper.js]
+---*/
+
+async function foo () { };
+
+assert.sameValue(foo.name, "foo");
+verifyNotWritable(foo, "name");
+verifyNotEnumerable(foo, "name");
+verifyConfigurable(foo, "name");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstancelengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async functions have a length property that is the number of expected
+ arguments.
+includes: [propertyHelper.js]
+---*/
+
+async function l0() { }
+async function l1(a) { }
+async function l2(a, b) { }
+assert.sameValue(l0.length, 0);
+assert.sameValue(l1.length, 1);
+assert.sameValue(l2.length, 2)
+
+verifyNotWritable(l0, 'length');
+verifyNotEnumerable(l0, 'length');
+verifyConfigurable(l0, 'length');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctioninstanceprototypepropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/instance-prototype-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function instances do not have a prototype property.
+---*/
+async function foo() { };
+assert.sameValue(foo.prototype, undefined, 'foo.prototype should be undefined');
+assert(!foo.hasOwnProperty('prototype'), 'foo.prototype should not exist');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsAsyncFunctionisnotaglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/AsyncFunction/is-not-a-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ %AsyncFunction% is not exposed as a global
+---*/
+
+assert.throws(ReferenceError, function () {
+ AsyncFunction
+}, "AsyncFunction should not be present as a global");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getfloat32
-es6id: 24.2.4.5
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.5 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Float32").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(6);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getFloat32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getfloat32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.5 DataView.prototype.getFloat32 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Float32").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(6);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getFloat32(-1);
+});
+
+assert.throws(RangeError, function() {
+ sample.getFloat32(Infinity);
+}, "Infinity");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getFloat32(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getFloat32(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getfloat64
-es6id: 24.2.4.6
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.6 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Float64").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(10);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getFloat64(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getfloat64
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.6 DataView.prototype.getFloat64 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Float64").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(10);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getFloat64(-1);
+});
+
+assert.throws(RangeError, function() {
+ sample.getFloat64(Infinity);
+}, "Infinity");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetFloat64detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getFloat64(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getFloat64(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint16
-es6id: 24.2.4.8
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.8 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int16").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getInt16(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint16
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.8 DataView.prototype.getInt16 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int16").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getInt16(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getInt16(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getInt16(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getInt16(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint32
-es6id: 24.2.4.9
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.9 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int32").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getInt32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.9 DataView.prototype.getInt32 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Int32").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getInt32(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getInt32(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getInt32(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getInt32(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getint8
-es6id: 24.2.4.7
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.7 DataView.prototype.getInt8 ( byteOffset )
-
- 1. Let v be the this value.
- 2. Return ? GetViewValue(v, byteOffset, true, "Int8").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getInt8(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getint8
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.7 DataView.prototype.getInt8 ( byteOffset )
+
+ 1. Let v be the this value.
+ 2. Return ? GetViewValue(v, byteOffset, true, "Int8").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getInt8(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getInt8(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetInt8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -15,10 +15,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getInt8(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getInt8(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint16
-es6id: 24.2.4.11
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.11 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Uint16").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getUint16(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint16
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.11 DataView.prototype.getUint16 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Uint16").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getUint16(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getUint16(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getUint16(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getUint16(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint32
-es6id: 24.2.4.12
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.12 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Uint32").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getUint32(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.12 DataView.prototype.getUint32 ( byteOffset [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? GetViewValue(v, byteOffset, littleEndian, "Uint32").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getUint32(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getUint32(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -16,10 +16,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getUint32(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getUint32(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.getuint8
-es6id: 24.2.4.10
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0,
-info: |
- 24.2.4.10 DataView.prototype.getUint8 ( byteOffset )
-
- 1. Let v be the this value.
- 2. Return ? GetViewValue(v, byteOffset, true, "Uint8").
-
- 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.getUint8(-1);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.getuint8
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.10 DataView.prototype.getUint8 ( byteOffset )
+
+ 1. Let v be the this value.
+ 2. Return ? GetViewValue(v, byteOffset, true, "Uint8").
+
+ 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.getUint8(Infinity);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.getUint8(-1);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypegetUint8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -15,10 +15,10 @@
</span><span class="cx"> 24.2.1.1 GetViewValue ( view, requestIndex, isLittleEndian, type )
</span><span class="cx">
</span><span class="cx"> ...
</span><del>- 8. Let buffer be the value of view's [[ViewedArrayBuffer]] internal slot.
- 9. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</del><ins>+ 6. Let buffer be view.[[ViewedArrayBuffer]].
+ 7. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
</ins><span class="cx"> ...
</span><del>- 13. If getIndex + elementSize > viewSize, throw a RangeError exception.
</del><ins>+ 11. If getIndex + elementSize > viewSize, throw a RangeError exception.
</ins><span class="cx"> ...
</span><span class="cx"> includes: [detachArrayBuffer.js]
</span><span class="cx"> ---*/
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.getUint8(Infinity);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.getUint8(13);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setfloat32
-es6id: 24.2.4.13
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.13 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Float32", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(8);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setFloat32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setfloat32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.13 DataView.prototype.setFloat32 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Float32", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(8);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setFloat32(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setFloat32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setFloat32(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setFloat32(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -35,3 +35,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setFloat32(-Infinity, poisoned);
</span><span class="cx"> }, "setFloat32(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setFloat32(Infinity, poisoned);
+}, "setFloat32(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setFloat32(Infinity, poisoned);
-}, "setFloat32(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setFloat32(100, poisoned);
</span><span class="cx"> }, "setFloat32(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setFloat32('Infinity', poisoned);
-}, "setFloat32('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setFloat32('100', poisoned);
</span><span class="cx"> }, "setFloat32('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setfloat64
-es6id: 24.2.4.14
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.14 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Float64", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setFloat64(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setfloat64
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.14 DataView.prototype.setFloat64 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Float64", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(TypeError, function() {
+ sample.setFloat64(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setFloat64(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setFloat64(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setFloat64(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setFloat64(-Infinity, poisoned);
</span><span class="cx"> }, "setFloat64(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setFloat64(Infinity, poisoned);
+}, "setFloat64(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetFloat64rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setFloat64(Infinity, poisoned);
-}, "setFloat64(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setFloat64(100, poisoned);
</span><span class="cx"> }, "setFloat64(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setFloat64('Infinity', poisoned);
-}, "setFloat64('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setFloat64('100', poisoned);
</span><span class="cx"> }, "setFloat64('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint16
-es6id: 24.2.4.16
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.16 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Int16", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setInt16(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint16
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.16 DataView.prototype.setInt16 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Int16", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(TypeError, function() {
+ sample.setInt16(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setInt16(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setInt16(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setInt16(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setInt16(-Infinity, poisoned);
</span><span class="cx"> }, "setInt16(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setInt16(Infinity, poisoned);
+}, "setInt16(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt16rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt16(Infinity, poisoned);
-}, "setInt16(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt16(100, poisoned);
</span><span class="cx"> }, "setInt16(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt16('Infinity', poisoned);
-}, "setInt16('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt16('100', poisoned);
</span><span class="cx"> }, "setInt16('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint32
-es6id: 24.2.4.17
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.17 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Int32", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setInt32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.17 DataView.prototype.setInt32 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Int32", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setInt32(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setInt32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setInt32(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setInt32(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setInt32(-Infinity, poisoned);
</span><span class="cx"> }, "setInt32(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setInt32(Infinity, poisoned);
+}, "setInt32(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt32(Infinity, poisoned);
-}, "setInt32(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt32(100, poisoned);
</span><span class="cx"> }, "setInt32(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt32('Infinity', poisoned);
-}, "setInt32('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt32('100', poisoned);
</span><span class="cx"> }, "setInt32('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setint8
-es6id: 24.2.4.15
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.15 DataView.prototype.setInt8 ( byteOffset, value )
-
- 1. Let v be the this value.
- 2. Return ? SetViewValue(v, byteOffset, true, "Int8", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setInt8(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setint8
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.15 DataView.prototype.setInt8 ( byteOffset, value )
+
+ 1. Let v be the this value.
+ 2. Return ? SetViewValue(v, byteOffset, true, "Int8", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setInt8(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setInt8(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setInt8(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setInt8(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setInt8(-Infinity, poisoned);
</span><span class="cx"> }, "setInt8(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setInt8(Infinity, poisoned);
+}, "setInt8(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetInt8rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt8(Infinity, poisoned);
-}, "setInt8(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt8(100, poisoned);
</span><span class="cx"> }, "setInt8(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setInt8('Infinity', poisoned);
-}, "setInt8('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setInt8('100', poisoned);
</span><span class="cx"> }, "setInt8('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint16
-es6id: 24.2.4.19
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.19 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Uint16", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setUint16(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint16
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.19 DataView.prototype.setUint16 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Uint16", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setUint16(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setUint16(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setUint16(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setUint16(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setUint16(-Infinity, poisoned);
</span><span class="cx"> }, "setUint16(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setUint16(Infinity, poisoned);
+}, "setUint16(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint16rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint16(Infinity, poisoned);
-}, "setUint16(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint16(100, poisoned);
</span><span class="cx"> }, "setUint16(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint16('Infinity', poisoned);
-}, "setUint16('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint16('100', poisoned);
</span><span class="cx"> }, "setUint16('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,35 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint32
-es6id: 24.2.4.20
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.20 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
-
- 1. Let v be the this value.
- 2. If littleEndian is not present, let littleEndian be false.
- 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Uint32", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setUint32(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint32
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.20 DataView.prototype.setUint32 ( byteOffset, value [ , littleEndian ] )
+
+ 1. Let v be the this value.
+ 2. If littleEndian is not present, let littleEndian be false.
+ 3. Return ? SetViewValue(v, byteOffset, littleEndian, "Uint32", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setUint32(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setUint32(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -32,9 +32,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setUint32(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setUint32(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setUint32(-Infinity, poisoned);
</span><span class="cx"> }, "setUint32(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setUint32(Infinity, poisoned);
+}, "setUint32(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint32rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint32(Infinity, poisoned);
-}, "setUint32(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint32(100, poisoned);
</span><span class="cx"> }, "setUint32(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint32('Infinity', poisoned);
-}, "setUint32('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint32('100', poisoned);
</span><span class="cx"> }, "setUint32('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,34 +0,0 @@
</span><del>-// Copyright (C) 2016 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-esid: sec-dataview.prototype.setuint8
-es6id: 24.2.4.18
-description: >
- Detached buffer is checked after checking If numberIndex ≠ getIndex or
- getIndex < 0
-info: |
- 24.2.4.18 DataView.prototype.setUint8 ( byteOffset, value )
-
- 1. Let v be the this value.
- 2. Return ? SetViewValue(v, byteOffset, true, "Uint8", value).
-
- 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
-
- ...
- 4. Let getIndex be ? ToIndex(requestIndex).
- ...
- 7. Let buffer be view.[[ViewedArrayBuffer]].
- 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
- ...
-includes: [detachArrayBuffer.js]
----*/
-
-var buffer = new ArrayBuffer(12);
-var sample = new DataView(buffer, 0);
-
-$DETACHBUFFER(buffer);
-
-assert.throws(RangeError, function() {
- sample.setUint8(-1, 0);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferaftertoindexbyteoffsetjsfromrev204850trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferafterintegerbyteoffsetjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js (from rev 204850, trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-dataview.prototype.setuint8
+description: >
+ Detached buffer is only checked after ToIndex(requestIndex)
+info: |
+ 24.2.4.18 DataView.prototype.setUint8 ( byteOffset, value )
+
+ 1. Let v be the this value.
+ 2. Return ? SetViewValue(v, byteOffset, true, "Uint8", value).
+
+ 24.2.1.2 SetViewValue ( view, requestIndex, isLittleEndian, type, value )
+
+ ...
+ 4. Let getIndex be ? ToIndex(requestIndex).
+ ...
+ 7. Let buffer be view.[[ViewedArrayBuffer]].
+ 8. If IsDetachedBuffer(buffer) is true, throw a TypeError exception.
+ ...
+includes: [detachArrayBuffer.js]
+---*/
+
+var buffer = new ArrayBuffer(12);
+var sample = new DataView(buffer, 0);
+
+$DETACHBUFFER(buffer);
+
+assert.throws(RangeError, function() {
+ sample.setUint8(Infinity, 0);
+}, "Infinity");
+
+assert.throws(RangeError, function() {
+ sample.setUint8(-1, 0);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8detachedbufferbeforeoutofrangebyteoffsetjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,9 +31,5 @@
</span><span class="cx"> $DETACHBUFFER(buffer);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- sample.setUint8(Infinity, 0);
-}, "Infinity");
-
-assert.throws(TypeError, function() {
</del><span class="cx"> sample.setUint8(13, 0);
</span><span class="cx"> }, "13");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8indexcheckbeforevalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -36,3 +36,7 @@
</span><span class="cx"> assert.throws(RangeError, function() {
</span><span class="cx"> dataView.setUint8(-Infinity, poisoned);
</span><span class="cx"> }, "setUint8(-Infinity, poisoned)");
</span><ins>+
+assert.throws(RangeError, function() {
+ dataView.setUint8(Infinity, poisoned);
+}, "setUint8(Infinity, poisoned)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsDataViewprototypesetUint8rangecheckaftervalueconversionjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -31,17 +31,9 @@
</span><span class="cx"> };
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint8(Infinity, poisoned);
-}, "setUint8(Infinity, poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint8(100, poisoned);
</span><span class="cx"> }, "setUint8(100, poisoned)");
</span><span class="cx">
</span><span class="cx"> assert.throws(Test262Error, function() {
</span><del>- dataView.setUint8('Infinity', poisoned);
-}, "setUint8('Infinity', poisoned)");
-
-assert.throws(Test262Error, function() {
</del><span class="cx"> dataView.setUint8('100', poisoned);
</span><span class="cx"> }, "setUint8('100', poisoned)");
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetboundjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: >
+ The NewTarget value is changed to the target function when the bound function
+ object is constructed using Reflect.construct and the "bound target" is
+ specified as the NewTarget value (and the bound target is itself a bound
+ function)
+info: |
+ [...]
+ 5. If SameValue(F, newTarget) is true, let newTarget be target.
+ 6. Return ? Construct(target, args, newTarget).
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+ newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], B);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetboundtargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: >
+ The NewTarget value is changed to the target function when the bound function
+ object is constructed using Reflect.construct and the "bound target" is
+ specified as the NewTarget value
+info: |
+ [...]
+ 5. If SameValue(F, newTarget) is true, let newTarget be target.
+ 6. Return ? Construct(target, args, newTarget).
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+ newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], A);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfnewjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: >
+ The NewTarget value is changed to the target function when the bound function
+ object is constructed using the `new` operator
+info: |
+ [...]
+ 5. If SameValue(F, newTarget) is true, let newTarget be target.
+ 6. Return ? Construct(target, args, newTarget).
+features: [new.target]
+---*/
+
+var newTarget;
+function A() {
+ newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = new C();
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypebindinstanceconstructnewtargetselfreflectjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-bound-function-exotic-objects-construct-argumentslist-newtarget
+es6id: 9.4.1.2
+description: >
+ The NewTarget value is changed to the target function when the bound function
+ object is constructed using Reflect.construct and the bound function is
+ specified as the NewTarget value
+info: |
+ [...]
+ 5. If SameValue(F, newTarget) is true, let newTarget be target.
+ 6. Return ? Construct(target, args, newTarget).
+features: [Reflect, new.target]
+---*/
+
+var newTarget;
+function A() {
+ newTarget = new.target;
+}
+var B = A.bind();
+var C = B.bind();
+
+var c = Reflect.construct(C, [], C);
+
+assert.sameValue(newTarget, A);
+assert.sameValue(Object.getPrototypeOf(c), A.prototype);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringAsyncFunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/AsyncFunction.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Function.prototype.toString on an async function created with the
+ AsyncFunction constructor.
+features: [async-functions]
+---*/
+async function f() {}
+var AsyncFunction = f.constructor;
+var g = /* before */AsyncFunction("a", " /* a */ b, c /* b */ //", "/* c */ ; /* d */ //")/* after */;
+assert.sameValue(g.toString(), "async function anonymous(a, /* a */ b, c /* b */ //\n) {/* c */ ; /* d */ //\n}");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctiondeclarationjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Function.prototype.toString on an async function declaration
+features: [async-functions]
+---*/
+
+/* before */async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }/* after */
+
+assert.sameValue(f.toString(), "async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncfunctionexpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-function-expression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Function.prototype.toString on an async function expression
+features: [async-functions]
+---*/
+
+let f = /* before */async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }/* after */;
+
+assert.sameValue(f.toString(), "async function /* a */ f /* b */ ( /* c */ x /* d */ , /* e */ y /* f */ ) /* g */ { /* h */ ; /* i */ ; /* j */ }");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsFunctionprototypetoStringasyncmethodjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Function/prototype/toString/async-method.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Function.prototype.toString on an async method
+features: [async-functions]
+---*/
+
+let f = { /* before */async f /* a */ ( /* b */ ) /* c */ { /* d */ }/* after */ }.f;
+let g = { /* before */async /* a */ [ /* b */ "g" /* c */ ] /* d */ ( /* e */ ) /* f */ { /* g */ }/* after */ }.g;
+
+assert.sameValue(f.toString(), "async f /* a */ ( /* b */ ) /* c */ { /* d */ }");
+assert.sameValue(g.toString(), "async /* a */ [ /* b */ \"g\" /* c */ ] /* d */ ( /* e */ ) /* f */ { /* g */ }");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraydefineproperrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from defining array property while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ i. Set I to 0.
+ ii. Let len be ? ToLength(? Get(val, "length")).
+ iii. Repeat while I < len,
+ 1. Let newElement be ? InternalizeJSONProperty(val, !
+ ToString(I)).
+ 2. If newElement is undefined, then
+ [...]
+ 3. Else,
+ a. Perform ? CreateDataProperty(val, ! ToString(I),
+ newElement).
+features: [Proxy]
+---*/
+
+var badDefine = new Proxy([null], {
+ defineProperty: function(_, name) {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('["first", null]', function(_, value) {
+ if (value === 'first') {
+ this[1] = badDefine;
+ }
+ return value;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraydeleteerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-delete-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from array property deletion while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ i. Set I to 0.
+ ii. Let len be ? ToLength(? Get(val, "length")).
+ iii. Repeat while I < len,
+ 1. Let newElement be ? InternalizeJSONProperty(val, !
+ ToString(I)).
+ 2. If newElement is undefined, then
+ a. Perform ? val.[[Delete]](! ToString(I)).
+features: [Proxy]
+---*/
+
+var badDelete = new Proxy([0], {
+ deleteProperty: function() {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ this[1] = badDelete;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthcoerceerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: >
+ Abrupt completion from coercing array "length" property to a number value
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ i. Set I to 0.
+ ii. Let len be ? ToLength(? Get(val, "length")).
+features: [Proxy]
+---*/
+
+var uncoercible = {
+ valueOf: function() {
+ throw new Test262Error();
+ }
+};
+var badLength = new Proxy([], {
+ get: function(_, name) {
+ if (name === 'length') {
+ return uncoercible;
+ }
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ this[1] = badLength;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverarraylengthgeterrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: >
+ Abrupt completion from array "length" property access while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ i. Set I to 0.
+ ii. Let len be ? ToLength(? Get(val, "length")).
+features: [Proxy]
+---*/
+
+var badLength = new Proxy([], {
+ get: function(_, name) {
+ if (name === 'length') {
+ throw new Test262Error();
+ }
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ this[1] = badLength;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparserevivercallerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-call-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: >
+ Abrupt completion when reviver function returns an abrupt completion
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ [...]
+ 3. Return ? Call(reviver, holder, « name, val »).
+---*/
+
+assert.throws(Test262Error, function() {
+ JSON.parse('0', function() {
+ throw new Test262Error();
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparserevivergetnameerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-get-name-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from "holder" property access while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+---*/
+
+var thrower = function() {
+ throw new Test262Error();
+};
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ Object.defineProperty(this, '1', {
+ get: thrower
+ });
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectdefineproperrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from defining object property while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ [...]
+ c. Else,
+ i. Let keys be ? EnumerableOwnProperties(val, "key").
+ ii. For each String P in keys do,
+ 1. Let newElement be ? InternalizeJSONProperty(val, P).
+ 2. If newElement is undefined, then
+ [...]
+ 3. Else,
+ a. Perform ? CreateDataProperty(val, P, newElement).
+features: [Proxy]
+---*/
+
+var badDefine = new Proxy({ 0: null }, {
+ defineProperty: function() {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('["first", null]', function(_, value) {
+ if (value === 'first') {
+ this[1] = badDefine;
+ }
+ return value;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectdeleteerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-delete-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from object property deletion while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ [...]
+ c. Else,
+ i. Let keys be ? EnumerableOwnProperties(val, "key").
+ ii. For each String P in keys do,
+ 1. Let newElement be ? InternalizeJSONProperty(val, P).
+ 2. If newElement is undefined, then
+ a. Perform ? val.[[Delete]](P).
+features: [Proxy]
+---*/
+
+var badDelete = new Proxy({ a: 1 }, {
+ deleteProperty: function() {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ this[1] = badDelete;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsJSONparsereviverobjectownkeyserrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-internalizejsonproperty
+es6id: 24.3.1.1
+description: Abrupt completion from object property enumeration while reviving
+info: |
+ JSON.parse ( text [ , reviver ] )
+
+ [...]
+ 7. If IsCallable(reviver) is true, then
+ [...]
+ e. Return ? InternalizeJSONProperty(root, rootName).
+
+ Runtime Semantics: InternalizeJSONProperty ( holder, name)
+
+ 1. Let val be ? Get(holder, name).
+ 2. If Type(val) is Object, then
+ a. Let isArray be ? IsArray(val).
+ b. If isArray is true, then
+ [...]
+ c. Else,
+ i. Let keys be ? EnumerableOwnProperties(val, "key").
+features: [Proxy]
+---*/
+
+var badKeys = new Proxy({}, {
+ ownKeys: function() {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ JSON.parse('[0,0]', function() {
+ this[1] = badKeys;
+ });
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialinfinityjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/infinity.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return signed Infinity string if this is Infinity
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ [...]
+ 5. Let s be the empty String.
+ 6. If x < 0, then
+ a. Let s be "-".
+ b. Let x be -x.
+ 7. If x = +∞, then
+ a. Return the concatenation of the Strings s and "Infinity".
+ [...]
+---*/
+
+assert.sameValue((+Infinity).toExponential(1000), "Infinity", "Infinity value");
+var n = new Number(+Infinity);
+assert.sameValue(n.toExponential(1000), "Infinity", "Number Infinity");
+
+assert.sameValue((-Infinity).toExponential(1000), "-Infinity", "-Infinity value");
+var n = new Number(-Infinity);
+assert.sameValue(n.toExponential(1000), "-Infinity", "Number -Infinity");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialnanjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/nan.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return "NaN" if this is NaN
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ 2. Let f be ? ToInteger(fractionDigits).
+ 3. Assert: f is 0, when fractionDigits is undefined.
+ 4. If x is NaN, return the String "NaN".
+ [...]
+---*/
+
+assert.sameValue(NaN.toExponential(Infinity), "NaN", "NaN value");
+
+var n = new Number(NaN);
+assert.sameValue(n.toExponential(NaN), "NaN", "NaN obj");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialpropdescjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/prop-desc.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ "toExponential" property of Number.prototype
+info: >
+ ES6 section 17: Every other data property described in clauses 18 through 26
+ and in Annex B.2 has the attributes { [[Writable]]: true,
+ [[Enumerable]]: false, [[Configurable]]: true } unless otherwise specified.
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Number.prototype, "toExponential");
+verifyWritable(Number.prototype, "toExponential");
+verifyConfigurable(Number.prototype, "toExponential");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitssymboljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return abrupt completion from ToInteger(symbol fractionDigits)
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ 2. Let f be ? ToInteger(fractionDigits).
+ [...]
+features: [Symbol]
+---*/
+
+var fd = Symbol("1");
+
+assert.throws(TypeError, function() {
+ NaN.toExponential(fd);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnabrupttointegerfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return abrupt completion from ToInteger(fractionDigits)
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ 2. Let f be ? ToInteger(fractionDigits).
+ [...]
+---*/
+
+var fd1 = {
+ valueOf: function() {
+ throw new Test262Error();
+ }
+};
+
+var fd2 = {
+ toString: function() {
+ throw new Test262Error();
+ }
+};
+
+assert.throws(Test262Error, function() {
+ NaN.toExponential(fd1);
+}, "valueOf");
+
+assert.throws(Test262Error, function() {
+ NaN.toExponential(fd2);
+}, "toString");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialreturnvaluesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/return-values.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return regular string values
+---*/
+
+assert.sameValue((123.456).toExponential(0), "1e+2");
+assert.sameValue((123.456).toExponential(1), "1.2e+2");
+assert.sameValue((123.456).toExponential(2), "1.23e+2");
+assert.sameValue((123.456).toExponential(3), "1.235e+2");
+assert.sameValue((123.456).toExponential(4), "1.2346e+2");
+assert.sameValue((123.456).toExponential(5), "1.23456e+2");
+assert.sameValue((123.456).toExponential(6), "1.234560e+2");
+assert.sameValue((123.456).toExponential(7), "1.2345600e+2");
+assert.sameValue((123.456).toExponential(17), "1.23456000000000003e+2");
+assert.sameValue((123.456).toExponential(20), "1.23456000000000003070e+2");
+
+assert.sameValue((-123.456).toExponential(0), "-1e+2");
+assert.sameValue((-123.456).toExponential(1), "-1.2e+2");
+assert.sameValue((-123.456).toExponential(2), "-1.23e+2");
+assert.sameValue((-123.456).toExponential(3), "-1.235e+2");
+assert.sameValue((-123.456).toExponential(4), "-1.2346e+2");
+assert.sameValue((-123.456).toExponential(5), "-1.23456e+2");
+assert.sameValue((-123.456).toExponential(6), "-1.234560e+2");
+assert.sameValue((-123.456).toExponential(7), "-1.2345600e+2");
+assert.sameValue((-123.456).toExponential(17), "-1.23456000000000003e+2");
+assert.sameValue((-123.456).toExponential(20), "-1.23456000000000003070e+2");
+
+assert.sameValue((0.0001).toExponential(0), "1e-4");
+assert.sameValue((0.0001).toExponential(1), "1.0e-4");
+assert.sameValue((0.0001).toExponential(2), "1.00e-4");
+assert.sameValue((0.0001).toExponential(3), "1.000e-4");
+assert.sameValue((0.0001).toExponential(4), "1.0000e-4");
+assert.sameValue((0.0001).toExponential(16), "1.0000000000000000e-4");
+assert.sameValue((0.0001).toExponential(17), "1.00000000000000005e-4");
+assert.sameValue((0.0001).toExponential(18), "1.000000000000000048e-4");
+assert.sameValue((0.0001).toExponential(19), "1.0000000000000000479e-4");
+assert.sameValue((0.0001).toExponential(20), "1.00000000000000004792e-4");
+
+assert.sameValue((0.9999).toExponential(0), "1e+0");
+assert.sameValue((0.9999).toExponential(1), "1.0e+0");
+assert.sameValue((0.9999).toExponential(2), "1.00e+0");
+assert.sameValue((0.9999).toExponential(3), "9.999e-1");
+assert.sameValue((0.9999).toExponential(4), "9.9990e-1");
+assert.sameValue((0.9999).toExponential(16), "9.9990000000000001e-1");
+assert.sameValue((0.9999).toExponential(17), "9.99900000000000011e-1");
+assert.sameValue((0.9999).toExponential(18), "9.999000000000000110e-1");
+assert.sameValue((0.9999).toExponential(19), "9.9990000000000001101e-1");
+assert.sameValue((0.9999).toExponential(20), "9.99900000000000011013e-1");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsis0js"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return "0" if this value is 0 and ToInteger(fractionDigits) is 0
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ [...]
+ 9. If x = 0, then
+ a. Let m be the String consisting of f+1 occurrences of the code unit 0x0030
+ (DIGIT ZERO).
+ b. Let e be 0.
+ [...]
+ 11. If f ≠ 0, then
+ [...]
+ 12. If e = 0, then
+ a. Let c be "+".
+ b. Let d be "0".
+ [...]
+ 14. Let m be the concatenation of the four Strings m, "e", c, and d.
+ 15. Return the concatenation of the Strings s and m.
+---*/
+
+assert.sameValue(Number.prototype.toExponential(0), "0e+0", "Number.prototype");
+
+assert.sameValue((0).toExponential(0), "0e+0", "(0).toExponential(0)");
+assert.sameValue((-0).toExponential(0), "0e+0", "(-0).toExponential(0)");
+
+assert.sameValue((0).toExponential(-0), "0e+0", "(0).toExponential(-0)");
+assert.sameValue((-0).toExponential(-0), "0e+0", "(-0).toExponential(-0)");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthisis0fractiondigitsisnot0js"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Return string value for this value = 0 and fractionDigits != 0
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ [...]
+ 9. If x = 0, then
+ a. Let m be the String consisting of f+1 occurrences of the code unit 0x0030
+ (DIGIT ZERO).
+ b. Let e be 0.
+ [...]
+ 11. If f ≠ 0, then
+ a. Let a be the first element of m, and let b be the remaining f elements of m.
+ b. Let m be the concatenation of the three Strings a, ".", and b.
+ 12. If e = 0, then
+ a. Let c be "+".
+ b. Let d be "0".
+ [...]
+ 14. Let m be the concatenation of the four Strings m, "e", c, and d.
+ 15. Return the concatenation of the Strings s and m.
+---*/
+
+assert.sameValue((0).toExponential(1), "0.0e+0", "0 and 1");
+assert.sameValue((0).toExponential(2), "0.00e+0", "0 and 2");
+assert.sameValue((0).toExponential(7), "0.0000000e+0", "0 and 7");
+assert.sameValue((0).toExponential(20), "0.00000000000000000000e+0", "0 and 20");
+
+assert.sameValue((-0).toExponential(1), "0.0e+0", "-0 and 1");
+assert.sameValue((-0).toExponential(2), "0.00e+0", "-0 and 2");
+assert.sameValue((-0).toExponential(7), "0.0000000e+0", "-0 and 7");
+assert.sameValue((-0).toExponential(20), "0.00000000000000000000e+0", "-0 and 20");
+
+assert.sameValue((0.0).toExponential(4), "0.0000e+0", "0.0 and 4");
+assert.sameValue((-0.0).toExponential(4), "0.0000e+0", "-0.0 and 4");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialthistypenotnumberornumberobjectjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Throws a TypeError if this value is not a number object or value
+info: |
+ 20.1.3 Properties of the Number Prototype Object
+
+ The Number prototype object is the intrinsic object %NumberPrototype%. The
+ Number prototype object is an ordinary object. The Number prototype is itself
+ a Number object; it has a [[NumberData]] internal slot with the value +0.
+
+ [...]
+ The abstract operation thisNumberValue(value) performs the following steps:
+
+ 1. If Type(value) is Number, return value.
+ 2. If Type(value) is Object and value has a [[NumberData]] internal slot, then
+ a. Assert: value's [[NumberData]] internal slot is a Number value.
+ b. Return the value of value's [[NumberData]] internal slot.
+ 3. Throw a TypeError exception.
+
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ [...]
+features: [Symbol]
+---*/
+
+var toExponential = Number.prototype.toExponential;
+
+assert.throws(TypeError, function() {
+ toExponential.call({}, 1);
+}, "{}");
+
+assert.throws(TypeError, function() {
+ toExponential.call("1", 1);
+}, "string");
+
+assert.throws(TypeError, function() {
+ toExponential.call(Number, 1);
+}, "Number");
+
+assert.throws(TypeError, function() {
+ toExponential.call(true, 1);
+}, "true");
+
+assert.throws(TypeError, function() {
+ toExponential.call(false, 1);
+}, "false");
+
+assert.throws(TypeError, function() {
+ toExponential.call(null, 1);
+}, "null");
+
+assert.throws(TypeError, function() {
+ toExponential.call(undefined, 1);
+}, "undefined");
+
+assert.throws(TypeError, function() {
+ toExponential.call(Symbol("1"), 1);
+}, "symbol");
+
+assert.throws(TypeError, function() {
+ toExponential.call([], 1);
+}, "[]");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialtointegerfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ ToInteger(fractionDigits operations)
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ 2. Let f be ? ToInteger(fractionDigits).
+ [...]
+---*/
+
+assert.sameValue((123.456).toExponential(0.1), "1e+2", "0.1");
+assert.sameValue((123.456).toExponential(-0.1), "1e+2", "-0.1");
+assert.sameValue((123.456).toExponential(0.9), "1e+2", "0.9");
+assert.sameValue((123.456).toExponential(-0.9), "1e+2", "-0.9");
+
+assert.sameValue((123.456).toExponential(false), "1e+2", "false");
+assert.sameValue((123.456).toExponential(true), "1.2e+2", "true");
+
+assert.sameValue((123.456).toExponential(NaN), "1e+2", "NaN");
+assert.sameValue((123.456).toExponential(null), "1e+2", "null");
+
+assert.sameValue((123.456).toExponential("2"), "1.23e+2", "string");
+assert.sameValue((123.456).toExponential(""), "1e+2", "the empty string");
+
+assert.sameValue((123.456).toExponential([]), "1e+2", "[]");
+assert.sameValue((123.456).toExponential([2]), "1.23e+2", "[2]");
+
+assert.sameValue((0).toExponential(undefined), "0e+0", "undefined");
+assert.sameValue((0).toExponential(), "0e+0", "no arg");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsNumberprototypetoExponentialundefinedfractiondigitsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 The V8 Project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es6id: 20.1.3.2
+esid: sec-number.prototype.toexponential
+description: >
+ Handle undefined fractionDigits, not only casting it to 0
+info: |
+ Number.prototype.toExponential ( fractionDigits )
+
+ 1. Let x be ? thisNumberValue(this value).
+ 2. Let f be ? ToInteger(fractionDigits).
+ [...]
+ 10. Else x ≠ 0,
+ a. If fractionDigits is not undefined, then
+ i. Let e and n be integers such that 10f ≤ n < 10f+1 and for which the
+ exact mathematical value of n × 10e-f - x is as close to zero as
+ possible. If there are two such sets of e and n, pick the e and n for
+ which n × 10e-f is larger.
+ b. Else fractionDigits is undefined,
+ i. Let e, n, and f be integers such that f ≥ 0, 10f ≤ n < 10f+1, the
+ Number value for n × 10e-f is x, and f is as small as possible. Note
+ that the decimal representation of n has f+1 digits, n is not divisible
+ by 10, and the least significant digit of n is not necessarily uniquely
+ determined by these criteria.
+---*/
+
+assert.sameValue((123.456).toExponential(undefined), "1.23456e+2", "undefined");
+assert.sameValue((123.456).toExponential(), "1.23456e+2", "no arg");
+assert.sameValue((123.456).toExponential(0), "1e+2", "0");
+
+assert.sameValue((1.1e-32).toExponential(undefined), "1.1e-32", "undefined");
+assert.sameValue((1.1e-32).toExponential(), "1.1e-32", "no arg");
+assert.sameValue((1.1e-32).toExponential(0), "1e-32", "0");
+
+assert.sameValue((100).toExponential(undefined), "1e+2", "undefined");
+assert.sameValue((100).toExponential(), "1e+2", "no arg");
+assert.sameValue((100).toExponential(0), "1e+2", "0");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsduplicatekeysjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -27,5 +27,12 @@
</span><span class="cx">
</span><span class="cx"> var result = Object.getOwnPropertyDescriptors(proxy);
</span><span class="cx"> assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
</span><del>-assert.sameValue(result.DUPLICATE, undefined);
</del><ins>+
+var lastDescriptor = descriptors[descriptors.length - 1];
+assert.notSameValue(result.DUPLICATE, lastDescriptor);
+assert.sameValue(result.DUPLICATE.enumerable, lastDescriptor.enumerable);
+assert.sameValue(result.DUPLICATE.configurable, lastDescriptor.configurable);
+assert.sameValue(result.DUPLICATE.value, lastDescriptor.value);
+assert.sameValue(result.DUPLICATE.writable, lastDescriptor.writable);
+
</ins><span class="cx"> assert.sameValue(log, 'ownKeys|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|');
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsObjectgetOwnPropertyDescriptorsproxyundefineddescriptorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jordan Harband. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Object.getOwnPropertyDescriptors should filter out undefined OwnPropertyDescriptors
+esid: sec-object.getownpropertydescriptors
+author: Jordan Harband
+features: [Proxy]
+includes: [proxyTrapsHelper.js]
+---*/
+
+var key = "a";
+var ownKeys = [key];
+var badProxyHandlers = allowProxyTraps({
+ getOwnPropertyDescriptor: function () {},
+ ownKeys: function () {
+        return ownKeys;
+ }
+});
+var proxy = new Proxy({}, badProxyHandlers);
+
+var keys = Reflect.ownKeys(proxy);
+assert.notSameValue(keys, ownKeys, 'Object.keys returns a new Array');
+assert.sameValue(Array.isArray(keys), true, 'Object.keys returns an Array');
+assert.sameValue(keys.length, ownKeys.length, 'keys and ownKeys have the same length');
+assert.sameValue(keys[0], ownKeys[0], 'keys and ownKeys have the same contents');
+
+var descriptor = Object.getOwnPropertyDescriptor(proxy, key);
+assert.sameValue(descriptor, undefined, "Descriptor matches result of [[GetOwnPropertyDescriptor]] trap");
+
+var result = Object.getOwnPropertyDescriptors(proxy);
+assert.sameValue(key in result, false, "key is not present in result");
</ins><span class="cx">Property changes on: trunk/JSTests/test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="allowtabs"></a>
<div class="addfile"><h4>Added: allow-tabs</h4></div>
<ins>+true
</ins><span class="cx">\ No newline at end of property
</span><a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfbooleantrapresultextensibletargetjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,28 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: >
- Return a boolean trap result if target is extensible.
-info: >
- [[SetPrototypeOf]] (V)
-
- ...
- 13. If extensibleTarget is true, return booleanTrapResult.
- ...
-flags: [onlyStrict]
-features: [Reflect]
----*/
-
-var target = {};
-var p = new Proxy(target, {
- setPrototypeOf: function(t, v) {
- return v.attr;
- }
-});
-
-var result = Reflect.setPrototypeOf(p, { attr: 0 });
-assert.sameValue(result, false);
-
-result = Reflect.setPrototypeOf(p, { attr: 1 });
-assert.sameValue(result, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfinternalscallorderjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Calls target.[[GetPrototypeOf]] after trap result as false and not extensible
+ target
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+ 9. If booleanTrapResult is false, return false.
+ 10. Let extensibleTarget be ? IsExtensible(target).
+ 11. If extensibleTarget is true, return true.
+ 12. Let targetProto be ? target.[[GetPrototypeOf]]().
+features: [Reflect.setPrototypeOf]
+---*/
+
+var calls = [];
+var proto = {};
+
+var target = new Proxy(Object.create(proto), {
+ isExtensible: function() {
+ calls.push("target.[[IsExtensible]]");
+ return false;
+ },
+ getPrototypeOf: function() {
+ calls.push("target.[[GetPrototypeOf]]");
+ return proto;
+ }
+});
+
+// Proxy must report same extensiblitity as target
+Object.preventExtensions(target);
+
+var proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ calls.push("proxy.[[setPrototypeOf]]");
+ return true;
+ }
+});
+
+assert.sameValue(Reflect.setPrototypeOf(proxy, proto), false);
+assert.sameValue(calls.length, 3);
+assert.sameValue(calls[0], "proxy.[[setPrototypeOf]]");
+assert.sameValue(calls[1], "target.[[IsExtensible]]");
+assert.sameValue(calls[2], "target.[[GetPrototypeOf]]");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetnotsametargetprototypejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -21,18 +21,33 @@
</span><span class="cx"> 16. If booleanTrapResult is true and SameValue(V, targetProto) is false,
</span><span class="cx"> throw a TypeError exception.
</span><span class="cx"> ...
</span><del>-
</del><ins>+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx">
</span><del>-var target = {};
-var p = new Proxy(target, {
- setPrototypeOf: function(t, v) {
- return true;
- }
</del><ins>+var target, proxy;
+target = {};
+proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ return true;
+ }
</ins><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> Object.preventExtensions(target);
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- Object.setPrototypeOf(p, {});
</del><ins>+ Reflect.setPrototypeOf(proxy, {});
+}, "target prototype is different");
+
+var proto = {};
+target = Object.setPrototypeOf({}, proto);
+proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ Object.setPrototypeOf(target, {});
+ Object.preventExtensions(target);
+ return true;
+ }
</ins><span class="cx"> });
</span><ins>+
+assert.throws(TypeError, function() {
+ Reflect.setPrototypeOf(proxy, proto);
+}, "target prototype is changed inside trap handler");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletargetsametargetprototypejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +1,55 @@
</span><span class="cx"> // Copyright (C) 2015 the V8 project authors. All rights reserved.
</span><span class="cx"> // This code is governed by the BSD license found in the LICENSE file.
</span><span class="cx"> /*---
</span><ins>+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
</ins><span class="cx"> es6id: 9.5.2
</span><span class="cx"> description: >
</span><del>- Return true if boolean trap result is true, target is not extensible, and
- given parameter is the same as target prototype.
-features: [Reflect]
</del><ins>+ Handler can only return true for non-extensible targets if the given prototype
+ is the same as target's prototype
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 12. Let targetProto be ? target.[[GetPrototypeOf]]().
+ 13. If SameValue(V, targetProto) is false, throw a TypeError exception.
+ 14. Return true.
+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx">
</span><del>-var target = Object.create(Array.prototype);
-var p = new Proxy(target, {
- setPrototypeOf: function(t, v) {
- return true;
- }
-});
</del><ins>+var proto = {};
+var target = Object.setPrototypeOf({}, proto);
</ins><span class="cx">
</span><span class="cx"> Object.preventExtensions(target);
</span><span class="cx">
</span><del>-assert(Reflect.setPrototypeOf(p, Array.prototype));
</del><ins>+var proxy;
+
+proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ return true;
+ }
+});
+
+assert.sameValue(
+ Reflect.setPrototypeOf(proxy, proto),
+ true,
+ "prototype arg is the same in target"
+);
+
+var outro = {};
+proxy = new Proxy(outro, {
+ setPrototypeOf: function(t, p) {
+ Object.setPrototypeOf(t, p);
+ Object.preventExtensions(t);
+ return true;
+ }
+});
+
+assert.sameValue(
+ Reflect.setPrototypeOf(proxy, proto),
+ true,
+ "prototype is set to target inside handler trap"
+);
+assert.sameValue(
+ Object.getPrototypeOf(outro),
+ proto,
+ "target has the custom set prototype"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfnotextensibletrapisfalsereturnfalsejs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,19 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: >
- Return false if boolean trap result is false.
-features: [Reflect]
----*/
-
-var target = [];
-var p = new Proxy(target, {
- setPrototypeOf: function(t, v) {
- return false;
- }
-});
-
-Object.preventExtensions(target);
-
-assert.sameValue(Reflect.setPrototypeOf(p, {}), false);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromgettrapjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+esid: sec-proxy-object-internal-methods-and-internal-slots-call-thisargument-argumentslist
+description: >
+ Return abrupt getting handler trap
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 6. Let trap be ? GetMethod(handler, "setPrototypeOf").
+---*/
+
+var handler = Object.defineProperty({}, "setPrototypeOf", {
+ get: function() {
+ throw new Test262Error();
+ }
+});
+
+var proxy = new Proxy({}, handler);
+
+assert.throws(Test262Error, function() {
+ Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromisextensibletargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Return abrupt from IsExtensible(target)
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 10. Let extensibleTarget be ? IsExtensible(target).
+---*/
+
+var target = new Proxy({}, {
+ isExtensible: function() {
+ throw new Test262Error();
+ }
+});
+
+var proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ return true;
+ }
+});
+
+assert.throws(Test262Error, function() {
+ Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtargetgetprototypeofjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Return abrupt from target.[[GetPrototypeOf]]()
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 12. Let targetProto be ? target.[[GetPrototypeOf]]().
+---*/
+
+var target = new Proxy({}, {
+ getPrototypeOf: function() {
+ throw new Test262Error();
+ }
+});
+
+Object.preventExtensions(target);
+
+var proxy = new Proxy(target, {
+ setPrototypeOf: function() {
+ return true;
+ }
+});
+
+assert.throws(Test262Error, function() {
+ Object.setPrototypeOf(proxy, {});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnabruptfromtrapjsfromrev204850trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js (from rev 204850, trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+description: >
+ Trap returns abrupt.
+info: >
+ [[SetPrototypeOf]] (V)
+
+ 9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, V»)).
+ 10. ReturnIfAbrupt(booleanTrapResult).
+---*/
+
+var p = new Proxy({}, {
+ setPrototypeOf: function() {
+ throw new Test262Error();
+ }
+});
+
+assert.throws(Test262Error, function() {
+ Object.setPrototypeOf(p, {value: 1});
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOfreturnisabruptjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,22 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: >
- Trap returns abrupt.
-info: >
- [[SetPrototypeOf]] (V)
-
- 9. Let booleanTrapResult be ToBoolean(Call(trap, handler, «target, V»)).
- 10. ReturnIfAbrupt(booleanTrapResult).
----*/
-
-var p = new Proxy({}, {
- setPrototypeOf: function() {
- throw new Test262Error();
- }
-});
-
-assert.throws(Test262Error, function() {
- Object.setPrototypeOf(p, {value: 1});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresultfalsejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Return false if ToBoolean(trap result) is false, without checking
+ target.[[IsExtensible]]
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+ 9. If booleanTrapResult is false, return false.
+ 10. Let extensibleTarget be ? IsExtensible(target).
+ 11. If extensibleTarget is true, return true.
+features: [Reflect.setPrototypeOf]
+---*/
+
+var called = 0;
+
+var target = new Proxy({}, {
+ isExtensible: function() {
+ called += 1;
+ }
+});
+
+var p = new Proxy(target, {
+ setPrototypeOf: function(t, v) {
+ return v.attr;
+ }
+});
+
+var result;
+
+result = Reflect.setPrototypeOf(p, { attr: false });
+assert.sameValue(result, false, "false");
+assert.sameValue(called, 0, "false - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: "" });
+assert.sameValue(result, false, "the empty string");
+assert.sameValue(called, 0, "the empty string - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: 0 });
+assert.sameValue(result, false, "0");
+assert.sameValue(called, 0, "0 - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: -0 });
+assert.sameValue(result, false, "-0");
+assert.sameValue(called, 0, "-0 - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: null });
+assert.sameValue(result, false, "null");
+assert.sameValue(called, 0, "null - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: undefined });
+assert.sameValue(result, false, "undefined");
+assert.sameValue(called, 0, "undefined - isExtensible is not called");
+
+result = Reflect.setPrototypeOf(p, { attr: NaN });
+assert.sameValue(result, false, "NaN");
+assert.sameValue(called, 0, "NaN - isExtensible is not called");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftobooleantrapresulttruetargetisextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Return true if ToBoolean(trap result) is true, and target.[[IsExtensible]] is
+ true
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 8. Let booleanTrapResult be ToBoolean(? Call(trap, handler, « target, V »)).
+ 9. If booleanTrapResult is false, return false.
+ 10. Let extensibleTarget be ? IsExtensible(target).
+ 11. If extensibleTarget is true, return true.
+features: [Reflect.setPrototypeOf, Symbol]
+---*/
+
+var called;
+var target = new Proxy({}, {
+ isExtensible: function() {
+ called += 1;
+ return true;
+ },
+ getPrototypeOf: function() {
+ throw new Test262Error("target.[[GetPrototypeOf]] is not called");
+ }
+});
+
+var p = new Proxy(target, {
+ setPrototypeOf: function(t, v) {
+ return v.attr;
+ }
+});
+
+var result;
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: true });
+assert.sameValue(result, true, "true");
+assert.sameValue(called, 1, "true - isExtensible is called");
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: "false" });
+assert.sameValue(result, true, "string");
+assert.sameValue(called, 1, "string - isExtensible is called");
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: 42 });
+assert.sameValue(result, true, "42");
+assert.sameValue(called, 1, "number - isExtensible is called");
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: p });
+assert.sameValue(result, true, "p");
+assert.sameValue(called, 1, "object - isExtensible is called");
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: [] });
+assert.sameValue(result, true, "[]");
+assert.sameValue(called, 1, "[] - isExtensible is called");
+
+called = 0;
+result = Reflect.setPrototypeOf(p, { attr: Symbol(1) });
+assert.sameValue(result, true, "symbol");
+assert.sameValue(called, 1, "symbol - isExtensible is called");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisnotcallablejs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -18,6 +18,7 @@
</span><span class="cx"> 2. Let func be GetV(O, P).
</span><span class="cx"> 5. If IsCallable(func) is false, throw a TypeError exception.
</span><span class="cx"> ...
</span><ins>+features: [Reflect.setPrototypeOf]
</ins><span class="cx"> ---*/
</span><span class="cx">
</span><span class="cx"> var target = {};
</span><span class="lines">@@ -26,7 +27,7 @@
</span><span class="cx"> });
</span><span class="cx">
</span><span class="cx"> assert.throws(TypeError, function() {
</span><del>- Object.setPrototypeOf(p, {
</del><ins>+ Reflect.setPrototypeOf(p, {
</ins><span class="cx"> value: 1
</span><span class="cx"> });
</span><span class="cx"> });
</span></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedornulljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 9.5.2
+esid: sec-proxy-object-internal-methods-and-internal-slots-setprototypeof-v
+description: >
+ Return target.[[SetPrototypeOf]] (V) if trap is undefined or null.
+info: |
+ [[SetPrototypeOf]] (V)
+
+ 6. Let trap be ? GetMethod(handler, "setPrototypeOf").
+ 7. If trap is undefined, then
+ a. Return ? target.[[SetPrototypeOf]](V).
+
+ GetMethod (V, P)
+
+ 2. Let func be ? GetV(V, P).
+ 3. If func is either undefined or null, return undefined.
+---*/
+
+var proxy, called, value;
+var target = new Proxy({}, {
+ setPrototypeOf: function(t, v) {
+ called += 1;
+ value = v;
+ return true;
+ }
+});
+var proto = {};
+
+proxy = new Proxy(target, {});
+called = 0;
+value = false;
+Object.setPrototypeOf(proxy, proto);
+assert.sameValue(called, 1, "undefined, target.[[SetPrototypeOf]] is called");
+assert.sameValue(value, proto, "undefined, called with V");
+
+proxy = new Proxy(target, {
+ setPrototypeOf: null
+});
+called = 0;
+value = false;
+Object.setPrototypeOf(proxy, proto);
+assert.sameValue(called, 1, "null, target.[[SetPrototypeOf]] is called");
+assert.sameValue(value, proto, "null, called with V");
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsProxysetPrototypeOftrapisundefinedjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,14 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 9.5.2
-description: >
- Return target.[[SetPrototypeOf]] (V) if trap is undefined.
----*/
-
-var target = {};
-var p = new Proxy(target, {});
-
-Object.setPrototypeOf(p, {attr: 1});
-
-assert.sameValue(target.attr, 1);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExplastIndexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/lastIndex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-regexp-pattern-flags
+es6id: 21.2.3.1
+description: Initial state of the `lastIndex` property
+info: |
+ [...]
+ 7. Let O be ? RegExpAlloc(newTarget).
+ 8. Return ? RegExpInitialize(O, P, F).
+
+ 21.2.3.2.2 Runtime Semantics: RegExpInitialize
+
+ [...]
+ 12. Perform ? Set(obj, "lastIndex", 0, true).
+ [...]
+
+ 21.2.3.2.1 Runtime Semantics: RegExpAlloc
+
+ [...]
+ 2. Perform ! DefinePropertyOrThrow(obj, "lastIndex", PropertyDescriptor
+ {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: false}).
+ [...]
+includes: [propertyHelper.js]
+---*/
+
+var re = new RegExp('');
+
+assert.sameValue(re.lastIndex, 0);
+
+verifyNotEnumerable(re, 'lastIndex');
+verifyWritable(re, 'lastIndex');
+verifyNotConfigurable(re, 'lastIndex');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobal1510721js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.2-1
-description: RegExp.prototype.global is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
- RegExp.prototype.global;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+es6id: 21.2.5.4
+description: A TypeError is thrown when the "this" value is an invalid Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+ b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+
+assert.throws(TypeError, function() {
+ get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+es6id: 21.2.5.4
+description: A TypeError is thrown when the "this" value is not an Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+ get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+ get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+ get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+ get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+ get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+ get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeglobalthisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.global
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCase1510731js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.3-1
-description: RegExp.prototype.ignoreCase is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
- RegExp.prototype.ignoreCase;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+es6id: 21.2.5.5
+description: A TypeError is thrown when the "this" value is an invalid Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+ b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+
+assert.throws(TypeError, function() {
+ get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+es6id: 21.2.5.5
+description: A TypeError is thrown when the "this" value is not an Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+ get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+ get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+ get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+ get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+ get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+ get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeignoreCasethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.ignorecase
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'ignoreCase').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultiline1510741js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.4-1
-description: RegExp.prototype.multiline is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
- RegExp.prototype.multiline;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+es6id: 21.2.5.7
+description: A TypeError is thrown when the "this" value is an invalid Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+ b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+
+assert.throws(TypeError, function() {
+ get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+es6id: 21.2.5.7
+description: A TypeError is thrown when the "this" value is not an Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+ get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+ get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+ get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+ get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+ get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+ get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypemultilinethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.multiline
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'multiline').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypenoregexpmatcherjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-properties-of-the-regexp-prototype-object
+es6id: 21.2.5
+description: >
+ The RegExp prototype object does not have a [[RegExpMatcher]] internal slot
+info: |
+ The RegExp prototype object is an ordinary object. It is not a RegExp
+ instance and does not have a [[RegExpMatcher]] internal slot or any of the
+ other internal slots of RegExp instance objects.
+
+ 21.2.5.2 RegExp.prototype.exec
+
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have a [[RegExpMatcher]] internal slot, throw a TypeError
+ exception.
+---*/
+
+assert.throws(TypeError, function() {
+ RegExp.prototype.exec('');
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesource1510711js"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,12 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 15.10.7.1-1
-description: RegExp.prototype.source is a non-generic accessor property
----*/
-
-
-assert.throws(TypeError, function() {
- RegExp.prototype.source;
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalinvalidobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: A TypeError is thrown when the "this" value is an invalid Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return "(?:)".
+ b. Otherwise, throw a TypeError exception.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+
+assert.throws(TypeError, function() {
+ get.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ get.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ get.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalnonobjjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: A TypeError is thrown when the "this" value is not an Object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+var symbol = Symbol();
+
+assert.throws(TypeError, function() {
+ get.call(undefined);
+}, 'undefined');
+
+assert.throws(TypeError, function() {
+ get.call(null);
+}, 'null');
+
+assert.throws(TypeError, function() {
+ get.call(3);
+}, 'number');
+
+assert.throws(TypeError, function() {
+ get.call('string');
+}, 'string');
+
+assert.throws(TypeError, function() {
+ get.call(true);
+}, 'boolean');
+
+assert.throws(TypeError, function() {
+ get.call(symbol);
+}, 'symbol');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return "(?:)".
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source').get;
+
+assert.sameValue(get.call(RegExp.prototype), '(?:)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueemptyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-empty.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: >
+ Return value can be used to create an equivalent RegExp when the
+ [[OriginalSource]] internal slot is the empty string
+
+ 21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+ [...] the internal procedure that would result from evaluating S as a
+ Pattern[~U] (Pattern[+U] if F contains "u") must behave identically to the
+ internal procedure given by the constructed object's [[RegExpMatcher]]
+ internal slot.
+info: |
+ [...]
+ 5. Let src be R.[[OriginalSource]].
+ 6. Let flags be R.[[OriginalFlags]].
+ 7. Return EscapeRegExpPattern(src, flags).
+---*/
+
+var re = eval('/' + new RegExp('').source + '/');
+
+assert.sameValue(re.test(''), true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluelineterminatorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: >
+ Return value can be used to create an equivalent RegExp when the
+ [[OriginalSource]] internal slot contains a LineTerminator
+info: |
+ [...]
+ 5. Let src be R.[[OriginalSource]].
+ 6. Let flags be R.[[OriginalFlags]].
+ 7. Return EscapeRegExpPattern(src, flags).
+
+ 21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+ [...] the internal procedure that would result from evaluating S as a
+ Pattern[~U] (Pattern[+U] if F contains "u") must behave identically to the
+ internal procedure given by the constructed object's [[RegExpMatcher]]
+ internal slot.
+---*/
+
+var re = eval('/' + new RegExp('\n').source + '/');
+
+assert.sameValue(re.test('\n'), true, 'input: "\\n"');
+assert.sameValue(re.test('_\n_'), true, 'input: "_\\n_"');
+assert.sameValue(re.test('\\n'), false, 'input: "\\\\n"');
+assert.sameValue(re.test('\r'), false, 'input: "\\r"');
+assert.sameValue(re.test('n'), false, 'input: "n"');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevalueujs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value-u.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: >
+ Return value can be used to create an equivalent RegExp when the
+ [[OriginalFlags]] internal slot contains the `u` flag
+info: |
+ [...]
+ 5. Let src be R.[[OriginalSource]].
+ 6. Let flags be R.[[OriginalFlags]].
+ 7. Return EscapeRegExpPattern(src, flags).
+
+ 21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+ [...] the internal procedure that would result from evaluating S as a
+ Pattern[~U] (Pattern[+U] if F contains "u") must behave identically to the
+ internal procedure given by the constructed object's [[RegExpMatcher]]
+ internal slot.
+---*/
+
+var re;
+
+re = eval('/' + /\ud834\udf06/u.source + '/u');
+
+assert.sameValue(re.test('\ud834\udf06'), true);
+assert.sameValue(re.test('𝌆'), true);
+
+re = eval('/' + /\u{1d306}/u.source + '/u');
+
+assert.sameValue(re.test('\ud834\udf06'), true);
+assert.sameValue(re.test('𝌆'), true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypesourcevaluejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/source/value.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.source
+es6id: 21.2.5.10
+description: Return value can be used to create an equivalent RegExp
+info: |
+ [...]
+ 5. Let src be R.[[OriginalSource]].
+ 6. Let flags be R.[[OriginalFlags]].
+ 7. Return EscapeRegExpPattern(src, flags).
+
+ 21.2.3.2.4 Runtime Semantics: EscapeRegExpPattern
+
+ [...] the internal procedure that would result from evaluating S as a
+ Pattern[~U] (Pattern[+U] if F contains "u") must behave identically to the
+ internal procedure given by the constructed object's [[RegExpMatcher]]
+ internal slot.
+---*/
+
+var re = eval('/' + /ab{2,4}c$/.source + '/');
+
+assert(re.test('abbc'), 'input: abbc');
+assert(re.test('abbbc'), 'input: abbbc');
+assert(re.test('abbbbc'), 'input: abbbbc');
+assert(re.test('xabbc'), 'input: xabbc');
+assert(re.test('xabbbc'), 'input: xabbbc');
+assert(re.test('xabbbbc'), 'input: xabbbbc');
+
+assert.sameValue(re.test('ac'), false, 'input: ac');
+assert.sameValue(re.test('abc'), false, 'input: abc');
+assert.sameValue(re.test('abbcx'), false, 'input: abbcx');
+assert.sameValue(re.test('bbc'), false, 'input: bbc');
+assert.sameValue(re.test('abb'), false, 'input: abb');
+assert.sameValue(re.test('abbbbbc'), false, 'input: abbbbbc');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: Invoked on an object without an [[OriginalFlags]] internal slot
-es6id: 21.2.5.12
-info: >
- 21.2.5.12 get RegExp.prototype.sticky
-
- 1. Let R be the this value.
- 2. If Type(R) is not Object, throw a TypeError exception.
- 3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
- exception.
----*/
-
-var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
-
-assert.throws(TypeError, function() {
- sticky.call({});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: >
- `sticky` accessor invoked on a non-object value
-es6id: 21.2.5.12
-info: >
- 21.2.5.12 get RegExp.prototype.sticky
-
- 1. Let R be the this value.
- 2. If Type(R) is not Object, throw a TypeError exception.
-features: [Symbol]
----*/
-
-var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
-
-assert.throws(TypeError, function() {
- sticky.call(undefined);
-});
-
-assert.throws(TypeError, function() {
- sticky.call(null);
-});
-
-assert.throws(TypeError, function() {
- sticky.call(true);
-});
-
-assert.throws(TypeError, function() {
- sticky.call('string');
-});
-
-assert.throws(TypeError, function() {
- sticky.call(Symbol('s'));
-});
-
-assert.throws(TypeError, function() {
- sticky.call(4);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: >
- `sticky` accessor function invoked on a RegExp instance
-es6id: 21.2.5.12
-info: >
- 21.2.5.12 get RegExp.prototype.sticky
-
- 4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
- 5. If flags contains the code unit "y", return true.
- 6. Return false.
----*/
-
-assert.sameValue(/./.sticky, false);
-assert.sameValue(/./i.sticky, false);
-assert.sameValue(/./g.sticky, false);
-assert.sameValue(/./gi.sticky, false);
-
-assert.sameValue(/./y.sticky, true);
-assert.sameValue(/./iy.sticky, true);
-assert.sameValue(/./yg.sticky, true);
-assert.sameValue(/./iyg.sticky, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalinvalidobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisinvalidobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Invoked on an object without an [[OriginalFlags]] internal slot
+es6id: 21.2.5.12
+info: >
+ 21.2.5.12 get RegExp.prototype.sticky
+
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
+ exception.
+---*/
+
+var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.throws(TypeError, function() {
+ sticky.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ sticky.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ sticky.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalnonobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisnonobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ `sticky` accessor invoked on a non-object value
+es6id: 21.2.5.12
+info: >
+ 21.2.5.12 get RegExp.prototype.sticky
+
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var sticky = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.throws(TypeError, function() {
+ sticky.call(undefined);
+});
+
+assert.throws(TypeError, function() {
+ sticky.call(null);
+});
+
+assert.throws(TypeError, function() {
+ sticky.call(true);
+});
+
+assert.throws(TypeError, function() {
+ sticky.call('string');
+});
+
+assert.throws(TypeError, function() {
+ sticky.call(Symbol('s'));
+});
+
+assert.throws(TypeError, function() {
+ sticky.call(4);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.sticky
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'sticky').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypestickythisvalregexpjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypestickythisregexpjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ `sticky` accessor function invoked on a RegExp instance
+es6id: 21.2.5.12
+info: >
+ 21.2.5.12 get RegExp.prototype.sticky
+
+ 4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
+ 5. If flags contains the code unit "y", return true.
+ 6. Return false.
+---*/
+
+assert.sameValue(/./.sticky, false);
+assert.sameValue(/./i.sticky, false);
+assert.sameValue(/./g.sticky, false);
+assert.sameValue(/./gi.sticky, false);
+
+assert.sameValue(/./y.sticky, true);
+assert.sameValue(/./iy.sticky, true);
+assert.sameValue(/./yg.sticky, true);
+assert.sameValue(/./iyg.sticky, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,20 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: Invoked on an object without an [[OriginalFlags]] internal slot
-es6id: 21.2.5.15
-info: >
- 21.2.5.15 get RegExp.prototype.unicode
-
- 1. Let R be the this value.
- 2. If Type(R) is not Object, throw a TypeError exception.
- 3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
- exception.
----*/
-
-var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
-
-assert.throws(TypeError, function() {
- unicode.call({});
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,40 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: >
- `unicode` accessor invoked on a non-object value
-es6id: 21.2.5.15
-info: >
- 21.2.5.15 get RegExp.prototype.unicode
-
- 1. Let R be the this value.
- 2. If Type(R) is not Object, throw a TypeError exception.
-features: [Symbol]
----*/
-
-var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
-
-assert.throws(TypeError, function() {
- unicode.call(undefined);
-});
-
-assert.throws(TypeError, function() {
- unicode.call(null);
-});
-
-assert.throws(TypeError, function() {
- unicode.call(true);
-});
-
-assert.throws(TypeError, function() {
- unicode.call('string');
-});
-
-assert.throws(TypeError, function() {
- unicode.call(Symbol('s'));
-});
-
-assert.throws(TypeError, function() {
- unicode.call(4);
-});
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,25 +0,0 @@
</span><del>-// Copyright (C) 2015 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-description: >
- `unicode` accessor function invoked on a RegExp instance
-es6id: 21.2.5.15
-info: >
- 21.2.5.15 get RegExp.prototype.unicode
-
- [...]
- 4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
- 5. If flags contains the code unit "u", return true.
- 6. Return false.
----*/
-
-assert.sameValue(/./.unicode, false);
-assert.sameValue(/./i.unicode, false);
-assert.sameValue(/./g.unicode, false);
-assert.sameValue(/./gi.unicode, false);
-
-assert.sameValue(/./u.unicode, true);
-assert.sameValue(/./iu.unicode, true);
-assert.sameValue(/./ug.unicode, true);
-assert.sameValue(/./iug.unicode, true);
</del></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalinvalidobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisinvaldobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: Invoked on an object without an [[OriginalFlags]] internal slot
+es6id: 21.2.5.15
+info: >
+ 21.2.5.15 get RegExp.prototype.unicode
+
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, throw a TypeError
+ exception.
+---*/
+
+var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.throws(TypeError, function() {
+ unicode.call({});
+}, 'ordinary object');
+
+assert.throws(TypeError, function() {
+ unicode.call([]);
+}, 'array exotic object');
+
+assert.throws(TypeError, function() {
+ unicode.call(arguments);
+}, 'arguments object');
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalnonobjjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisnonobjjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ `unicode` accessor invoked on a non-object value
+es6id: 21.2.5.15
+info: >
+ 21.2.5.15 get RegExp.prototype.unicode
+
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+features: [Symbol]
+---*/
+
+var unicode = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.throws(TypeError, function() {
+ unicode.call(undefined);
+});
+
+assert.throws(TypeError, function() {
+ unicode.call(null);
+});
+
+assert.throws(TypeError, function() {
+ unicode.call(true);
+});
+
+assert.throws(TypeError, function() {
+ unicode.call('string');
+});
+
+assert.throws(TypeError, function() {
+ unicode.call(Symbol('s'));
+});
+
+assert.throws(TypeError, function() {
+ unicode.call(4);
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpprototypejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-get-regexp.prototype.unicode
+description: >
+ Return value of `undefined` when the "this" value is the RegExp prototype
+ object
+info: |
+ 1. Let R be the this value.
+ 2. If Type(R) is not Object, throw a TypeError exception.
+ 3. If R does not have an [[OriginalFlags]] internal slot, then
+ a. If SameValue(R, %RegExpPrototype%) is true, return undefined.
+---*/
+
+var get = Object.getOwnPropertyDescriptor(RegExp.prototype, 'unicode').get;
+
+assert.sameValue(get.call(RegExp.prototype), undefined);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisvalregexpjsfromrev204850trunkJSTeststest262testbuiltinsRegExpprototypeunicodethisregexpjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js (from rev 204850, trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright (C) 2015 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: >
+ `unicode` accessor function invoked on a RegExp instance
+es6id: 21.2.5.15
+info: >
+ 21.2.5.15 get RegExp.prototype.unicode
+
+ [...]
+ 4. Let flags be the value of R’s [[OriginalFlags]] internal slot.
+ 5. If flags contains the code unit "u", return true.
+ 6. Return false.
+---*/
+
+assert.sameValue(/./.unicode, false);
+assert.sameValue(/./i.unicode, false);
+assert.sameValue(/./g.unicode, false);
+assert.sameValue(/./gi.unicode, false);
+
+assert.sameValue(/./u.unicode, true);
+assert.sameValue(/./iu.unicode, true);
+assert.sameValue(/./ug.unicode, true);
+assert.sameValue(/./iug.unicode, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testbuiltinsStringnumericpropertiesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/built-ins/String/numeric-properties.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/built-ins/String/numeric-properties.js         (rev 0)
+++ trunk/JSTests/test262/test/built-ins/String/numeric-properties.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-string-exotic-objects-getownproperty-p
+es6id: 9.4.3.1
+description: >
+ Property descriptor for numeric "own" properties of an exotic String object
+info: |
+ [...]
+ 12. Let resultStr be a String value of length 1, containing one code unit
+ from str, specifically the code unit at index index.
+ 13. Return a PropertyDescriptor{[[Value]]: resultStr, [[Writable]]: false,
+ [[Enumerable]]: true, [[Configurable]]: false}.
+includes: [propertyHelper.js]
+---*/
+
+var str = new String('abc');
+
+assert.sameValue(str[0], 'a');
+verifyEnumerable(str, '0');
+verifyNotWritable(str, '0');
+verifyNotConfigurable(str, '0');
+
+assert.sameValue(str[1], 'b');
+verifyEnumerable(str, '1');
+verifyNotWritable(str, '1');
+verifyNotConfigurable(str, '1');
+
+assert.sameValue(str[2], 'c');
+verifyEnumerable(str, '2');
+verifyNotWritable(str, '2');
+verifyNotConfigurable(str, '2');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisinfinitythrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+ Throws a RangeError if date arg is cast to an Infinity value
+info: |
+ Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+ 4. If _date_ is not provided or is *undefined*, then
+ a. Let _x_ be *%Date_now%*().
+ 5. Else,
+ a. Let _x_ be ? ToNumber(_date_).
+ 6. Return ? FormatDateTimeToParts(_dtf_, _x_).
+
+ FormatDateTimeToParts(dateTimeFormat, x)
+
+ 1. Let _parts_ be ? PartitionDateTimePattern(_dateTimeFormat_, _x_).
+
+ PartitionDateTimePattern (dateTimeFormat, x)
+
+ 1. If _x_ is not a finite Number, throw a *RangeError* exception.
+---*/
+
+var dtf = new Intl.DateTimeFormat(["pt-BR"]);
+
+assert.throws(RangeError, function() {
+ dtf.formatToParts(Infinity);
+}, "+Infinity");
+
+assert.throws(RangeError, function() {
+ dtf.formatToParts(-Infinity);
+}, "-Infinity");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsdateisnanthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+ Throws a RangeError if date arg is cast to NaN
+info: |
+ Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+ 4. If _date_ is not provided or is *undefined*, then
+ a. Let _x_ be *%Date_now%*().
+ 5. Else,
+ a. Let _x_ be ? ToNumber(_date_).
+ 6. Return ? FormatDateTimeToParts(_dtf_, _x_).
+
+ FormatDateTimeToParts(dateTimeFormat, x)
+
+ 1. Let _parts_ be ? PartitionDateTimePattern(_dateTimeFormat_, _x_).
+
+ PartitionDateTimePattern (dateTimeFormat, x)
+
+ 1. If _x_ is not a finite Number, throw a *RangeError* exception.
+---*/
+
+var dtf = new Intl.DateTimeFormat(["pt-BR"]);
+
+assert.throws(RangeError, function() {
+ dtf.formatToParts(NaN);
+});
+
+assert.throws(RangeError, function() {
+ dtf.formatToParts("lol");
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsformatToPartsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Property type and descriptor.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+ typeof Intl.DateTimeFormat.prototype.formatToParts,
+ 'function',
+ '`typeof Intl.DateTimeFormat.prototype.formatToParts` is `function`'
+);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype, 'formatToParts');
+verifyWritable(Intl.DateTimeFormat.prototype, 'formatToParts');
+verifyConfigurable(Intl.DateTimeFormat.prototype, 'formatToParts');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartslengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.DateTimeFormat.prototype.formatToParts.length.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.DateTimeFormat.prototype.formatToParts.length, 0);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype.formatToParts, "length");
+verifyNotWritable(Intl.DateTimeFormat.prototype.formatToParts, "length");
+verifyConfigurable(Intl.DateTimeFormat.prototype.formatToParts, "length");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsmainjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Tests for existance and behavior of Intl.DateTimeFormat.prototype.formatToParts
+---*/
+
+function reduce(parts) {
+ return parts.map(part => part.value).join('');
+}
+
+function compareFTPtoFormat(locales, options, value) {
+ const dtf = new Intl.DateTimeFormat(locales, options);
+ assert.sameValue(
+ dtf.format(value),
+ reduce(dtf.formatToParts(value)),
+ `Expected the same value for value ${value},
+ locales: ${locales} and options: ${options}`
+ );
+}
+
+compareFTPtoFormat();
+compareFTPtoFormat('pl');
+compareFTPtoFormat(['pl']);
+compareFTPtoFormat([]);
+compareFTPtoFormat(['de'], undefined, 0);
+compareFTPtoFormat(['de'], undefined, -10);
+compareFTPtoFormat(['de'], undefined, 25324234235);
+compareFTPtoFormat(['de'], {
+ day: '2-digit'
+}, Date.now());
+compareFTPtoFormat(['de'], {
+ day: 'numeric',
+ year: '2-digit'
+}, Date.now());
+compareFTPtoFormat(['ar'], {
+ month: 'numeric',
+ day: 'numeric',
+ year: '2-digit'
+}, Date.now());
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.DateTimeFormat.prototype.formatToParts.name value and descriptor.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.DateTimeFormat.prototype.formatToParts.name, 'formatToParts',
+ 'The value of `Intl.DateTimeFormat.prototype.formatToParts.name` is `"formatToParts"`'
+);
+
+verifyNotEnumerable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
+verifyNotWritable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
+verifyConfigurable(Intl.DateTimeFormat.prototype.formatToParts, 'name');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsreturnabrupttonumberdatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+ Return abrupt completions from ToNumber(date)
+info: |
+ Intl.DateTimeFormat.prototype.formatToParts ([ date ])
+
+ 4. If _date_ is not provided or is *undefined*, then
+ a. Let _x_ be *%Date_now%*().
+ 5. Else,
+ a. Let _x_ be ? ToNumber(_date_).
+features: [Symbol]
+---*/
+
+var obj1 = {
+ valueOf: function() {
+ throw new Test262Error();
+ }
+};
+
+var obj2 = {
+ toString: function() {
+ throw new Test262Error();
+ }
+};
+
+var dtf = new Intl.DateTimeFormat(["pt-BR"]);
+
+assert.throws(Test262Error, function() {
+ dtf.formatToParts(obj1);
+}, "valueOf");
+
+assert.throws(Test262Error, function() {
+ dtf.formatToParts(obj2);
+}, "toString");
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+ dtf.formatToParts(s);
+}, "symbol");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthishasnotinternalthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+ Throws a TypeError if this is not a DateTimeFormat object
+---*/
+
+var formatToParts = Intl.DateTimeFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+ formatToParts.call({});
+}, "{}");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(new Date());
+}, "new Date()");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402DateTimeFormatprototypeformatToPartsthisisnotobjectthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+// Copyright 2016 Leonardo Balter. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Throws a TypeError if this is not Object
+features: [Symbol]
+---*/
+
+var formatToParts = Intl.DateTimeFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+ formatToParts.call(undefined);
+}, "undefined");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(null);
+}, "null");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(42);
+}, "number");
+
+assert.throws(TypeError, function() {
+ formatToParts.call("foo");
+}, "string");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(false);
+}, "false");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(true);
+}, "true");
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+ formatToParts.call(s);
+}, "symbol");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsformatToPartsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Property type and descriptor.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+ typeof Intl.NumberFormat.prototype.formatToParts,
+ 'function',
+ '`typeof Intl.NumberFormat.prototype.formatToParts` is `function`'
+);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype, 'formatToParts');
+verifyWritable(Intl.NumberFormat.prototype, 'formatToParts');
+verifyConfigurable(Intl.NumberFormat.prototype, 'formatToParts');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartslengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.NumberFormat.prototype.formatToParts.length.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.NumberFormat.prototype.formatToParts.length, 0);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype.formatToParts, "length");
+verifyNotWritable(Intl.NumberFormat.prototype.formatToParts, "length");
+verifyConfigurable(Intl.NumberFormat.prototype.formatToParts, "length");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsmainjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/main.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Tests for existance and behavior of Intl.NumberFormat.prototype.formatToParts
+---*/
+
+function reduce(parts) {
+ return parts.map(part => part.value).join('');
+}
+
+function compareFTPtoFormat(locales, options, value) {
+ const nf = new Intl.NumberFormat(locales, options);
+ assert.sameValue(
+ nf.format(value),
+ reduce(nf.formatToParts(value)),
+ `Expected the same value for value ${value},
+ locales: ${locales} and options: ${options}`
+ );
+}
+
+const num1 = 123456.789;
+const num2 = 0.123;
+
+compareFTPtoFormat();
+compareFTPtoFormat('pl');
+compareFTPtoFormat(['pl']);
+compareFTPtoFormat([]);
+compareFTPtoFormat(['de'], undefined, 0);
+compareFTPtoFormat(['de'], undefined, -10);
+compareFTPtoFormat(['de'], undefined, 25324234235);
+compareFTPtoFormat(['de'], undefined, num1);
+compareFTPtoFormat(['de'], {
+ style: 'percent'
+}, num2);
+compareFTPtoFormat(['de'], {
+ style: 'currency',
+ currency: 'EUR'
+}, num1);
+compareFTPtoFormat(['de'], {
+ style: 'currency',
+ currency: 'EUR',
+ currencyDisplay: 'code'
+}, num1);
+compareFTPtoFormat(['de'], {
+ useGrouping: true
+}, num1);
+compareFTPtoFormat(['de'], {
+ useGrouping: false
+}, num1);
+compareFTPtoFormat(['de'], {
+ minimumIntegerDigits: 2
+}, num2);
+compareFTPtoFormat(['de'], {
+ minimumFractionDigits: 6
+}, num2);
+compareFTPtoFormat(['de'], {
+ maximumFractionDigits: 1
+}, num2);
+compareFTPtoFormat(['de'], {
+ maximumSignificantDigits: 3
+}, num1);
+compareFTPtoFormat(['de'], {
+ maximumSignificantDigits: 5
+}, num1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsnamejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/name.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Intl.NumberFormat.prototype.formatToParts.name value and descriptor.
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(Intl.NumberFormat.prototype.formatToParts.name, 'formatToParts',
+ 'The value of `Intl.NumberFormat.prototype.formatToParts.name` is `"formatToParts"`'
+);
+
+verifyNotEnumerable(Intl.NumberFormat.prototype.formatToParts, 'name');
+verifyNotWritable(Intl.NumberFormat.prototype.formatToParts, 'name');
+verifyConfigurable(Intl.NumberFormat.prototype.formatToParts, 'name');
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsreturnabrupttonumberjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+//
+/*---
+description: >
+ Return abrupt completions from ToNumber(date)
+info: |
+ Intl.NumberFormat.prototype.formatToParts ([ value ])
+
+ 5. Let _x_ be ? ToNumber(_value_).
+features: [Symbol]
+---*/
+
+var obj1 = {
+ valueOf: function() {
+ throw new Test262Error();
+ }
+};
+
+var obj2 = {
+ toString: function() {
+ throw new Test262Error();
+ }
+};
+
+var nf = new Intl.NumberFormat(["pt-BR"]);
+
+assert.throws(Test262Error, function() {
+ nf.formatToParts(obj1);
+}, "valueOf");
+
+assert.throws(Test262Error, function() {
+ nf.formatToParts(obj2);
+}, "toString");
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+ nf.formatToParts(s);
+}, "symbol");
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthishasnotinternalthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: >
+ Throws a TypeError if this is not a NumberFormat object
+---*/
+
+var formatToParts = Intl.NumberFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+ formatToParts.call({});
+}, "{}");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(new Number());
+}, "new Number()");
</ins></span></pre></div>
<a id="trunkJSTeststest262testintl402NumberFormatprototypeformatToPartsthisisnotobjectthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright 2016 Mozilla Corporation. All rights reserved.
+// This code is governed by the license found in the LICENSE file.
+
+/*---
+description: Throws a TypeError if this is not Object
+features: [Symbol]
+---*/
+
+var formatToParts = Intl.NumberFormat.prototype.formatToParts;
+
+assert.throws(TypeError, function() {
+ formatToParts.call(undefined);
+}, "undefined");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(null);
+}, "null");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(42);
+}, "number");
+
+assert.throws(TypeError, function() {
+ formatToParts.call("foo");
+}, "string");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(false);
+}, "false");
+
+assert.throws(TypeError, function() {
+ formatToParts.call(true);
+}, "true");
+
+var s = Symbol('1');
+assert.throws(TypeError, function() {
+ formatToParts.call(s);
+}, "symbol");
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobject10610cii2sjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,16 +0,0 @@
</span><del>-// Copyright (c) 2012 Ecma International. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-
-/*---
-es5id: 10.6-10-c-ii-2-s
-description: arguments[i] doesn't map to actual parameters in strict mode
-flags: [onlyStrict]
----*/
-
- function foo(a,b,c)
- {
- arguments[0] = 1; arguments[1] = 'str'; arguments[2] = 2.1;
- return 10 === a && 'sss' === b && 1 === c;
- }
-
-assert(foo(10,'sss',1), 'foo(10,"sss",1) !== true');
</del></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdfltjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js         (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dflt.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments are "unmapped" when paramater list is non-simple due to "default"
+ parameter
+info: |
+ [...]
+ 9. Let simpleParameterList be IsSimpleParameterList of formals.
+ [...]
+ 22. If argumentsObjectNeeded is true, then
+ a. If strict is true or if simpleParameterList is false, then
+ i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+ [...]
+---*/
+
+var value;
+
+function dflt(a, b = 0) {
+ arguments[0] = 2;
+ value = a;
+}
+
+dflt(1);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsdstrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js         (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-dstr.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments are "unmapped" when paramater list is non-simple due to
+ destructuring pattern
+info: |
+ [...]
+ 9. Let simpleParameterList be IsSimpleParameterList of formals.
+ [...]
+ 22. If argumentsObjectNeeded is true, then
+ a. If strict is true or if simpleParameterList is false, then
+ i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+ [...]
+---*/
+
+var value;
+
+function dstr(a, [b]) {
+ arguments[0] = 2;
+ value = a;
+}
+
+dstr(1, []);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviaparamsrestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js         (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-params-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments are "unmapped" when paramater list is non-simple due to "rest"
+ parameter
+info: |
+ [...]
+ 9. Let simpleParameterList be IsSimpleParameterList of formals.
+ [...]
+ 22. If argumentsObjectNeeded is true, then
+ a. If strict is true or if simpleParameterList is false, then
+ i. Let ao be CreateUnmappedArgumentsObject(argumentsList).
+ [...]
+---*/
+
+var value;
+
+function rest(a, ...b) {
+ arguments[0] = 2;
+ value = a;
+}
+
+rest(1);
+
+assert.sameValue(value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageargumentsobjectunmappedviastrictjsfromrev204850trunkJSTeststest262testlanguageargumentsobject10610cii2sjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js (from rev 204850, trunk/JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js         (rev 0)
+++ trunk/JSTests/test262/test/language/arguments-object/unmapped/via-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (c) 2012 Ecma International. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+es5id: 10.6-10-c-ii-2-s
+description: arguments[i] doesn't map to actual parameters in strict mode
+flags: [onlyStrict]
+---*/
+
+ function foo(a,b,c)
+ {
+ arguments[0] = 1; arguments[1] = 'str'; arguments[2] = 2.1;
+ return 10 === a && 'sss' === b && 1 === c;
+ }
+
+assert(foo(10,'sss',1), 'foo(10,"sss",1) !== true');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs"></a>
<div class="delfile"><h4>Deleted: trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,10 +0,0 @@
</span><del>-// Copyright (C) 2011 the V8 project authors. All rights reserved.
-// This code is governed by the BSD license found in the LICENSE file.
-/*---
-es6id: 13.1
-description: >
- redeclaration outermost:
- allowed to redeclare function declaration with function declaration
----*/
-function f() {} function f() {}
-
</del></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercallarrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ A direct eval in the functon code of an ArrowFunction may not contain
+ SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super, arrow-function]
+---*/
+
+var caught;
+var f = () => eval('super();');
+
+try {
+ f();
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercallfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ A direct eval in the functon code of a non-ArrowFunction may contain
+ SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var executed = false;
+function f() {
+ eval('executed = true; super();');
+}
+
+assert.throws(ReferenceError, function() {
+ f();
+});
+
+assert.sameValue(executed, true);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: A direct eval in global code may not contain SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+ eval('super();');
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperproparrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ A direct eval in the functon code of an ArrowFunction may not contain
+ SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super, arrow-function]
+---*/
+
+var caught;
+var f = () => eval('super.property;');
+
+try {
+ f();
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperpropmethodjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop-method.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ A direct eval in the functon code of a non-ArrowFunction may contain
+ SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var superProp = null;
+var o = {
+ test262: null,
+ method() {
+ superProp = eval('super.test262;');
+ }
+};
+
+o.method();
+
+assert.sameValue(superProp, undefined);
+
+Object.setPrototypeOf(o, { test262: 262 });
+
+o.method();
+
+assert.sameValue(superProp, 262);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodedirectsuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/direct/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: A direct eval in global code may not contain SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+ eval('super.property;');
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object');
+assert.sameValue(caught.constructor, SyntaxError);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodeindirectsupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/indirect/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ An indirect eval may not contain SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+ (0,eval)('super();');
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object', 'object value thrown (global code)');
+assert.sameValue(
+ caught.constructor, SyntaxError, 'SyntaxError thrown (global code)'
+);
+
+caught = null;
+
+try {
+ ({
+ m() {
+ (0,eval)('super();');
+ }
+ }).m();
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(
+ typeof caught, 'object', 'object value thrown (function code)'
+);
+assert.sameValue(
+ caught.constructor, SyntaxError, 'SyntaxError thrown (function code)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageevalcodeindirectsuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js         (rev 0)
+++ trunk/JSTests/test262/test/language/eval-code/indirect/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: >
+ An indirect eval may not contain SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+features: [super]
+---*/
+
+var caught;
+
+try {
+ (0,eval)('super.property;');
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(typeof caught, 'object', 'object value thrown (global code)');
+assert.sameValue(
+ caught.constructor, SyntaxError, 'SyntaxError thrown (global code)'
+);
+
+caught = null;
+
+try {
+ ({
+ m() {
+ (0,eval)('super.property;');
+ }
+ }).m();
+} catch (err) {
+ caught = err;
+}
+
+assert.sameValue(
+ typeof caught, 'object', 'object value thrown (function code)'
+);
+assert.sameValue(
+ caught.constructor, SyntaxError, 'SyntaxError thrown (function code)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of arrow
+ functions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+assert.sameValue(
+ ((a,) => {}).length,
+ 1,
+ "Arrow function with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ ((a,b,) => {}).length,
+ 2,
+ "Arrow function with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsarrowfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/arrow-function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in arrow function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+((a,) => {});
+((a,b,) => {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionarrowreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async arrow functions return promises
+flags: [async]
+---*/
+
+var p = (async () => await 1 + await 2)();
+assert(Object.getPrototypeOf(p) === Promise.prototype);
+p.then(function (v) {
+ assert.sameValue(v, 3);
+ $DONE();
+}, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+async (x = 1) => {"use strict"}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(arguments) => { }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+async(x = await) => { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+async(await) => { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async(foo) => { super() };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+async(foo) => { super.prop };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If strict mode, early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(a, a) => { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async(eval) => { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+async(bar) => { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async(foo = super()) => {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncarrowfunctionearlyerrorsarrowformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async (foo = super.foo) => { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+(async function (x = 1) {"use strict"})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments.
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+(async function arguments () { })
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbindingidentifierevaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval.
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+(async function eval () { })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo) { super() })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo) { super.prop });
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+(async function foo (eval) { })
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+(async function foo (bar) { let bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo = super()) { var bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+(async function foo (foo = super.foo) { var bar; });
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionearlyerrorsexpressionnotsimpleassignmenttargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function expressions are not a simple assignment target.
+negative: ReferenceError
+---*/
+
+(async function foo() { } = 1)
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionexpressionreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/expression-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function expressions return promises
+---*/
+
+var p = async function() { }();
+assert(p instanceof Promise, "async functions return promise instances");
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsasyncfunctionsyntaxexpressionisPrimaryExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function expressions are PrimaryExpressions
+---*/
+
+(async function foo() { }.prototype)
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifieringlobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-in-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is allowed as a binding identifier in global scope
+---*/
+
+async function await() { return 1 }
+assert(await instanceof Function);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitBindingIdentifiernestedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-BindingIdentifier-nested.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is not allowed as an identifier in functions nested in async functions
+negative: SyntaxError
+---*/
+
+async function foo() {
+ function await() {
+ }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablenotcallablejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenable-not-callable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await can await any thenable. If the thenable's then is not callable,
+ await evaluates to the thenable
+flags: [async]
+---*/
+
+async function foo() {
+ var thenable = { then: 42 };
+ var res = await thenable;
+ assert.sameValue(res, thenable);
+}
+
+foo().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesthatthrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables-that-throw.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await can await any thenable.
+flags: [async]
+---*/
+
+var error = {};
+var thenable = {
+ then: function (resolve, reject) {
+ throw error;
+ }
+}
+async function foo() {
+ var caught = false;
+ try {
+ await thenable;
+ } catch(e) {
+ caught = true;
+ assert.sameValue(e, error);
+ }
+
+ assert(caught);
+}
+
+foo().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitawaitsthenablesjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-awaits-thenables.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await can await any thenable.
+flags: [async]
+---*/
+
+var thenable = {
+ then: function (resolve, reject) {
+ resolve(42);
+ }
+}
+async function foo() {
+ assert.sameValue(await thenable, 42);
+}
+
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinfunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-function.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-function.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-function.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is an identifier in a function
+---*/
+
+function foo(await) { return await; }
+assert.sameValue(foo(1), 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitingeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await in a generator is an identifier
+---*/
+
+function* foo(await) { yield await; };
+assert.sameValue(foo(1).next().value, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is an identifier in global scope
+---*/
+
+var await = 1;
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedfunctionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-nested-function.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is allowed as an identifier in functions nested in async functions
+---*/
+
+var await;
+async function foo() {
+ function bar() {
+ await = 1;
+ }
+ bar();
+}
+foo();
+
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitinnestedgeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-in-nested-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await is allowed as an identifier in generator functions nested in async functions
+---*/
+
+var await;
+async function foo() {
+ function* bar() {
+ await = 1;
+ }
+ bar().next();
+}
+foo();
+
+assert.sameValue(await, 1);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitawaitthrowsrejectionsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/await-throws-rejections.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await throws errors from rejected promises
+---*/
+
+async function foo() {
+ var err = {};
+ var caught = false;
+ try {
+ await Promise.reject(err);
+ } catch(e) {
+ caught = true;
+ assert.sameValue(e, err);
+ }
+
+ assert(caught);
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitearlyerrorsawaitnotsimpleassignmenttargetjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ await is not a simple assignment target and cannot be assigned to.
+negative: ReferenceError
+---*/
+
+async function foo() {
+ (await 1) = 1;
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitnooperandjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/no-operand.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/no-operand.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/no-operand.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ await requries an operand.
+negative: SyntaxError
+---*/
+
+async function foo() {
+ await;
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionwithMultiplicativeExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await's operand is a UnaryExpression
+flags: [async]
+---*/
+
+async function foo() {
+ let x = 2;
+ let y = await Promise.resolve(2) * x
+ assert.sameValue(y, 4);
+}
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsawaitsyntaxawaithasUnaryExpressionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Await's operand is a UnaryExpression
+flags: [async]
+---*/
+
+async function foo() {
+ let x = 1;
+ let y = await x++;
+ assert.sameValue(y, 1);
+ assert.sameValue(x, 2);
+}
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionscalltrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/call/trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas are not permitted after spread arguments
+ in a call expression.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+negative: SyntaxError
+---*/
+
+function foo() {}
+foo(...[],);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a lexically-scoped
+ binding named "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var f = function(x = args = arguments) {
+ function arguments() {}
+};
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a function named
+ "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var f = function (x = args = arguments) {
+ let arguments;
+};
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas do not affect `arguments` in function
+ expression bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+var f1 = function() {
+ assert.sameValue(
+ arguments.length,
+ 1,
+ "Function expression called with 1 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+};
+f1(1,);
+
+var f2 = function() {
+ assert.sameValue(
+ arguments.length,
+ 2,
+ "Function expression called with 2 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+};
+f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of
+ function expressions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+assert.sameValue(
+ (function(a,) {}).length,
+ 1,
+ "Function expression with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ (function(a,b,) {}).length,
+ 2,
+ "Function expression with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas are permitted in function expression
+ argument lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+var one = (0, function(a,) {});
+var two = (0, function(a,b,) {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a lexically-scoped
+ binding named "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var g = function* (x = args = arguments) {
+ function arguments() {}
+};
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a function named
+ "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+var g = function* (x = args = arguments) {
+ let arguments;
+};
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas do not affect `arguments` in function
+ expression bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+var f1 = function*() {
+ assert.sameValue(
+ arguments.length,
+ 1,
+ "Function expression called with 1 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+};
+f1(1,).next();
+
+var f2 = function*() {
+ assert.sameValue(
+ arguments.length,
+ 2,
+ "Function expression called with 2 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+};
+f2(1,2,).next();
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of generator
+ function expressions.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+assert.sameValue(
+ (function*(a,) {}).length,
+ 1,
+ "Generator expression with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ (function*(a,b,) {}).length,
+ 2,
+ "Generator expression with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsgeneratorsparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/generators/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in generator function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+var one = (0, function*(a,) {});
+var two = (0, function*(a,b,) {});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectcomputedpropertyevaluationorderjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/computed-property-evaluation-order.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Michael Ficarra. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-object-initializer-runtime-semantics-propertydefinitionevaluation
+description: >
+ Evaluation of PropertyDefinitionList occurs in order, and each
+ PropertyDefinition's PropertyName is evaluated before its
+ AssignmentExpression.
+---*/
+
+var counter = 0;
+var o = {
+ [++counter]: ++counter,
+ [++counter]: ++counter,
+ [++counter]: ++counter,
+}
+
+var keys = Object.keys(o);
+
+assert.sameValue(keys.length, 3, '3 PropertyDefinitions should result in 3 properties');
+assert.sameValue(keys[0], '1');
+assert.sameValue(o[keys[0]], 2);
+assert.sameValue(keys[1], '3');
+assert.sameValue(o[keys[1]], 4);
+assert.sameValue(keys[2], '5');
+assert.sameValue(o[keys[2]], 6);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Super calls work in body of async methods
+flags: [async]
+---*/
+
+var sup = {
+ method() {
+ return 'sup';
+ }
+}
+
+var child = {
+ __proto__: sup,
+ async method() {
+ var x = await super.method();
+ assert.sameValue(x, 'sup');
+ }
+}
+
+child.method().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionasyncsupercallparamjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/async-super-call-param.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Super calls work in parameter list of async methods
+flags: [async]
+---*/
+
+var sup = {
+ method() {
+ return 'sup';
+ }
+}
+
+var child = {
+ __proto__: sup,
+ async method(x = super.method()) {
+ var y = await x;
+ assert.sameValue(y, 'sup');
+ }
+}
+
+child.method().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+({
+ foo(x = 1) {"use strict"}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+!{
+ async foo (arguments) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+!{
+ async foo (x = await) { }
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+!{
+ async foo (await) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+!{
+ async foo () { super() }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+---*/
+!{
+ async foo(a, a) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+!{
+ async foo(eval) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+!{
+ async function foo(bar) { let bar; }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionearlyerrorsobjectmethodformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+!{
+ async foo(foo = super()) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionobjectmethodreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/object-method-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function method definitions return promises
+---*/
+var obj = {
+ async method() {}
+}
+var p = obj.method();
+assert(p instanceof Promise, "async functions return promise instances");
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing parameter commas do not affect `arguments` in object
+ method bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+var obj = {
+ f1() {
+ assert.sameValue(
+ arguments.length,
+ 1,
+ "Object method called with 1 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+ },
+
+ f2() {
+ assert.sameValue(
+ arguments.length,
+ 2,
+ "Object method called with 2 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+ }
+};
+
+obj.f1(1,);
+obj.f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of
+ object methods.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+var obj = {
+ one(a,) {},
+ two(a,b,) {},
+};
+
+assert.sameValue(
+ obj.one.length,
+ 1,
+ "Object method with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ obj.two.length,
+ 2,
+ "Object method with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas are not permitted after rest params in
+ object method parameter lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+negative: SyntaxError
+---*/
+({
+ m(...[],) {}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageexpressionsobjectmethoddefinitionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/expressions/object/method-definition/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in object method argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+({
+ one(a,) {},
+ two(a,b,) {},
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclfuncdupjsfromrev204850trunkJSTeststest262testlanguageblockscopesyntaxredeclarationglobalallowedtoredeclarefunctiondeclarationwithfunctiondeclarationjs"></a>
<div class="copfile"><h4>Copied: trunk/JSTests/test262/test/language/global-code/decl-func-dup.js (from rev 204850, trunk/JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js) (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-func-dup.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-func-dup.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2011 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+es6id: 13.1
+description: >
+ redeclaration outermost:
+ allowed to redeclare function declaration with function declaration
+---*/
+function f() { return 1; } function f() { return 2; }
+
+assert.sameValue(f(), 2);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclfuncjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-func.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-func.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-func.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,48 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of function where permissible
+info: |
+ [...]
+ 9. Let declaredFunctionNames be a new empty List.
+ 10. For each d in varDeclarations, in reverse list order do
+ a. If d is neither a VariableDeclaration or a ForBinding, then
+ i. Assert: d is either a FunctionDeclaration or a
+ GeneratorDeclaration.
+ ii. NOTE If there are multiple FunctionDeclarations for the same name,
+ the last declaration is used.
+ iii. Let fn be the sole element of the BoundNames of d.
+ iv. If fn is not an element of declaredFunctionNames, then
+ 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+ 2. If fnDefinable is false, throw a TypeError exception.
+ 3. Append fn to declaredFunctionNames.
+ 4. Insert d as the first element of functionsToInitialize.
+ [...]
+ 17. For each production f in functionsToInitialize, do
+ a. Let fn be the sole element of the BoundNames of f.
+ b. Let fo be the result of performing InstantiateFunctionObject for f
+ with argument env.
+ c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false).
+ [...]
+
+ 8.1.1.4.16 CanDeclareGlobalFunction
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+ 5. If existingProp is undefined, return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+ typeof brandNew, 'function', 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+function brandNew() {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexconfigurableglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-configurable-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Lexical declarations "shadow" configurable global properties
+info: |
+ [...]
+ 5. For each name in lexNames, do
+ [...]
+ c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+ d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+ [...]
+ 16. For each element d in lexDeclarations do
+ a. NOTE Lexically declared names are only instantiated here but not
+ initialized.
+ b. For each element dn of the BoundNames of d do
+ i. If IsConstantDeclaration of d is true, then
+ 1. Perform ? envRec.CreateImmutableBinding(dn, true).
+ ii. Else,
+ 1. Perform ? envRec.CreateMutableBinding(dn, false).
+includes: [propertyHelper.js]
+---*/
+
+let Array;
+
+assert.sameValue(Array, undefined);
+
+assert.sameValue(typeof this.Array, 'function');
+verifyNotEnumerable(this, 'Array');
+verifyWritable(this, 'Array');
+verifyConfigurable(this, 'Array');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexdeletionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-deletion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Globally-declared lexical bindings cannot be deleted
+info: |
+ [...]
+ 16. For each element d in lexDeclarations do
+ a. NOTE Lexically declared names are only instantiated here but not
+ initialized.
+ b. For each element dn of the BoundNames of d do
+ i. If IsConstantDeclaration of d is true, then
+ 1. Perform ? envRec.CreateImmutableBinding(dn, true).
+ ii. Else,
+ 1. Perform ? envRec.CreateMutableBinding(dn, false).
+ [...]
+flags: [noStrict]
+---*/
+
+let test262let;
+
+delete test262let;
+
+// Binding values are asserted by a dedicated test. IdentifierReferences serve
+// to ensure that the entries in the environment record persist.
+test262let;
+
+const test262const = null;
+
+delete test262const;
+
+test262const;
+
+class test262class {}
+
+delete test262class;
+
+test262class;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexrestrictedglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex-restricted-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Lexical declaration collides with existing "restricted global"
+info: |
+ [...]
+ 5. For each name in lexNames, do
+ [...]
+ c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+ d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+negative: SyntaxError
+---*/
+
+let undefined;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedecllexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of lexical bindings
+info: |
+ [...]
+ 16. For each element d in lexDeclarations do
+ a. NOTE Lexically declared names are only instantiated here but not
+ initialized.
+ b. For each element dn of the BoundNames of d do
+ i. If IsConstantDeclaration of d is true, then
+ 1. Perform ? envRec.CreateImmutableBinding(dn, true).
+ ii. Else,
+ 1. Perform ? envRec.CreateMutableBinding(dn, false).
+ [...]
+---*/
+
+let test262let = 1;
+
+test262let = 2;
+
+assert.sameValue(test262let, 2, '`let` binding is mutable');
+assert.sameValue(
+ this.hasOwnProperty('test262let'),
+ false,
+ 'property not created on the global object (let)'
+);
+
+const test262const = 3;
+
+assert.throws(TypeError, function() {
+ test262const = 4;
+}, '`const` binding is strictly immutable');
+assert.sameValue(test262const, 3, '`const` binding cannot be modified');
+assert.sameValue(
+ this.hasOwnProperty('test262const'),
+ false,
+ 'property not created on the global object (const)'
+);
+
+class test262class {}
+
+test262class = 5;
+
+assert.sameValue(test262class, 5, '`class` binding is mutable');
+assert.sameValue(
+ this.hasOwnProperty('test262class'),
+ false,
+ 'property not created on the global object (class)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodedeclvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/decl-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/decl-var.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/decl-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of variable where permissible
+info: |
+ [...]
+ 11. Let declaredVarNames be a new empty List.
+ 12. For each d in varDeclarations, do
+ a. If d is a VariableDeclaration or a ForBinding, then
+ i. For each String vn in the BoundNames of d, do
+ 1. If vn is not an element of declaredFunctionNames, then
+ a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+ b. If vnDefinable is false, throw a TypeError exception.
+ c. If vn is not an element of declaredVarNames, then
+ i. Append vn to declaredVarNames.
+ [...]
+ 18. For each String vn in declaredVarNames, in list order do
+ a. Perform ? envRec.CreateGlobalVarBinding(vn, false).
+ [...]
+
+ 8.1.1.4.15 CanDeclareGlobalVar
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+ 5. If hasProperty is true, return true.
+ 6. Return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+assert.sameValue(
+ this.brandNew, undefined, 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+var brandNew;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodereturnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/return.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/return.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/return.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: ReturnStatement may not be used directly within global code
+info: |
+ Syntax
+
+ Script :
+ ScriptBodyopt
+
+ ScriptBody :
+ StatementList[~Yield, ~Return]
+negative: SyntaxError
+---*/
+
+return;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncdupsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-dups.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: >
+ When multiple like-named function declarations exist, the final is assigned
+ to the new binding.
+info: |
+ [...]
+ 9. Let declaredFunctionNames be a new empty List.
+ 10. For each d in varDeclarations, in reverse list order do
+ a. If d is neither a VariableDeclaration or a ForBinding, then
+ i. Assert: d is either a FunctionDeclaration or a
+ GeneratorDeclaration.
+ ii. NOTE If there are multiple FunctionDeclarations for the same name,
+ the last declaration is used.
+ iii. Let fn be the sole element of the BoundNames of d.
+ iv. If fn is not an element of declaredFunctionNames, then
+ 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+ 2. If fnDefinable is false, throw a TypeError exception.
+ 3. Append fn to declaredFunctionNames.
+ 4. Insert d as the first element of functionsToInitialize.
+ [...]
+---*/
+
+$.evalScript(
+ 'function f() { return 1; }' +
+ 'function f() { return 2; }' +
+ 'function f() { return 3; }'
+);
+
+assert.sameValue(f(), 3);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonconfigurablejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-configurable.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,105 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: >
+ Declaration of function when there is a corresponding global property that is
+ non-configurable but *not* a writable and configurable data property.
+info: |
+ [...]
+ 9. Let declaredFunctionNames be a new empty List.
+ 10. For each d in varDeclarations, in reverse list order do
+ a. If d is neither a VariableDeclaration or a ForBinding, then
+ i. Assert: d is either a FunctionDeclaration or a
+ GeneratorDeclaration.
+ ii. NOTE If there are multiple FunctionDeclarations for the same name,
+ the last declaration is used.
+ iii. Let fn be the sole element of the BoundNames of d.
+ iv. If fn is not an element of declaredFunctionNames, then
+ 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+ 2. If fnDefinable is false, throw a TypeError exception.
+
+ 8.1.1.4.16 CanDeclareGlobalFunction
+
+ [...]
+ 6. If existingProp.[[Configurable]] is true, return true.
+ 7. If IsDataDescriptor(existingProp) is true and existingProp has attribute
+ values {[[Writable]]: true, [[Enumerable]]: true}, return true.
+ 8. Return false.
+---*/
+
+Object.defineProperty(
+ this,
+ 'data1',
+ { configurable: false, value: 0, writable: true, enumerable: false }
+);
+
+Object.defineProperty(
+ this,
+ 'data2',
+ { configurable: false, value: 0, writable: false, enumerable: true }
+);
+
+Object.defineProperty(
+ this,
+ 'data3',
+ { configurable: false, value: 0, writable: false, enumerable: false }
+);
+
+Object.defineProperty(
+ this,
+ 'accessor1',
+ {
+ configurable: false,
+ get: function() {},
+ set: function() {},
+ enumerable: true
+ }
+);
+
+Object.defineProperty(
+ this,
+ 'accessor2',
+ {
+ configurable: false,
+ get: function() {},
+ set: function() {},
+ enumerable: true
+ }
+);
+
+assert.throws(TypeError, function() {
+ $.evalScript('var x; function data1() {}');
+}, 'writable, non-enumerable data property');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'bindings not created for writable, non-enumerable data property');
+
+assert.throws(TypeError, function() {
+ $.evalScript('var x; function data2() {}');
+}, 'non-writable, enumerable data property');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'bindings not created for non-writable, enumerable data property');
+
+assert.throws(TypeError, function() {
+ $.evalScript('var x; function data3() {}');
+}, 'non-writable, non-enumerable data property');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'bindings not created for non-writable, non-enumerable data property');
+
+assert.throws(TypeError, function() {
+ $.evalScript('var x; function accessor1() {}');
+}, 'enumerable accessor property');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'bindings not created for enumerableaccessor property');
+
+assert.throws(TypeError, function() {
+ $.evalScript('var x; function accessor2() {}');
+}, 'non-enumerable accessor property');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'bindings not created for non-enumerableaccessor property');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncerrnonextensiblejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func-err-non-extensible.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: >
+ Declaration of function when there is no corresponding global property and
+ the global object is non-extensible
+info: |
+ [...]
+ 9. Let declaredFunctionNames be a new empty List.
+ 10. For each d in varDeclarations, in reverse list order do
+ a. If d is neither a VariableDeclaration or a ForBinding, then
+ i. Assert: d is either a FunctionDeclaration or a
+ GeneratorDeclaration.
+ ii. NOTE If there are multiple FunctionDeclarations for the same name,
+ the last declaration is used.
+ iii. Let fn be the sole element of the BoundNames of d.
+ iv. If fn is not an element of declaredFunctionNames, then
+ 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+ 2. If fnDefinable is false, throw a TypeError exception.
+
+ 8.1.1.4.16 CanDeclareGlobalFunction
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+ 5. If existingProp is undefined, return ? IsExtensible(globalObject).
+---*/
+
+var executed = false;
+
+Object.preventExtensions(this);
+
+assert.throws(TypeError, function() {
+ $.evalScript('executed = true; function test262() {}');
+});
+
+assert.sameValue(executed, false);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclfuncjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-func.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-func.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-func.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,79 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of function where permissible
+info: |
+ [...]
+ 9. Let declaredFunctionNames be a new empty List.
+ 10. For each d in varDeclarations, in reverse list order do
+ a. If d is neither a VariableDeclaration or a ForBinding, then
+ i. Assert: d is either a FunctionDeclaration or a
+ GeneratorDeclaration.
+ ii. NOTE If there are multiple FunctionDeclarations for the same name,
+ the last declaration is used.
+ iii. Let fn be the sole element of the BoundNames of d.
+ iv. If fn is not an element of declaredFunctionNames, then
+ 1. Let fnDefinable be ? envRec.CanDeclareGlobalFunction(fn).
+ 2. If fnDefinable is false, throw a TypeError exception.
+ 3. Append fn to declaredFunctionNames.
+ 4. Insert d as the first element of functionsToInitialize.
+ [...]
+ 17. For each production f in functionsToInitialize, do
+ a. Let fn be the sole element of the BoundNames of f.
+ b. Let fo be the result of performing InstantiateFunctionObject for f
+ with argument env.
+ c. Perform ? envRec.CreateGlobalFunctionBinding(fn, fo, false).
+ [...]
+
+ 8.1.1.4.16 CanDeclareGlobalFunction
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let existingProp be ? globalObject.[[GetOwnProperty]](N).
+ 5. If existingProp is undefined, return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+$.evalScript('function brandNew() {}');
+
+assert.sameValue(
+ typeof brandNew, 'function', 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+Object.defineProperty(this, 'configurable', { configurable: true, value: 0 });
+Object.defineProperty(
+ this,
+ 'nonConfigurable',
+ { configurable: false, writable: true, enumerable: true, value: 0 }
+);
+
+// Prevent extensions on the global object to ensure that detail is not
+// considered by any of the declarations which follow.
+Object.preventExtensions(this);
+
+$.evalScript('function configurable() {}');
+
+assert.sameValue(
+ typeof configurable, 'function', 'like-named configurable property'
+);
+verifyEnumerable(this, 'configurable')
+verifyWritable(this, 'configurable');
+verifyNotConfigurable(this, 'configurable');
+
+$.evalScript('function nonConfigurable() {}');
+
+assert.sameValue(
+ typeof nonConfigurable,
+ 'function',
+ 'like-named non-configurable data property that is writable and enumerable'
+);
+verifyEnumerable(this, 'nonConfigurable');
+verifyWritable(this, 'nonConfigurable');
+verifyNotConfigurable(this, 'nonConfigurable');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexdeletionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-deletion.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Globally-declared lexical bindings cannot be deleted
+info: |
+ [...]
+ 16. For each element d in lexDeclarations do
+ a. NOTE Lexically declared names are only instantiated here but not
+ initialized.
+ b. For each element dn of the BoundNames of d do
+ i. If IsConstantDeclaration of d is true, then
+ 1. Perform ? envRec.CreateImmutableBinding(dn, true).
+ ii. Else,
+ 1. Perform ? envRec.CreateMutableBinding(dn, false).
+ [...]
+flags: [noStrict]
+---*/
+
+$.evalScript('let test262let;');
+
+delete test262let;
+
+// Binding values are asserted by a dedicated test. IdentifierReferences serve
+// to ensure that the entries in the environment record persist.
+test262let;
+
+$.evalScript('const test262const = null;');
+
+delete test262const;
+
+test262const;
+
+$.evalScript('class test262class {}');
+
+delete test262class;
+
+test262class;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexlexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,39 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Let binding collision with existing lexical declaration
+info: |
+ [...]
+ 5. For each name in lexNames, do
+ a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+ exception.
+ b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+ exception.
+---*/
+
+let test262Let;
+const test262Const = null;
+class test262Class {}
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262Let;');
+}, '`let` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'No bindings created for script containing `let` redeclaration');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262Const;');
+}, '`const` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'No bindings created for script containing `const` redeclaration');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262Class;');
+}, '`class` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'No bindings created for script containing `class` redeclaration');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexrestrictedglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-restricted-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: >
+ Let binding collision with non-configurable global property (not defined
+ through a declaration)
+info: |
+ [...]
+ 5. For each name in lexNames, do
+ a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+ exception.
+ b. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+ exception.
+ c. Let hasRestrictedGlobal be ? envRec.HasRestrictedGlobalProperty(name).
+ d. If hasRestrictedGlobal is true, throw a SyntaxError exception.
+---*/
+
+Object.defineProperty(this, 'test262Configurable', { configurable: true });
+Object.defineProperty(this, 'test262NonConfigurable', { configurable: false });
+
+$.evalScript('let test262Configurable;');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262NonConfigurable;');
+});
+
+assert.throws(ReferenceError, function() {
+ x;
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,31 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Let binding collision with existing var declaration
+info: |
+ [...]
+ 5. For each name in lexNames, do
+ a. If envRec.HasVarDeclaration(name) is true, throw a SyntaxError
+ exception.
+---*/
+
+var test262Var;
+function test262Fn() {}
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262Var;');
+}, 'variable');
+
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script shadowing variable)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; let test262Fn;');
+}, 'function');
+
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script shadowing function)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdecllexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of lexical bindings
+info: |
+ [...]
+ 16. For each element d in lexDeclarations do
+ a. NOTE Lexically declared names are only instantiated here but not
+ initialized.
+ b. For each element dn of the BoundNames of d do
+ i. If IsConstantDeclaration of d is true, then
+ 1. Perform ? envRec.CreateImmutableBinding(dn, true).
+ ii. Else,
+ 1. Perform ? envRec.CreateMutableBinding(dn, false).
+ [...]
+---*/
+
+// Extensibility of the global object should have no bearing on lexical
+// declarations.
+Object.preventExtensions(this);
+
+$.evalScript('let test262let = 1;');
+
+test262let = 2;
+
+assert.sameValue(test262let, 2, '`let` binding is mutable');
+assert.sameValue(
+ this.hasOwnProperty('test262let'),
+ false,
+ 'property not created on the global object (let)'
+);
+
+$.evalScript('const test262const = 3;');
+
+assert.throws(TypeError, function() {
+ test262const = 4;
+}, '`const` binding is strictly immutable');
+assert.sameValue(test262const, 3, '`const` binding cannot be modified');
+assert.sameValue(
+ this.hasOwnProperty('test262const'),
+ false,
+ 'property not created on the global object (const)'
+);
+
+$.evalScript('class test262class {}');
+
+test262class = 5;
+
+assert.sameValue(test262class, 5, '`class` binding is mutable');
+assert.sameValue(
+ this.hasOwnProperty('test262class'),
+ false,
+ 'property not created on the global object (class)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarcollisionjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var-collision.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Var binding collision with existing lexical declaration
+info: |
+ [...]
+ 6. For each name in varNames, do
+ a. If envRec.HasLexicalDeclaration(name) is true, throw a SyntaxError
+ exception.
+---*/
+
+var test262Var;
+let test262Let;
+const test262Const = null;
+class test262Class {}
+
+$.evalScript('var test262Var;');
+$.evalScript('function test262Var() {}');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; var test262Let;');
+}, '`var` on `let` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a `var` on a `let` binding)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; var test262Const;');
+}, '`var` on `const` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a `var` on a `const` binding)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; var test262Class;');
+}, '`var` on `class` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a `var` on a `class` binding)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; function test262Let() {}');
+}, 'function on `let` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a function on a `let` binding)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; function test262Const() {}');
+}, 'function on `const` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a function on a `const` binding)');
+
+assert.throws(SyntaxError, function() {
+ $.evalScript('var x; function test262Class() {}');
+} , 'function on `class` binding');
+assert.throws(ReferenceError, function() {
+ x;
+}, 'no bindings created (script declaring a function on a class binding)');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarerrjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var-err.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: >
+ Declaration of variable when there is no corresponding global property and
+ the global object is non-extensible
+info: |
+ [...]
+ 11. Let declaredVarNames be a new empty List.
+ 12. For each d in varDeclarations, do
+ a. If d is a VariableDeclaration or a ForBinding, then
+ i. For each String vn in the BoundNames of d, do
+ 1. If vn is not an element of declaredFunctionNames, then
+ a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+ b. If vnDefinable is false, throw a TypeError exception.
+ c. If vn is not an element of declaredVarNames, then
+ i. Append vn to declaredVarNames.
+
+ 8.1.1.4.15 CanDeclareGlobalVar
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+ 5. If hasProperty is true, return true.
+ 6. Return ? IsExtensible(globalObject).
+---*/
+
+var executed = false;
+
+Object.preventExtensions(this);
+
+assert.throws(TypeError, function() {
+ $.evalScript('executed = true; var test262;');
+});
+
+assert.sameValue(executed, false);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodescriptdeclvarjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/script-decl-var.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/script-decl-var.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/script-decl-var.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-globaldeclarationinstantiation
+es6id: 15.1.8
+description: Declaration of variable where permissible
+info: |
+ [...]
+ 11. Let declaredVarNames be a new empty List.
+ 12. For each d in varDeclarations, do
+ a. If d is a VariableDeclaration or a ForBinding, then
+ i. For each String vn in the BoundNames of d, do
+ 1. If vn is not an element of declaredFunctionNames, then
+ a. Let vnDefinable be ? envRec.CanDeclareGlobalVar(vn).
+ b. If vnDefinable is false, throw a TypeError exception.
+ c. If vn is not an element of declaredVarNames, then
+ i. Append vn to declaredVarNames.
+ [...]
+ 18. For each String vn in declaredVarNames, in list order do
+ a. Perform ? envRec.CreateGlobalVarBinding(vn, false).
+ [...]
+
+ 8.1.1.4.15 CanDeclareGlobalVar
+
+ 1. Let envRec be the global Environment Record for which the method was
+ invoked.
+ 2. Let ObjRec be envRec.[[ObjectRecord]].
+ 3. Let globalObject be the binding object for ObjRec.
+ 4. Let hasProperty be ? HasOwnProperty(globalObject, N).
+ 5. If hasProperty is true, return true.
+ 6. Return ? IsExtensible(globalObject).
+includes: [propertyHelper.js]
+---*/
+
+$.evalScript('var brandNew;');
+
+assert.sameValue(
+ this.brandNew, undefined, 'new binding on an extensible global object'
+);
+verifyEnumerable(this, 'brandNew');
+verifyWritable(this, 'brandNew');
+verifyNotConfigurable(this, 'brandNew');
+
+Object.defineProperty(
+ this,
+ 'configurable',
+ { configurable: true, writable: false, enumerable: false, value: 0 }
+);
+Object.defineProperty(
+ this,
+ 'nonConfigurable',
+ { configurable: false, writable: false, enumerable: false, value: 0 }
+);
+
+// Prevent extensions on the global object to ensure that detail is not
+// considered by any of the declarations which follow.
+Object.preventExtensions(this);
+
+$.evalScript('var configurable;');
+
+assert.sameValue(configurable, 0, 'like-named configurable property');
+verifyNotEnumerable(this, 'configurable');
+verifyNotWritable(this, 'configurable');
+verifyConfigurable(this, 'configurable');
+
+$.evalScript('var nonConfigurable;');
+
+assert.sameValue(nonConfigurable, 0, 'like-named non-configurable property');
+verifyNotEnumerable(this, 'nonConfigurable');
+verifyNotWritable(this, 'nonConfigurable');
+verifyNotConfigurable(this, 'nonConfigurable');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesupercallarrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-call-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-call-arrow.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-call-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: An ArrowFunction in global code may not contain SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+
+ 14.2.3 Static Semantics: Contains
+
+ With parameter symbol.
+
+ ArrowFunction : ArrowParameters => ConciseBody
+
+ 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or
+ this, return false.
+ 2. If ArrowParameters Contains symbol is true, return true.
+ 3. Return ConciseBody Contains symbol.
+
+ NOTE Normally, Contains does not look inside most function forms. However,
+ Contains is used to detect new.target, this, and super usage within an
+ ArrowFunction.
+features: [super, arrow-function]
+negative: SyntaxError
+---*/
+
+() => {
+ super();
+};
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: Global code may not contain SuperCall
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+negative: SyntaxError
+features: [super]
+---*/
+
+super();
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesuperproparrowjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-prop-arrow.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: An ArrowFunction in global code may not contain SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+
+ 14.2.3 Static Semantics: Contains
+
+ With parameter symbol.
+
+ ArrowFunction : ArrowParameters => ConciseBody
+
+ 1. If symbol is not one of NewTarget, SuperProperty, SuperCall, super or
+ this, return false.
+ 2. If ArrowParameters Contains symbol is true, return true.
+ 3. Return ConciseBody Contains symbol.
+
+ NOTE Normally, Contains does not look inside most function forms. However,
+ Contains is used to detect new.target, this, and super usage within an
+ ArrowFunction.
+features: [super, arrow-function]
+negative: SyntaxError
+---*/
+
+() => {
+ super.property;
+};
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodesuperpropjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/super-prop.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/super-prop.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/super-prop.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts-static-semantics-early-errors
+es6id: 15.1.1
+description: Global code may not contain SuperProperty
+info: |
+ - It is a Syntax Error if StatementList Contains super unless the source code
+ containing super is eval code that is being processed by a direct eval that
+ is contained in function code that is not the function code of an
+ ArrowFunction.
+negative: SyntaxError
+features: [super]
+---*/
+
+super.property;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodeyieldnonstrictjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/yield-non-strict.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/yield-non-strict.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/yield-non-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: >
+ The `yield` token is interpreted as an Identifier when it appears in global
+ code (non-strict mode)
+info: |
+ Syntax
+
+ Script :
+ ScriptBodyopt
+
+ ScriptBody :
+ StatementList[~Yield, ~Return]
+flags: [noStrict]
+---*/
+
+// Avoid test failures in cases where the host has defined a `yield` property
+// on the global object.
+try {
+ yield = 0;
+} catch (_) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageglobalcodeyieldstrictjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/global-code/yield-strict.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/global-code/yield-strict.js         (rev 0)
+++ trunk/JSTests/test262/test/language/global-code/yield-strict.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-scripts
+es6id: 15.1
+description: >
+ The `yield` token is interpreted as an Identifier when it appears in global
+ code (strict mode)
+info: |
+ Syntax
+
+ Script :
+ ScriptBodyopt
+
+ ScriptBody :
+ StatementList[~Yield, ~Return]
+flags: [onlyStrict]
+negative: SyntaxError
+---*/
+
+yield;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexplastIndexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/literals/regexp/lastIndex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-regular-expression-literals-runtime-semantics-evaluation
+es6id: 12.2.8.2
+description: Initial state of the `lastIndex` property
+info: |
+ [...]
+ 3. Return RegExpCreate(pattern, flags).
+
+ 21.2.3.2.3 Runtime Semantics: RegExpCreate
+
+ 1. Let obj be ? RegExpAlloc(%RegExp%).
+ 2. Return ? RegExpInitialize(obj, P, F).
+
+ 21.2.3.2.2 Runtime Semantics: RegExpInitialize
+
+ [...]
+ 12. Perform ? Set(obj, "lastIndex", 0, true).
+ [...]
+
+ 21.2.3.2.1 Runtime Semantics: RegExpAlloc
+
+ [...]
+ 2. Perform ! DefinePropertyOrThrow(obj, "lastIndex", PropertyDescriptor
+ {[[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: false}).
+ [...]
+includes: [propertyHelper.js]
+---*/
+
+var re = /./;
+
+assert.sameValue(re.lastIndex, 0);
+
+verifyNotEnumerable(re, 'lastIndex');
+verifyWritable(re, 'lastIndex');
+verifyNotConfigurable(re, 'lastIndex');
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexpuunicodeescboundsjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/literals/regexp/u-unicode-esc-bounds.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -13,4 +13,4 @@
</span><span class="cx"> negative: SyntaxError
</span><span class="cx"> ---*/
</span><span class="cx">
</span><del>-/\u{ff0000}/u;
</del><ins>+/\u{110000}/u;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguageliteralsregexpyassertionstartjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js         (rev 0)
+++ trunk/JSTests/test262/test/language/literals/regexp/y-assertion-start.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-assertion
+es6id: 21.2.2.6
+description: The `y` flag has no effect on the `^` assertion
+info: >
+ Even when the y flag is used with a pattern, ^ always matches only at the
+ beginning of Input, or (if Multiline is true) at the beginning of a line.
+---*/
+
+var re;
+
+re = /^a/y;
+
+re.lastIndex = 0;
+assert.sameValue(
+ re.test('a'), true, 'positive: beginning of input (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+ re.test(' a'), false, 'negative: within a line (without `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+ re.test('\na'), false, 'negative: beginning of line (without `m`)'
+);
+
+re = /^a/my;
+
+re.lastIndex = 0;
+assert.sameValue(
+ re.test('a'), true, 'positive: beginning of input (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+ re.test(' a'), false, 'negative: within a line (with `m`)'
+);
+
+re.lastIndex = 1;
+assert.sameValue(
+ re.test('\na'), true, 'positive: beginning of line (with `m`)'
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundfaulty_FIXTUREjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx"> // Copyright (C) 2016 the V8 project authors. All rights reserved.
</span><span class="cx"> // This code is governed by the BSD license found in the LICENSE file.
</span><span class="cx">
</span><del>-export { x } from './inst-import-star-err-not-found-empty_FIXTURE.js';
</del><ins>+export { x } from './instn-star-err-not-found-empty_FIXTURE.js';
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeinstnstarerrnotfoundjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/instn-star-err-not-found.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -26,4 +26,4 @@
</span><span class="cx"> flags: [module]
</span><span class="cx"> ---*/
</span><span class="cx">
</span><del>-import * as ns from './inst-import-star-err-not-found-faulty_FIXTURE.js';
</del><ins>+import * as ns from './instn-star-err-not-found-faulty_FIXTURE.js';
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodenamespaceinternalsgetownpropertystrfoundinitjs"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> Object.prototype.hasOwnProperty.call(ns, 'indirect'), true
</span><span class="cx"> );
</span><span class="cx"> desc = Object.getOwnPropertyDescriptor(ns, 'indirect');
</span><del>-assert.sameValue(desc.indirect, 201);
</del><ins>+assert.sameValue(desc.value, 201);
</ins><span class="cx"> assert.sameValue(desc.enumerable, true, 'indirect enumerable');
</span><span class="cx"> assert.sameValue(desc.writable, true, 'indirect writable');
</span><span class="cx"> assert.sameValue(desc.configurable, false, 'indirect configurable');
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> Object.prototype.hasOwnProperty.call(ns, 'default'), true
</span><span class="cx"> );
</span><span class="cx"> desc = Object.getOwnPropertyDescriptor(ns, 'default');
</span><del>-assert.sameValue(desc.default, 302);
</del><ins>+assert.sameValue(desc.value, 302);
</ins><span class="cx"> assert.sameValue(desc.enumerable, true, 'default enumerable');
</span><span class="cx"> assert.sameValue(desc.writable, true, 'default writable');
</span><span class="cx"> assert.sameValue(desc.configurable, false, 'default configurable');
</span></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeparseerrreturnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/module-code/parse-err-return.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/parse-err-return.js         (rev 0)
+++ trunk/JSTests/test262/test/language/module-code/parse-err-return.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-modules
+es6id: 15.2
+description: ReturnStatement may not be used directly within ModuleBody
+info: |
+ Syntax
+
+ Module :
+ ModuleBodyopt
+
+ ModuleBody :
+ ModuleItemList
+
+ ModuleItemList :
+ ModuleItem
+ ModuleItemList ModuleItem
+
+ ModuleItem:
+ ImportDeclaration
+ ExportDeclaration
+ StatementListItem[~Yield, ~Return]
+flags: [module]
+negative: SyntaxError
+---*/
+
+return;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagemodulecodeparseerryieldjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/module-code/parse-err-yield.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/module-code/parse-err-yield.js         (rev 0)
+++ trunk/JSTests/test262/test/language/module-code/parse-err-yield.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-modules
+es6id: 15.2
+description: YieldExpression may not be used directly within ModuleBody
+info: |
+ Syntax
+
+ Module :
+ ModuleBodyopt
+
+ ModuleBody :
+ ModuleItemList
+
+ ModuleItemList :
+ ModuleItem
+ ModuleItemList ModuleItem
+
+ ModuleItem:
+ ImportDeclaration
+ ExportDeclaration
+ StatementListItem[~Yield, ~Return]
+flags: [module]
+negative: SyntaxError
+---*/
+
+yield;
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagerestparametersparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js         (rev 0)
+++ trunk/JSTests/test262/test/language/rest-parameters/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas are not permitted permitted after rest
+ arguments in arrow function argument lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+negative: SyntaxError
+---*/
+
+((...a,) => {})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctiondeclarationreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/declaration-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async functions return promises
+---*/
+
+async function foo() { };
+var p = foo();
+assert(p instanceof Promise, "async functions return promise instances");
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+
+async function foo(x = 1){"use strict"}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo (arguments) { }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+async function foo (x = await) { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+async function foo (await) { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName arguments.
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+async function arguments () { }
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbindingidentifierevaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If the source code matching this production is strict code, it is a Syntax Error if BindingIdentifier is the IdentifierName eval.
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+async function eval () { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo) { super() };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationbodycontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if AsyncFunctionBody contains SuperProperty is true
+negative: SyntaxError
+---*/
+
+async function foo (foo) { super.prop };
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If strict mode, early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo(a, a) { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+flags: [onlyStrict]
+---*/
+
+async function foo (eval) { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+async function foo (bar) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo = super()) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsdeclarationformalscontainssuperpropertyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+
+async function foo (foo = super.foo) { let bar; }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionearlyerrorsnoasyncgeneratorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/early-errors-no-async-generator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async generators are not a thing (yet)
+negative: SyntaxError
+---*/
+
+async function* foo() { }
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsafterawaitjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ The return value of the async function resolves the promise
+flags: [async]
+---*/
+
+async function foo() {
+ await Promise.resolve();
+ return 42;
+}
+
+foo().then(function (v) {
+ assert.sameValue(v, 42);
+ $DONE();
+}, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatreturnsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-returns.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ The return value of the async function resolves the promise
+flags: [async]
+---*/
+
+async function foo() {
+ return 42;
+}
+
+foo().then(function (v) {
+ assert.sameValue(v, 42);
+ $DONE();
+}, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsafterawaitjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Errors thrown from the async function body reject the returned promise
+flags: [async]
+---*/
+
+async function foo() {
+ await Promise.resolve();
+ throw 1;
+}
+
+foo().then(function () {
+ $DONE("Should not be called");
+}, function (e) {
+ assert.sameValue(e, 1);
+ $DONE();
+});
+
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodythatthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body-that-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Errors thrown from the async function body reject the returned promise
+flags: [async]
+---*/
+
+async function foo() {
+ throw 1;
+}
+
+foo().then(function () {
+ $DONE("Should not be called");
+}, function (e) {
+ assert.sameValue(e, 1);
+ $DONE();
+});
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// copyright 2016 microsoft, inc. all rights reserved.
+// this code is governed by the bsd license found in the license file.
+
+/*---
+author: brian terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ async function bodies are executed immediately (unlike generators)
+---*/
+
+let called;
+async function foo() {
+ called = true;
+ await new Promise();
+}
+
+foo();
+assert(called);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationdefaultthatthrowsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-default-that-throws.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ If a default expression throws, the promise is rejected.
+info: >
+ This is different from generators which will throw the error out of the generator
+ when it is called.
+flags: [async]
+---*/
+var y = null;
+async function foo(x = y()) {}
+foo().then(function () {
+ $DONE('promise should be rejected');
+}, function () {
+ $DONE();
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationmappedargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-mapped-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Mapped arguments object is used when the async function has a
+ simple parameter list.
+flags: [noStrict, async]
+---*/
+
+
+async function foo(a) {
+ arguments[0] = 2;
+ assert.sameValue(a, 2);
+
+ a = 3;
+ assert.sameValue(arguments[0], 3);
+}
+
+foo(1).then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvalueglobaljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-global.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ The this value is set to the global object when not passed in sloppy mode.
+flags: [noStrict, async]
+---*/
+
+var glob = this;
+async function foo() {
+ assert.sameValue(this, glob);
+}
+
+foo().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationthisvaluepassedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-this-value-passed.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ The this value from the caller is present in the async function body
+flags: [async]
+---*/
+
+
+async function foo(a) {
+ assert.sameValue(this, a)
+}
+var obj = {};
+foo.call(obj, obj).then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionevaluationunmappedargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/evaluation-unmapped-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Unmapped arguments object is used when the async function doesn't have a
+ simple parameter list.
+flags: [async]
+---*/
+
+
+async function foo(a = 42) {
+ arguments[0] = 2;
+ assert.sameValue(a, 1);
+
+ a = 3;
+ assert.sameValue(arguments[0], 2);
+}
+
+foo(1).then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationlineterminatorsallowedjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,17 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Declarations allow line breaks after function and after arguments list
+---*/
+
+async function
+foo()
+{
+
+}
+
+assert(foo instanceof Function);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationnolineterminatorjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Async function declarations cannot have a line break after `async`
+info: Reference error is thrown due to looking up async in strict mode
+---*/
+assert.throws(ReferenceError, function() {
+ async
+ function foo() {}
+});
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsasyncfunctionsyntaxdeclarationjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/async-function/syntax-declaration.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: Async function declaration returns a promise
+flags: [async]
+---*/
+
+async function foo () { }
+
+foo().then(function() {
+ $DONE();
+})
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionclassmethodreturnspromisejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/class-method-returns-promise.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Async function expressions return promises
+---*/
+class Foo {
+ async method() {};
+}
+var p = new Foo().method();
+assert(p instanceof Promise, "async functions return promise instances");
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodNSPLwithUSDjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
+negative: SyntaxError
+---*/
+class Foo {
+ async bar(x = 1) {"use strict"}
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodargumentsinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains arguments
+negative: SyntaxError
+---*/
+class Foo {
+ async foo (arguments) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsdefaultjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters' default expressions contains await
+negative: SyntaxError
+---*/
+class Foo {
+ async foo (x = await) { }
+}
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodawaitinformalsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains await
+negative: SyntaxError
+---*/
+class Foo {
+ async foo (await) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodbodycontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true
+negative: SyntaxError
+---*/
+class Foo {
+ async foo () { super() }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodduplicateparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Early error rules for StrictFormalParameters are applied
+negative: SyntaxError
+---*/
+
+class Foo {
+ async foo(a, a) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodevalinformalparametersjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a SyntaxError if FormalParameters contains eval in strict mode
+negative: SyntaxError
+---*/
+class Foo {
+ async foo(eval) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalsbodyduplicatejs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
+negative: SyntaxError
+---*/
+
+class Foo {
+ async function foo(bar) { let bar; }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionearlyerrorsclassmethodformalscontainssupercalljs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: It is a syntax error if FormalParameters contains SuperCall is true
+negative: SyntaxError
+---*/
+class Foo {
+ async foo(foo = super()) { }
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallbodyjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-body.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Super calls work in body of async methods
+flags: [async]
+---*/
+class A {
+ async method() {
+ return 'sup';
+ }
+}
+
+class B extends A {
+ async method() {
+ var x = await super.method();
+ assert.sameValue(x, 'sup');
+ }
+}
+var child = new B();
+child.method().then($DONE, $DONE);
+
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionmethodsasyncsupercallparamjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/methods-async-super-call-param.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright 2016 Microsoft, Inc. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+author: Brian Terlson <brian.terlson@microsoft.com>
+esid: pending
+description: >
+ Super calls work in the parameter list of async methods
+flags: [async]
+---*/
+
+class A {
+ async method() {
+ return 'sup';
+ }
+}
+
+class B extends A {
+ async method(x = super.method()) {
+ assert.sameValue(await x, 'sup');
+ }
+}
+var child = new B();
+child.method().then($DONE, $DONE);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas in method parameter lists do not affect `arguments`
+ in class method bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+class C {
+ f1() {
+ assert.sameValue(
+ arguments.length,
+ 1,
+ "Class method called with 1 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+ },
+
+ f2() {
+ assert.sameValue(
+ arguments.length,
+ 2,
+ "Class method called with 2 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+ }
+};
+
+(new C()).f1(1,);
+(new C()).f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of
+ class methods.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+class C {
+ one(a,) {}
+ two(a,b,) {}
+};
+
+assert.sameValue(
+ C.prototype.one.length,
+ 1,
+ "Class method with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ C.prototype.two.length,
+ 2,
+ "Class method with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommarestjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma-rest.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,13 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas are not permitted after rest args in
+ class method parameter lists.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+negative: SyntaxError
+---*/
+class C {
+ m(...[],) {}
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsclassdefinitionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/class/definition/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in class method argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+class C {
+ one(a,) {},
+ two(a,b,) {},
+}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a lexically-scoped
+ binding named "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function f(x = args = arguments) {
+ function arguments() {}
+}
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a function named
+ "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function f(x = args = arguments) {
+ let arguments;
+}
+
+f();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommaargumentsjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-arguments.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas do not affect `arguments` in function
+ declaration bodies.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+function f1() {
+ assert.sameValue(
+ arguments.length,
+ 1,
+ "Function declaration called with 1 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+}
+
+function f2() {
+ assert.sameValue(
+ arguments.length,
+ 2,
+ "Function declaration called with 2 arg + trailing comma reports " +
+ "invalid arguments.length!"
+ );
+}
+
+f1(1,);
+f2(1,2,);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of
+ function declarations.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+function one(a,) {}
+function two(a,b,) {}
+
+assert.sameValue(
+ one.length,
+ 1,
+ "Function expression with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ two.length,
+ 2,
+ "Function expression with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsfunctionparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/function/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in function declaration argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+function one(a,) {}
+function two(a,b,) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentsfnjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-fn.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a lexically-scoped
+ binding named "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function* g(x = args = arguments) {
+ function arguments() {}
+}
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsargumentswithargumentslexjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/arguments-with-arguments-lex.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-functiondeclarationinstantiation
+es6id: 9.2.12
+description: >
+ Arguments object is created even when the body contains a function named
+ "arguments"
+info: |
+ [...]
+ 19. Else if "arguments" is an element of parameterNames, then
+ a. Let argumentsObjectNeeded be false.
+ 20. Else if hasParameterExpressions is false, then
+ a. If "arguments" is an element of functionNames or if "arguments" is an
+ element of lexicalNames, then
+ i. Let argumentsObjectNeeded be false.
+ [...]
+flags: [noStrict]
+---*/
+
+var args;
+
+function* g(x = args = arguments) {
+ let arguments;
+}
+
+g().next();
+
+assert.sameValue(typeof args, 'object');
+assert.sameValue(args.length, 0);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommalengthjs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma-length.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: >
+ Check that trailing commas don't affect the .length property of
+ generator function declarations.
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+
+function one*(a,) {}
+function two*(a,b,) {}
+
+assert.sameValue(
+ one.length,
+ 1,
+ "Function expression with 1 arg + trailing comma reports incorrect .length!"
+);
+
+assert.sameValue(
+ two.length,
+ 2,
+ "Function expression with 2 args + trailing comma reports incorrect .length!"
+);
</ins></span></pre></div>
<a id="trunkJSTeststest262testlanguagestatementsgeneratorsparamstrailingcommajs"></a>
<div class="addfile"><h4>Added: trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js (0 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js         (rev 0)
+++ trunk/JSTests/test262/test/language/statements/generators/params-trailing-comma.js        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -0,0 +1,9 @@
</span><ins>+// Copyright (C) 2016 Jeff Morrison. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: Check that trailing commas are permitted in generator function argument lists
+info: http://jeffmo.github.io/es-trailing-function-commas/
+author: Jeff Morrison <lbljeffmo@gmail.com>
+---*/
+function* one(a,) {}
+function* two(a,b,) {}
</ins></span></pre></div>
<a id="trunkJSTeststest262test262Revisiontxt"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262/test262-Revision.txt (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262/test262-Revision.txt        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262/test262-Revision.txt        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -1,3 +1,3 @@
</span><span class="cx"> test262 remote url: https://github.com/tc39/test262.git
</span><del>-test262 revision: 163fae3e68998c1a69e1e6825bf34e89b76cff58
</del><ins>+test262 revision: fb45ed9772398e83f3d9f8f84a6e1a86914ad147
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkJSTeststest262yaml"></a>
<div class="modfile"><h4>Modified: trunk/JSTests/test262.yaml (204850 => 204851)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/JSTests/test262.yaml        2016-08-23 19:12:36 UTC (rev 204850)
+++ trunk/JSTests/test262.yaml        2016-08-23 19:23:55 UTC (rev 204851)
</span><span class="lines">@@ -2427,6 +2427,30 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><span class="cx"> - path: test262/test/annexB/language/literals/string/legacy-octal-escape-sequence.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><ins>+- path: test262/test/annexB/language/statements/for-in/bare-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/bare-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/annexB/language/statements/for-in/const-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/const-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/annexB/language/statements/for-in/let-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/let-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/annexB/language/statements/for-in/nonstrict-initializer.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/strict-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/annexB/language/statements/labeled/function-declaration.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/annexB/language/statements/try/catch-redeclared-for-in-var.js
</span><span class="lines">@@ -13229,6 +13253,66 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/ArrayIteratorPrototype/next/property-descriptor.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-name.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-name.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunction.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-construct.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/instance-construct.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-has-name.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/instance-has-name.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/AsyncFunction/instance-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/instance-prototype-property.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/instance-prototype-property.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/AsyncFunction/is-not-a-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/built-ins/AsyncFunction/is-not-a-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Boolean/S15.6.1.1_A1_T1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Boolean/S15.6.1.1_A1_T1.js
</span><span class="lines">@@ -13621,9 +13705,9 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/byteOffset/this-is-not-object.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -13697,9 +13781,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -13773,9 +13857,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getFloat64/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -13837,9 +13921,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt16/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -13901,9 +13985,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -13961,9 +14045,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getInt8/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -14025,9 +14109,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint16/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -14089,9 +14173,9 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><del>-- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js
</del><ins>+- path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js
</ins><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="lines">@@ -14149,14 +14233,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/getUint8/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14233,14 +14317,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14317,14 +14401,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setFloat64/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14401,14 +14485,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt16/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14485,14 +14569,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14561,14 +14645,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setInt8/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14645,14 +14729,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint16/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -14729,14 +14813,14 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint32/toindex-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
-- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-number-value.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
+- path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/detachArrayBuffer.js"], []
</span><span class="cx"> - path: test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js
</span><span class="lines">@@ -18159,6 +18243,22 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/S15.3.4.5_A5.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/instance-name-chained.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/bind/instance-name-chained.js
</span><span class="lines">@@ -18379,6 +18479,10 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/restricted-property-caller.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/toString/AsyncFunction.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/toString/AsyncFunction.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/Function.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/Function.js
</span><span class="lines">@@ -18431,6 +18535,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/arrow-function.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Function/prototype/toString/async-function-declaration.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/toString/async-function-declaration.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Function/prototype/toString/async-function-expression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/toString/async-function-expression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Function/prototype/toString/async-method.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Function/prototype/toString/async-method.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/bound-function.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/nativeFunctionMatcher.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Function/prototype/toString/bound-function.js
</span><span class="lines">@@ -19099,6 +19215,42 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/JSON/parse/revived-proxy.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-delete-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-delete-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-call-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-call-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-get-name-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-get-name-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-delete-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-delete-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/JSON/stringify/15.12.3-0-1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/JSON/stringify/15.12.3-0-1.js
</span><span class="lines">@@ -21873,6 +22025,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/prop-desc.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Number/prototype/toExponential/infinity.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/infinity.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/length.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/length.js
</span><span class="lines">@@ -21881,6 +22037,46 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toExponential/name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Number/prototype/toExponential/nan.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/nan.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/prop-desc.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/prop-desc.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/return-values.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/return-values.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Number/prototype/toFixed/S15.7.4.5_A1.1_T01.js
</span><span class="lines">@@ -32325,6 +32521,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/primitive-symbols.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/proxyTrapsHelper.js"], []
+- path: test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/proxyTrapsHelper.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/symbols-included.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Object/getOwnPropertyDescriptors/symbols-included.js
</span><span class="lines">@@ -36363,12 +36563,14 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/set/trap-is-undefined.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js
- cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/call-parameters.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/call-parameters.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js
</span><span class="lines">@@ -36377,25 +36579,41 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js
- cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
-- path: test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js
- cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/null-handler.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/null-handler.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js
</del><ins>+- path: test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/Reflect/Reflect.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="lines">@@ -38601,6 +38819,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/from-regexp-like.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/lastIndex.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/RegExp/lastIndex.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/15.10.6.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/15.10.6.js
</span><span class="lines">@@ -39597,10 +39819,6 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/flags/y.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
-- path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/15.10.7.2-2.js
</span><span class="lines">@@ -39625,10 +39843,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/global/name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
-- path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-2.js
</span><span class="lines">@@ -39653,26 +39879,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/ignoreCase/name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js
- cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
-- path: test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js
- cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
-- path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
-- path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-2.js
</span><span class="lines">@@ -39697,10 +39915,22 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/multiline/name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
-- path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js
- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/15.10.7.1-2.js
</span><span class="lines">@@ -39725,6 +39955,34 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/source/name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-empty.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-empty.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value-u.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/value-u.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/built-ins/RegExp/prototype/source/value.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/source/value.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/length.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/length.js
</span><span class="lines">@@ -39737,18 +39995,22 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/sticky/prop-desc.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/test/S15.10.6.3_A10.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/test/S15.10.6.3_A10.js
</span><span class="lines">@@ -39965,18 +40227,22 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/prototype/unicode/prop-desc.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><del>-- path: test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js
</del><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js
</ins><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/RegExp/unicode_identity_escape.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/RegExp/unicode_identity_escape.js
</span><span class="lines">@@ -41347,6 +41613,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/built-ins/String/length.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
</span><ins>+- path: test262/test/built-ins/String/numeric-properties.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/built-ins/String/numeric-properties.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/String/prototype/S15.5.3.1_A1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/String/prototype/S15.5.3.1_A1.js
</span><span class="lines">@@ -45160,9 +45430,9 @@
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/length.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/name.js
</span><del>- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</del><ins>+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</ins><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/name.js
</span><del>- cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</del><ins>+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/prototype.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/built-ins/ThrowTypeError/prototype.js
</span><span class="lines">@@ -50961,8 +51231,6 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><span class="cx"> - path: test262/test/language/arguments-object/10.6-10-c-ii-1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><del>-- path: test262/test/language/arguments-object/10.6-10-c-ii-2-s.js
- cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/language/arguments-object/10.6-10-c-ii-2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/arguments-object/10.6-11-b-1.js
</span><span class="lines">@@ -51137,6 +51405,20 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/arguments-object/unmapped/Symbol.iterator.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], []
</span><ins>+- path: test262/test/language/arguments-object/unmapped/via-params-dflt.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/arguments-object/unmapped/via-params-dflt.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-params-dstr.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/arguments-object/unmapped/via-params-dstr.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-params-rest.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/arguments-object/unmapped/via-params-rest.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/arguments-object/unmapped/via-strict.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/asi/S7.9.2_A1_T1.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/asi/S7.9.2_A1_T1.js
</span><span class="lines">@@ -51723,10 +52005,6 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-declare-function-with-function-declaration.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><del>-- path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js
- cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
-- path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js
- cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</del><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-var.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-var.js
</span><span class="lines">@@ -52333,6 +52611,30 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/eval-code/direct/strictness-override.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/eval-code/direct/super-call-arrow.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-call-arrow.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/direct/super-call-fn.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-call-fn.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/direct/super-call.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-call.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop-arrow.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-prop-arrow.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop-method.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-prop-method.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/direct/super-prop.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/direct/super-prop.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><span class="cx"> - path: test262/test/language/eval-code/direct/switch-case-decl-strict-source.js
</span><span class="lines">@@ -52567,6 +52869,14 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/eval-code/indirect/parse-failure-5.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/eval-code/indirect/super-call.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/indirect/super-call.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/eval-code/indirect/super-prop.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/eval-code/indirect/super-prop.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/eval-code/indirect/switch-case-decl-strict.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/eval-code/indirect/switch-case-decl-strict.js
</span><span class="lines">@@ -53777,6 +54087,14 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/arrow-function/params-dflt-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/arrow-function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/arrow-function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/arrow-function/prototype-rules.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/arrow-function/prototype-rules.js
</span><span class="lines">@@ -55039,6 +55357,150 @@
</span><span class="cx"> cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/assignment/target-newtarget.js
</span><span class="cx"> cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
+ cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js
+ cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/expression-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/expression-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-BindingIdentifier-in-global.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-BindingIdentifier-in-global.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-BindingIdentifier-nested.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-BindingIdentifier-nested.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-awaits-thenable-not-callable.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenable-not-callable.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/await/await-awaits-thenables-that-throw.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenables-that-throw.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/await/await-awaits-thenables.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/await/await-awaits-thenables.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/await/await-in-function.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-in-function.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-in-generator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-in-generator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-in-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-in-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-in-nested-function.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-in-nested-function.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-in-nested-generator.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-in-nested-generator.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/await-throws-rejections.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/await-throws-rejections.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
+ cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js
+ cmd: runTest262 :fail, "ReferenceError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/no-operand.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/await/no-operand.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/expressions/bitwise-and/S11.10.1_A1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/bitwise-and/S11.10.1_A1.js
</span><span class="lines">@@ -55599,6 +56061,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/tco-helper.js"], [:strict]
</span><span class="cx"> - path: test262/test/language/expressions/call/tco-member-args.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/tco-helper.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/call/trailing-comma.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/call/trailing-comma.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/call/with-base-obj.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/class/dstr-gen-meth-ary-init-iter-close.js
</span><span class="lines">@@ -60965,6 +61431,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/function/S10.1.1_A1_T2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/function/arguments-with-arguments-fn.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/function/arguments-with-arguments-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</ins><span class="cx"> - path: test262/test/language/expressions/function/dstr-ary-init-iter-close.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/function/dstr-ary-init-iter-close.js
</span><span class="lines">@@ -61729,6 +62199,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/function/params-dflt-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/function/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/function/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/function/scope-body-lex-distinct.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/function/scope-name-var-close.js
</span><span class="lines">@@ -61759,6 +62241,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/function/use-strict-with-non-simple-param.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/generators/arguments-with-arguments-fn.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/generators/arguments-with-arguments-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</ins><span class="cx"> - path: test262/test/language/expressions/generators/default-proto.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/default-proto.js
</span><span class="lines">@@ -62535,6 +63021,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/params-dflt-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/generators/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/generators/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/generators/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/generators/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/generators/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/generators/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/generators/prototype-own-properties.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/generators/prototype-own-properties.js
</span><span class="lines">@@ -64471,6 +64969,10 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/__proto__-permitted-dup.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/computed-property-evaluation-order.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/computed-property-evaluation-order.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/concise-generator.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/concise-generator.js
</span><span class="lines">@@ -65915,6 +66417,46 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/let-non-strict-syntax.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><ins>+- path: test262/test/language/expressions/object/method-definition/async-super-call-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-param.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/expressions/object/method-definition/async-super-call-param.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/fn-name-fn.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/fn-name-fn.js
</span><span class="lines">@@ -66083,6 +66625,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/name-super-prop-param.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/method-definition/object-method-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/object-method-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-gen-meth-abrupt.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-gen-meth-abrupt.js
</span><span class="lines">@@ -66163,6 +66709,22 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/params-dflt-meth-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/expressions/object/method-definition/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
</span><span class="cx"> cmd: runTest262 :fail, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/expressions/object/method-definition/setter-use-strict-with-non-simple-param.js
</span><span class="lines">@@ -68963,6 +69525,32 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/global-code/block-decl-strict.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/global-code/decl-func-dup.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/decl-func-dup.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/decl-func.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/language/global-code/decl-func.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/language/global-code/decl-lex-configurable-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/language/global-code/decl-lex-configurable-global.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/language/global-code/decl-lex-deletion.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/decl-lex-restricted-global.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/decl-lex-restricted-global.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/decl-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/decl-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/decl-var.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/language/global-code/decl-var.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/global-code/export.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/global-code/export.js
</span><span class="lines">@@ -68979,6 +69567,72 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/global-code/new.target.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/global-code/return.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/return.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-func-dups.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-func-dups.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-func-err-non-configurable.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-func-err-non-configurable.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-func-err-non-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-func-err-non-extensible.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-func.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/language/global-code/script-decl-func.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-deletion.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-lex-lex.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-lex-lex.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-restricted-global.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-lex-restricted-global.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-lex-var.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-lex-var.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-lex.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-lex.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-var-collision.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-var-collision.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-var-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/script-decl-var-err.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/script-decl-var.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], []
+- path: test262/test/language/global-code/script-decl-var.js
+ cmd: runTest262 :fail, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js", "../../../harness/propertyHelper.js"], [:strict]
+- path: test262/test/language/global-code/super-call-arrow.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/super-call-arrow.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/super-prop-arrow.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/super-prop-arrow.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
+- path: test262/test/language/global-code/super-prop.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/super-prop.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/global-code/switch-case-decl-strict.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><span class="cx"> - path: test262/test/language/global-code/switch-dflt-decl-strict.js
</span><span class="lines">@@ -68987,6 +69641,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/global-code/unscopables-ignored.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/global-code/yield-non-strict.js
+ cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/global-code/yield-strict.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/identifier-resolution/S10.2.2_A1_T1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/identifier-resolution/S10.2.2_A1_T1.js
</span><span class="lines">@@ -70493,6 +71151,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/invalid-braced-quantifier-range.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/literals/regexp/lastIndex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], []
+- path: test262/test/language/literals/regexp/lastIndex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/propertyHelper.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js
</span><span class="lines">@@ -70569,6 +71231,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/literals/regexp/u-unicode-esc.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/literals/regexp/y-assertion-start.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/literals/regexp/y-assertion-start.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/literals/string/7.8.4-1-s.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/literals/string/7.8.4-1-s.js
</span><span class="lines">@@ -71188,7 +71854,7 @@
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js
</span><span class="cx"> cmd: prepareTest262Fixture
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-err-not-found.js
</span><del>- cmd: runTest262 :fail, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</del><ins>+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/instn-star-id-name.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/instn-star-iee-cycle-2_FIXTURE.js
</span><span class="lines">@@ -71272,7 +71938,7 @@
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/delete-non-exported.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js
</span><del>- cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:module]
</del><ins>+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-found-uninit.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/namespace/internals/get-own-property-str-not-found.js
</span><span class="lines">@@ -71509,6 +72175,8 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-reference.js
</span><span class="cx"> cmd: runTest262 :normal, "ReferenceError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><ins>+- path: test262/test/language/module-code/parse-err-return.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/parse-err-semi-dflt-expr.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-semi-export-clause-from.js
</span><span class="lines">@@ -71519,6 +72187,8 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/module-code/parse-err-syntax.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><ins>+- path: test262/test/language/module-code/parse-err-yield.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</ins><span class="cx"> - path: test262/test/language/module-code/parse-export-empty.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:module]
</span><span class="cx"> - path: test262/test/language/punctuators/S7.7_A1.js
</span><span class="lines">@@ -72121,6 +72791,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/rest-parameters/object-pattern.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/rest-parameters/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
+- path: test262/test/language/rest-parameters/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/rest-parameters/position-invalid.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/rest-parameters/position-invalid.js
</span><span class="lines">@@ -72149,6 +72823,104 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/source-text/6.1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../harness/assert.js", "../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/async-function/declaration-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/declaration-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/early-errors-no-async-generator.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/early-errors-no-async-generator.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-returns.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-body-that-throws.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/evaluation-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/evaluation-default-that-throws.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-default-that-throws.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-mapped-arguments.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-global.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-passed.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-this-value-passed.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/evaluation-unmapped-arguments.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/evaluation-unmapped-arguments.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/async-function/syntax-declaration.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/async-function/syntax-declaration.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js", "../../../../harness/doneprintHandle.js"], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/statements/block/12.1-1.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/block/12.1-1.js
</span><span class="lines">@@ -72305,6 +73077,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/basics.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/class-method-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/class-method-returns-promise.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/constructable-but-no-prototype.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/constructable-but-no-prototype.js
</span><span class="lines">@@ -72321,6 +73097,42 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/constructor.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js
+ cmd: runTest262 :fail, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/fn-name-accessor-get.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/propertyHelper.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/fn-name-accessor-get.js
</span><span class="lines">@@ -72361,6 +73173,14 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/invalid-extends.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/methods-async-super-call-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-body.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:strict, :async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-param.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:async]
+- path: test262/test/language/statements/class/definition/methods-async-super-call-param.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js", "../../../../../harness/doneprintHandle.js"], [:strict, :async]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/methods-gen-no-yield.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/methods-gen-no-yield.js
</span><span class="lines">@@ -72453,6 +73273,22 @@
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/numeric-property-names.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/class/definition/params-trailing-comma-arguments.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-arguments.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma-rest.js
+ cmd: runTest262 :normal, "SyntaxError", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/class/definition/params-trailing-comma.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
+- path: test262/test/language/statements/class/definition/params-trailing-comma.js
+ cmd: runTest262 :fail, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/class/definition/prototype-getter.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../../harness/assert.js", "../../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/class/definition/prototype-getter.js
</span><span class="lines">@@ -81771,6 +82607,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/function/S14_A5_T2.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/function/arguments-with-arguments-fn.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/function/arguments-with-arguments-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</ins><span class="cx"> - path: test262/test/language/statements/function/dstr-ary-init-iter-close.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/function/dstr-ary-init-iter-close.js
</span><span class="lines">@@ -82535,6 +83375,18 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/function/params-dflt-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/function/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/function/params-trailing-comma-arguments.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/function/params-trailing-comma-length.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/function/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/function/scope-body-lex-distinct.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/function/scope-param-elem-var-close.js
</span><span class="lines">@@ -82557,6 +83409,10 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/function/use-strict-with-non-simple-param.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/generators/arguments-with-arguments-fn.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/generators/arguments-with-arguments-lex.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</ins><span class="cx"> - path: test262/test/language/statements/generators/declaration.js
</span><span class="cx"> cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/generators/declaration.js
</span><span class="lines">@@ -83329,6 +84185,14 @@
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/generators/params-dflt-rest.js
</span><span class="cx"> cmd: runTest262 :normal, "SyntaxError", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</span><ins>+- path: test262/test/language/statements/generators/params-trailing-comma-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/generators/params-trailing-comma-length.js
+ cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
+- path: test262/test/language/statements/generators/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
+- path: test262/test/language/statements/generators/params-trailing-comma.js
+ cmd: runTest262 :normal, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], [:strict]
</ins><span class="cx"> - path: test262/test/language/statements/generators/prototype-own-properties.js
</span><span class="cx"> cmd: runTest262 :fail, "NoException", ["../../../../harness/assert.js", "../../../../harness/sta.js"], []
</span><span class="cx"> - path: test262/test/language/statements/generators/prototype-own-properties.js
</span></span></pre>
</div>
</div>
</body>
</html>