aboutsummaryrefslogtreecommitdiffstats
path: root/website/json/15.2.json
diff options
context:
space:
mode:
Diffstat (limited to 'website/json/15.2.json')
-rw-r--r--website/json/15.2.json1
1 files changed, 1 insertions, 0 deletions
diff --git a/website/json/15.2.json b/website/json/15.2.json
new file mode 100644
index 000000000..338f484f7
--- /dev/null
+++ b/website/json/15.2.json
@@ -0,0 +1 @@
+{"testsCollection":{"name":"Chapter - 15.2","numTests":"131","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbAogKgogKiBAcGF0aCBjaDE1LzE1LjIvUzE1LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE9iamVjdCBlcXVhbHMgdG8gdGhpcy5PYmplY3QKICovCgp2YXIgb2JqPU9iamVjdDsKCnZhciB0aGlzb2JqPXRoaXMuT2JqZWN0OwoKaWYob2JqIT09dGhpc29iail7CiAgJEVSUk9SKCdPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCcpOwp9Cgo=","commentary":"Object is the property of global","description":"Checking if Object equals to this.Object","path":"TestCases/ch15/15.2/S15.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KG51bGwpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdChudWxsKTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KG51bGwpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHZvaWQgMCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKLy92YXIgeT0gdm9pZCAwOwoKdmFyIF9fb2JqID0gT2JqZWN0KHZvaWQgMCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh2b2lkIDApOwoKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCgpOwogCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHVuZGVmaW5lZCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KHVuZGVmaW5lZCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHgpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdCh4KTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KHgpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgp2YXIgeDsKCg==","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(x) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggYm9vbGVhbiBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBib29sID0gdHJ1ZTsKCmlmKHR5cGVvZiBib29sICE9PSAnYm9vbGVhbicpewogICRGQUlMKCcjMTogYm9vbCBzaG91bGQgYmUgYm9vbGVhbiBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChib29sKTsKCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMyOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAoIW9iaikgewogICRFUlJPUignIzQ6IE9iamVjdCh0cnVlKSByZXR1cm5zIFRvT2JqZWN0KHRydWUpJyk7Cn0KCmlmIChvYmogPT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGFycmF5IG9mIG51bWJlcnMgYXMgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFyciAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMxOiBhcnIgPSBbMSwyLDNdIGlzIE5PVCBhbiBvYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KGFycik7CgphcnIucHVzaCg0KTsKCi8vQ0hFQ0sjMgppZiAoKG5fb2JqICE9PSBhcnIpfHwobl9vYmpbM10hPT00KSkgewogICRFUlJPUignIzI6IE9iamVjdChbMSwyLDNdKSByZXR1cm5zIFRvT2JqZWN0KFsxLDIsM10pJyk7Cn0KCgoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with array of numbers as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAkRVJST1IoJyMxOiAgZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO30pOwoKLy9DSEVDSyMyCmlmICgobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKXx8KG5fb2JqKCkhPT0xKSkgewogICRFUlJPUignIzI6IE9iamVjdChmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIDE7fSkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBmdW5jICE9PSAndW5kZWZpbmVkJykgewogICRFUlJPUignIzM6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwndCBiZSBkZWNsYXJhdGVkJyk7Cn0KCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function declaration as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIG51bWVyaWMgZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoMS4xKihbXS5sZW5ndGgre3E6MX1bInEiXSkpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gMS4xKXx8KG9iaiA9PT0gMS4xKSkgewogICRFUlJPUignIzQ6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with numeric expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGJvb2xlYW4gZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoKDE9PT0xKSYmKCFmYWxzZSkpOwoKLy9DSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMxOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzEuMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxLjE6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShvYmopKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmo9PT10cnVlKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIHN1bSBvZiBlbXB0eSBzdHJpbmcgYW5kIGEgbnVtYmVyIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgiIisxKTsKCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIxIil8fChvYmogPT09ICIxIikpIHsKICAkRVJST1IoJyM0OiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with sum of empty string and a number as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggbnVtYmVyIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IDEuMTsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSAxLjEgc2hvdWxkIGJlIE51bWJlciBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdCgxLjEpIHJldHVybnMgVG9PYmplY3QoMS4xKScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG9iaiAhPSAxLjEpfHwob2JqID09PSAxLjEpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with number argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICdMdWtlIFNreXdhbGtlcic7CgovLyBDSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRVJST1IoJyMxOiAiTHVrZSBTa3l3YWxrZXIiIHNob3VsZCBiZSBhIFN0cmluZyBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiTHVrZSBTa3l3YWxrZXIiKSByZXR1cm5zIFRvT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBUb09iamVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gIkx1a2UgU2t5d2Fsa2VyIil8fChvYmogPT09ICJMdWtlIFNreXdhbGtlciIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpIHJldHVybnMgVG9PYmplY3QoIkx1a2UgU2t5d2Fsa2VyIiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IHtmbGFnOnRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcpIHsKICAkRkFJTCgnIzE6IG9iaiA9IHtmbGFnOnRydWV9IHNob3VsZCBiZSBhbiBPYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KG9iaik7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gb2JqKXx8KCEobl9vYmpbJ2ZsYWcnXSkpKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KHtmbGFnOnRydWV9KSByZXR1cm5zIFRvT2JqZWN0KHtmbGFnOnRydWV9KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with object argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggTmFOIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IE5hTjsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSBOYU4gc2hvdWxkIGhhdmUgbnVtYmVyIHR5cGUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9Ci8vCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with NaN argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggSW5maW5pdHkgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgbnVtID0gSW5maW5pdHk7CgovLyBDSEVDSyMxCmlmKHR5cGVvZiBudW0gICE9PSAnbnVtYmVyJyl7CiAgJEVSUk9SKCcjMTogbnVtID0gSW5maW5pdHkgc2hvdWxkIGJlIGEgTnVtYmVyIHByaW1pdGl2ZScpOwp9Cgp2YXIgb2JqID0gT2JqZWN0KG51bSk7CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdChJbmZpbml0eSkgcmV0dXJucyBUb09iamVjdChJbmZpbml0eSknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9IEluZmluaXR5KXx8KG9iaiA9PT0gSW5maW5pdHkpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with Infinity argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZW1wdHkgc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICcnOwoKLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHN0cikgIT09ICdzdHJpbmcnKSB7CiAgJEZBSUwoJyMxOiAiIiBpcyBOT1QgYSBTdHJpbmcnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIiKXx8KG9iaiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCIiKSByZXR1cm5zIFRvT2JqZWN0KCIiKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with empty string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gdmFyaWFibGUgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIDE7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function variable argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gYXJndW1lbnQgdmFsdWUuIFRoZSBmdW5jdGlvbiBpcyBkZWNsYXJlZAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function argument value. The function is declared","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgxLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgxLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAxKXx8KG9iaiA9PT0gMSkpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdChudWxsLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdChudWxsLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgobnVsbCwyLDMpLDEsMikiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgobnVsbCwyLDMpLDEsMik7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAzKXx8KG9iaiA9PT0gMykpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object((null,2,3),1,2)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCgpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCgpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3Qodm9pZCAwKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgovL3ZhciBmb28gPSB2b2lkIDA7CnZhciBvYmogPSBuZXcgT2JqZWN0KHZvaWQgMCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9CgoK","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QobnVsbCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QobnVsbCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QobnVsbCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdChudWxsKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KG51bGwpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGhhcyBubyBbW1ZhbHVlXV0gcHJvcGVydHkuJyk7Cn0KCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QodW5kZWZpbmVkKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCh1bmRlZmluZWQpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoeCksIHdoZXJlIHggaXMgInVuZGVmaW5lZCIsIGFuZCBjaGVja2luZyBpdCBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoeCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgp2YXIgeDsKCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(x), where x is \"undefined\", and checking it properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgT2JqZWN0CiAqLwoKdmFyIG9iaiA9IHtwcm9wOjF9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsncHJvcCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is Object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiB2YXJpYWJsZQogKi8KCnZhciBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChmdW5jKTsKCi8vQ0hFQ0sjMQppZiAobl9vYmogIT09IGZ1bmMpIHsKICAkRVJST1IoJyMxOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobl9vYmooKSAhPT0gMSkgewogICRFUlJPUignV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9Ci8vCgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function variable","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYW4gYXJyYXkKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCnZhciBuX29iaiA9IG5ldyBPYmplY3QoYXJyKTsKCmFyci5wdXNoKDQpOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gYXJyKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialszXSAhPT0gNCkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is an array","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBEYXRlIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgRGF0ZSgxOTc4LDMpOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmICgobl9vYmouZ2V0WWVhcigpICE9PSA3OCl8fChuX29iai5nZXRNb250aCgpICE9PSAzKSkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a Date object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBkZWNsYXJlZCBmdW5jdGlvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzEKaWYgKG5fb2JqICE9PSBmdW5jKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJ1doZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a declared function","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCi8vQ0hFQ0sjMAppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMDogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gMTt9KTsKCi8vQ0hFQ0sjMQppZiAobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function declaration","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhIG5vbmVtcHR5IHN0cmluZwogKi8KCnZhciBzdHIgPSAnT2JpLVdhbiBLZW5vYmknOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRkFJTCgnIzE6ICJPYmktV2FuIEtlbm9iaSIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KHN0cik7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gc3RyKSB7CiAgJEVSUk9SKCcjNDogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gc3RyKSB7CiAgJEVSUk9SKCcjNTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is a nonempty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICovCgp2YXIgc3RyID0gJyc7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBzdHIgICE9PSAnc3RyaW5nJykgewogICRGQUlMKCcjMTogIiIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3Qoc3RyKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBzdHIpIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBzdHIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is an empty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBzdW0gb2YgZW1wdHkgc3RyaW5nIGFuZCBudW1iZXIKICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCIiKzEpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9ICIxIikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09ICIxIikgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is sum of empty string and number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJ0cnVlIgogKi8KCnZhciBib29sID0gdHJ1ZTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGJvb2wgICE9PSAnYm9vbGVhbicpIHsKICAkRkFJTCgnIzE6IHRydWUgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"true\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJmYWxzZSIKICovCgp2YXIgYm9vbCA9IGZhbHNlOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYm9vbCAgIT09ICdib29sZWFuJykgewogICRGQUlMKCcjMTogZmFsc2UgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"false\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoKDE9PT0xKSYmIShmYWxzZSkpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gdHJ1ZSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is boolean expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbnkgbnVtYmVyCiAqLwoKdmFyIG51bSA9IDEuMDsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiAxLjAgaXMgTk9UIGEgbnVtYmVyJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3QobnVtKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBudW0pIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBudW0pIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is any number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBOYU4KICovCgp2YXIgbnVtID0gTmFOOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVtICAhPT0gJ251bWJlcicpIHsKICAkRkFJTCgnIzE6IE5hTiBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is NaN","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBJbmZpbml0eQogKi8KCnZhciBudW0gPSBJbmZpbml0eTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiBJbmZpbml0eSBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9IG51bSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IG51bSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is Infinity","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBudW1lcmljIGV4cHJlc3Npb24KICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCAyKihbXS5sZW5ndGggKyB7cToxfVsicSJdKSk7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gMikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IDIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is numeric expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoMSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KDEsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDEpfHwob2JqID09PSAxKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QobnVsbCwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KG51bGwsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoK","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoKG51bGwsMiwzKSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KChudWxsLDIsMyksMSwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDMpfHwob2JqID09PSAzKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object((null,2,3),2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0IGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy9TMTUuMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBPYmplY3QgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9Cgo=","commentary":"The Object constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvcgogKiBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zL1MxNS4yLjNfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE9iamVjdCkKICovCgovLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoT2JqZWN0KSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Object constructor\nis the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Object)","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvUzE1LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZighT2JqZWN0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJsZW5ndGgiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE9iamVjdC5sZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDEnKTsKfQoK","commentary":"Object constructor has length property whose value is 1","description":"Checking Object.length","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZTsKT2JqZWN0LnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUoKTsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoK","commentary":"The Object.prototype property has the attribute ReadOnly","description":"Checking if varying \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3V0PTA7Cgpmb3IgKHAgaW4gT2JqZWN0KXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Object.prototype property has the attribute DontEnum","description":"Checking if enumerating \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js"},{"code":"CgovKioKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMS9TMTUuMi4zLjFfQTMuanMKICovCgogIC8vIENvcHlyaWdodCAyMDA5IHRoZSBTcHV0bmlrIGF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCgovKioKKiBAbmFtZTogUzE1LjIuMy4xX0EzOwoqIEBzZWN0aW9uOiAxNS4yLjMuMSwgMTUuMi40OwoqIEBhc3NlcnRpb246IFRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGU7CiogQGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBkZWxldGluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHM7CiogQG5vU3RyaWN0CiovCgpkZWxldGUgT2JqZWN0LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoIShPYmplY3QuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovLyBUaGlzIGNvZGUgaXMgZ292ZXJuZWQgYnkgdGhlIEJTRCBsaWNlbnNlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCgovKioKICogT2JqZWN0LmdldE93blByb3BlcnRpZXMgYW5kIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgc2hvdWxkCiAqIGFncmVlIG9uIHdoYXQgdGhlIG93biBwcm9wZXJ0aWVzIGFyZS4KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC9TMTUuMi4zLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHRoYXQgYWxsIHRoZSBvd24gcHJvcGVydHkgbmFtZXMgcmVwb3J0ZWQgYnkKICogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgb24gYSBzdHJpY3QgZnVuY3Rpb24gYXJlIG5hbWVzIHRoYXQKICogaGFzT3duUHJvcGVydHkgYWdyZWVzIGFyZSBvd24gcHJvcGVydGllcy4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CmZ1bmN0aW9uIGZvbygpIHt9Cgp2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmb28pOwpmb3IgKHZhciBpID0gMCwgbGVuID0gbmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICBpZiAoIWZvby5oYXNPd25Qcm9wZXJ0eShuYW1lc1tpXSkpIHsKICAgICRFUlJPUignUGhhbnRvbSBvd24gcHJvcGVydHk6ICcgKyBuYW1lc1tpXSk7CiAgfQp9Cg==","commentary":"Object.getOwnProperties and Object.prototype.hasOwnProperty should\nagree on what the own properties are.","description":"Check that all the own property names reported by\nObject.getOwnPropertyNames on a strict function are names that\nhasOwnProperty agrees are own properties.","onlyStrict":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBhIHBhcnRpY3VsYXIgQVBJIGV4aXN0cyAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCwgYXMgaGFwcGVucyB0bwogKiBleGlzdCBpbiBhIGJyb3dzZXIgZW52aXJvbm1lbnQpLCBjaGVjayBpZiB0aGUgZm9ybSBvYmplY3RzIGl0IG1ha2VzCiAqIG9iZXkgdGhlIGNvbnN0cmFpbnRzIHRoYXQgZXZlbiBob3N0IG9iamVjdHMgbXVzdCBvYmV5LiBJbiB0aGlzCiAqIGNhc2UsIHRoYXQgaWYgZGVmaW5lUHJvcGVydHkgc2VlbXMgdG8gaGF2ZSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIGEKICogbm9uLWNvbmZpZ3VyYWJsZSBnZXR0ZXIsIHRoYXQgaXQgaXMgc3RpbGwgdGhlcmUuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvUzE1LjIuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEbyBnZXR0ZXJzIG9uIEhUTUxGb3JtRWxlbWVudHMgZGlzYXBwZWFyPwogKi8KCmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9CgppZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJgogICAgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHsKICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKICB2YXIgcmVmdXNlZCA9IGZhbHNlOwogIHRyeSB7CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgJ2ZvbycsIHsKICAgICAgZ2V0OiBnZXR0ZXIsCiAgICAgIHNldDogdm9pZCAwCiAgICB9KTsKICB9IGNhdGNoIChlcnIpIHsKICAgIC8vIEEgaG9zdCBvYmplY3QgbWF5IHJlZnVzZSB0byBpbnN0YWxsIHRoZSBnZXR0ZXIKICAgIHJlZnVzZWQgPSB0cnVlOwogIH0KICBpZiAoIXJlZnVzZWQpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAnZm9vJyk7CiAgICBpZiAoZGVzYy5nZXQgIT09IGdldHRlcikgewogICAgICAkRVJST1IoJ0dldHRlciBvbiBIVE1MRm9ybUVsZW1lbnQgZGlzYXBwZWFycycpOwogICAgfQogIH0KfQo=","commentary":"If a particular API exists (document.createElement, as happens to\nexist in a browser environment), check if the form objects it makes\nobey the constraints that even host objects must obey. In this\ncase, that if defineProperty seems to have successfully installed a\nnon-configurable getter, that it is still there.","description":"Do getters on HTMLFormElements disappear?","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42L1MxNS4yLjMuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBhcHBlYXJzIHRvIGJlCiAqIGFuIG93biBwcm9wZXJ0eS4KICovCgp2YXIgYmFzZSA9IHt9Owp2YXIgZGVyaXZlZCA9IE9iamVjdC5jcmVhdGUoYmFzZSk7CmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAnZm9vJywge2dldDogZ2V0dGVyfSk7CmlmIChkZXJpdmVkLmhhc093blByb3BlcnR5KCdmb28nKSkgewogICRFUlJPUignQWNjZXNzb3IgcHJvcGVydGllcyBpbmhlcml0IGFzIG93biBwcm9wZXJ0aWVzJyk7Cn0KCg==","commentary":"","description":"Checks if an inherited accessor property appears to be\nan own property.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3InKTsKfQoK","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Checking the Object.prototype.constructor","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nICJuZXcgT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIGNvbnN0ciA9IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Cgp2YXIgb2JqID0gbmV3IGNvbnN0cjsKCi8vIENIRUNLIzAKaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogbmV3IE9iamVjdCgpIHJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBuYXRpdmUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMzCnZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ09iamVjdCcgKyddJzsKaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiT2JqZWN0Ii4nKTsKfQoKLy8gQ0hFQ0sjNAppZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgo=","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Creating \"new Object.prototype.constructor\" and checking its properties","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyBPYmplY3QucHJvdG90eXBlLnByb3RvdHlwZSBmYWlscwogKi8KCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBPYmplY3QgcHJvdG90eXBlIGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCg==","commentary":"Object prototype object has not prototype","description":"Checking if obtaining Object.prototype.prototype fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyAiT2JqZWN0IgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIEdldHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW0NsYXNzXV0gcHJvcGVydHkgd2l0aCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgZnVuY3Rpb24KICovCgp2YXIgdG9zdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCk7CgovL0NIRUNLIzEKaWYgKHRvc3RyICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IG9mIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzICJPYmplY3QiJyk7Cn0KCg==","commentary":"The value of the internal [[Class]] property of Object prototype object is \"Object\"","description":"Getting the value of the internal [[Class]] property with Object.prototype.toString() function","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjYWxsXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvUzE1LjIuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY2FsbGluZyBPYmplY3QgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICBPYmplY3QucHJvdG90eXBlKCk7CiAgJEZBSUwoJyMxOiBTaW5jZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyBub3QgZnVuY3Rpb24gaXQgaGFzIG5vdCBbW2NhbGxdXSBtZXRob2QnKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"Since the Object prototype object is not a function, it has not [[call]] method","description":"Checking if calling Object prototype as a function fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjcmVhdGVdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgT2JqZWN0LnByb3RvdHlwZTsKICAkRkFJTCgnIzE6IFNpbmNlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Since the Object prototype object is not a function, it has not [[create]] method","description":"Checking if creating \"new Object.prototype\" fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgY2FsbGVkLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QKICogaWkpIENvbXB1dGUgYSBzdHJpbmcgdmFsdWUgYnkgY29uY2F0ZW5hdGluZyB0aGUgdGhyZWUgc3RyaW5ncyAiW29iamVjdCAiLCBSZXN1bHQoMSksIGFuZCAiXSIKICogaWlpKSBSZXR1cm4gUmVzdWx0KDIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpICE9PSJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogcmV0dXJuIGEgc3RyaW5nIHZhbHVlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHRocmVlIHN0cmluZ3MgIltvYmplY3QgIiwgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdCwgYW5kICJdIicpOwp9CgovL0NIRUNLIzMKaWYgKHt9LnRvU3RyaW5nKCkhPT0iW29iamVjdCAiKyJPYmplY3QiKyJdIikgewogICRFUlJPUignIzM6IHJldHVybiBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzICJbb2JqZWN0ICIsIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QsIGFuZCAiXSInKTsKfQoK","commentary":"When the toString method is called, the following steps are taken:\ni) Get the [[Class]] property of this object\nii) Compute a string value by concatenating the three strings \"[object \", Result(1), and \"]\"\niii) Return Result(2)","description":"Checking the type of Object.prototype.toString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toString method is 0","description":"Checking the Object.prototype.toString.length property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLgogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKSAhPT0gIltvYmplY3QgVW5kZWZpbmVkXSIpIHsKICAkRVJST1IoJ0lmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is undefined, return \"[object Undefined]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIG51bGwsIHJldHVybiAiW29iamVjdCBOdWxsXSIuCiAqLwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKSAhPT0gIltvYmplY3QgTnVsbF0iKSB7CiAgJEVSUk9SKCdJZiB0aGUgdGhpcyB2YWx1ZSBpcyBudWxsLCByZXR1cm4gIltvYmplY3QgTnVsbF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is null, return \"[object Null]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKDMzKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRydWUpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCdmb28nKSAhPT0gIltvYmplY3QgU3RyaW5nXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"Object.prototype.toString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHZhciBwIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvTG9jYWxlU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMxOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoe30udG9Mb2NhbGVTdHJpbmcoKSE9PXt9LnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMyOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCg==","commentary":"toLocaleString function returns the result of calling toString()","description":"Checking the type of Object.prototype.toLocaleString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.toLocaleString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toLocaleString method is 0","description":"Checking the Object.prototype.toLocaleString.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVuZGVmaW5lZCk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKG51bGwpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toLocaleString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toLocaleString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.toLocaleString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toLocaleString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toLocaleString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.valueOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB2YWx1ZU9mIG1ldGhvZCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9Cgo=","commentary":"The length property of the valueOf method is 0","description":"Checking the Object.prototype.valueOf.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwobnVsbCk7Cgo=","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKKDEsT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSgpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIHdoZW4gY2FsbGVkIGFzIGEgZ2xvYmFsIGZ1bmN0aW9uLgogKiBAbmVnYXRpdmUKICovCgp2YXIgdiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKdigpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf when called as a global function.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgxLjEpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0xLjEpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a number","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QodHJ1ZSk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PXRydWUpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a boolean","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgiZ3JlZW5maWVsZCIpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0iZ3JlZW5maWVsZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a string","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3Q7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is an object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgIm51bGwiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QobnVsbCk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"null\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"undefined\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInZvaWQgMCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh2b2lkIDApOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"void 0\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC9TMTUuMi40LjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.valueOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.valueOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.valueOf can't be used as a constructor","description":"Checking if creating \"new Object.prototype.valueOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja25pZyBpZiBkZWxldGluZyBvZiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.valueOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9PYmplY3QgbWV0aG9kIGlzIDEnKTsKfQoK","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5ICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImhhc093blByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Checking type of the Object.prototype.hasOwnProperty and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSkgewogICRFUlJPUignIzM6IGhhc093blByb3BlcnR5IG1ldGhvZCB3b3JrcyBwcm9wZXJseScpOwp9CgovL0NIRUNLIzQKaWYgKCEob2JqLmhhc093blByb3BlcnR5KCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyM0OiBoYXNPd25Qcm9wZXJ0eSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQovLwoK","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QKICovCgp2YXIgRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLmFwcm9wZXJ0eSA9IDE7Cn07Cgp2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKGluc3RhbmNlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpKSB7CiAgJEVSUk9SKCcjMzogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgiYXByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCgo=","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom property of a function object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjUvUzE1LjIuNC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.hasOwnProperty has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.hasOwnProperty fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.hasOwnProperty can't be used as a constructor","description":"Checking if creating \"new Object.prototype.hasOwnProperty\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBpc1Byb3RvdHlwZU9mIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudCBWIGFuZCB3aGVuIE8gYW5kCiAqIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyB0d28gb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIFVTRVJfRkFDVE9SWSggbmFtZSApIHsKICB0aGlzLm5hbWUgPSBuYW1lOwogIHRoaXMuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBuYW1lO307Cn0KCgpmdW5jdGlvbiBGT1JDRURVU0VSX0ZBQ1RPUlkoIG5hbWUsIGdyYWRlICkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmdyYWRlID0gZ3JhZGU7CiAgdGhpcy5nZXRHcmFkZT1mdW5jdGlvbigpe3JldHVybiBncmFkZTt9Owp9Cgp2YXIgcHJvdG8gPSBuZXcgVVNFUl9GQUNUT1JZKCJub25hbWUiKTsKCkZPUkNFRFVTRVJfRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBsdWtlID0gbmV3IEZPUkNFRFVTRVJfRkFDVE9SWSgiTHVrZSBTa3l3YWxrZXIiLCAxMik7Ci8vLy8vLwovLyBDSEVDSyMxCmlmKHByb3RvLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRQUklOVCgnIzE6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfSBlbHNlIHsKICAkRVJST1IoJyMxOiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uJyk7Cn0KLy8KLy8vLy8vLy8vCi8vLy8vLwovLyBDSEVDSyMyCmlmKFVTRVJfRkFDVE9SWS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihsdWtlKSl7CiAgJFBSSU5UKCcjMjogTmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0cyBoYXZlIGFuIGludGVybmFsIHByb3BlcnR5IGNhbGxlZCBbW1Byb3RvdHlwZV1dLicpOwp9IGVsc2UgewogICRFUlJPUignIzI6IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KLy8vLy8vCi8vIENIRUNLIzMKaWYoTnVtYmVyLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRFUlJPUignIzI6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KCg==","commentary":"When the isPrototypeOf method is called with argument V and when O and\nV refer to the same object or to objects joined to each other, return true","description":"Creating two objects with the same prototype","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9Cgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.isPrototypeOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwodW5kZWZpbmVkLCB7fSk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwge30pOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNi9TMTUuMi40LjZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.isPrototypeOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.isPrototypeOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyBuZXcgIk9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.isPrototypeOf can't be used as a constructor","description":"Checking if creating new \"Object.prototype.isPrototypeOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontEnum","description":"Checknig if enumerating the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWxldGluZyB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontDelete","description":"Checking deleting the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCg==","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.propertyIsEnumerable.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the value of Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyB0aGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGZvciBvYmplY3QgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgcHJvdG89e3Jvb3Rwcm9wOiJhdmlzIn07CgpmdW5jdGlvbiBBVklTRkFDVE9SWShuYW1lKXt0aGlzLm5hbWU9bmFtZX07CgpBVklTRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBzZWFndWxsPSBuZXcgQVZJU0ZBQ1RPUlkoInNlYWd1bGwiKTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoIm5hbWUiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CmlmIChzZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJyb290cHJvcCIpKSB7CiAgJEVSUk9SKCcjNDogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbicpOwp9Ci8vCgo=","commentary":"The propertyIsEnumerable method does not consider objects in the prototype chain","description":"Calling the propertyIsEnumerable method for object in the prototype chain","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB0eXBlIG9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Checking the type of Object.prototype.propertyIsEnumerable and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHByb3BlcnR5SXNFbnVtZXJhYmxlIG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKCEob2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CnZhciBhY2N1bT0iIjsKZm9yKHZhciBwcm9wIGluIG9iaikgewogIGFjY3VtKz1wcm9wOwp9CmlmIChhY2N1bS5pbmRleE9mKCJ0aGVfcHJvcGVydHkiKSE9PTApIHsKICAkRVJST1IoJyM0OiBlbnVtZXJhdGluZyB3b3JrcyBwcm9wZXJseScpOwp9Ci8vCgo=","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Argument of the propertyIsEnumerable method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjcvUzE1LjIuNC43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.propertyIsEnumerable has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.propertyIsEnumerable fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.propertyIsEnumerable can't be used as a constructor","description":"Checking if creating \"new Object.prototype.propertyIsEnumerable\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQovLwoK","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js"}]}} \ No newline at end of file