test262/website/json/ch14.json

173 lines
19 KiB
JSON
Raw Normal View History

{
"testsCollection":{
"name":"Chapter - ch14",
"numTests":"24",
"tests":[
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkV4cHJlc3Npb24gbXVzdCBiZSBsb2NhbGVkIGluIGEgcmVhY2hlYWJsZSBmcmFnbWVudCBvZiB0aGUgcHJvZ3JhbQogKgogKiBAcGF0aCBjaDE0LzE0LjAvUzE0X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYW4gImlmIiBFeHByZXNzaW9uCiAqLwoKdmFyIFRIRVJFID0gIkknbSB0aGVyZSI7CnZhciBIRVJFID0gIkknbSBoZXJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCBfX2Z1bmMgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19mdW5jID09PSB1bmRlZmluZWQuIEFjdHVhbDogIF9fZnVuYyA9PT0nKyBfX2Z1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgppZiAodHJ1ZSl7CiAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gSEVSRTt9Owp9IGVsc2UgewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiBUSEVSRTt9Owp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkgIT09IEhFUkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBIRVJFLiBBY3R1YWw6ICBfX2Z1bmMoKSA9PT0nKyBfX2Z1bmMoKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==",
"commentary":"FunctionExpression must be localed in a reacheable fragment of the program",
"description":"Declaring a function within an \"if\" Expression",
"path":"TestCases/ch14/14.0/S14_A1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbm5vdCBiZSBsb2NhbGVkIGluc2lkZSBhbiBFeHByZXNzaW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhbiAiaWYiIEV4cHJlc3Npb24KICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgZiAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBmID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6ICB0eXBlb2YgZiA9PT0nKyB0eXBlb2YgZiAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGZ1bmN0aW9uIGYoYXJnKXsKCWlmIChhcmc9PT0wKQoJICAgcmV0dXJuIDE7CgllbHNlCgkgICByZXR1cm4gZihhcmctMSkqYXJnOwp9KDMpIT09NikgewoJJEVSUk9SKCcjMjogRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgbG9jYWxlZCBpbnNpZGUgYW4gRXhwcmVzc2lvbicpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==",
"commentary":"FunctionDeclaration cannot be localed inside an Expression",
"description":"Declaring a function within an \"if\" Expression",
"path":"TestCases/ch14/14.0/S14_A2.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWwgRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgZGVmaW5lZCB3aXRoaW4gdGhlIGJvZHkgb2YgYW5vdGhlciBGdW5jdGlvbkRlY2xhcmF0aW9uCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiB0aGUgYm9keSBvZiBhbm90aGVyIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAgdHlwZW9mIF9fZnVuYyA9PT0nKyB0eXBlb2YgX19mdW5jICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZ3VuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2d1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19ndW5jID09PScrIHR5cGVvZiBfX2d1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGZ1bmN0aW9uIF9fZ3VuYygpe3JldHVybiB0cnVlfTsKfQoK",
"commentary":"Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration",
"description":"Declaring a function within the body of another function",
"path":"TestCases/ch14/14.0/S14_A3.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIF9fXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJib3RoIn0iCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09ICJib3RoIikgewoJJEVSUk9SKCcjMTogX19mdW5jKCkgPT09ICJib3RoIi4gQWN0dWFsOiAgX19mdW5jKCkgPT09JysgX19mdW5jKCkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gImFzY2lpIn07CmZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9Oy8vX19mdW5jIGluIHVuaWNvZGUKZnVuY3Rpb24gX19cdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gImJvdGgifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=",
"commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode",
"description":"Declaring a function with \"function __\\u0066\\u0075\\u006e\\u0063(){return \"both\"}\"",
"path":"TestCases/ch14/14.0/S14_A5_T1.js"
},
{
"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSWRlbnRpZmVyIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIHdyaXR0ZW4gaW4gYm90aCBsZXR0ZXJzIGFuZCB1bmljb2RlCiAqCiAqIEBwYXRoIGNoMTQvMTQuMC9TMTRfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggImZ1bmN0aW9uIFx1MDA1Zlx1MDA1Zlx1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAidW5pY29kZSJ9IgogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSAidW5pY29kZSIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAidW5pY29kZSIuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJhc2NpaSJ9OwpmdW5jdGlvbiBcdTAwNWZcdTAwNWZcdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gInVuaWNvZGUifTsvL19fZnVuYyBpbiB1bmljb2RlCgo=",
"commentary":"The Identifer within a FunctionDeclaration can be written in both letters and unicode",
"description":"Declaring a function with \"function \\u005f\\u005f\\u0066\\u0075\\u006e\\u0063(){return \"unicode\"}\"",
"path":"TestCases/ch14/14.0/S14_A5_T2.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"'use strict' directive - correct usage",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-1-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTAtcy5qcw0KICogQGRlc2NyaXB0aW9uIG90aGVyIGRpcmVjdGl2ZXMgLSBtYXkgZm9sbG93ICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAidXNlIHN0cmljdCI7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"other directives - may follow 'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-10-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTEtcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBwcmVjZWVkICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICAvLyBjb21tZW50DQogICAgIC8qIGNvbW1lbnQgKi8gInVzZSBzdHJpY3QiOw0KDQogICByZXR1cm4odGhpcyA9PT0gdW5kZWZpbmVkKTsNCg0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"comments may preceed 'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-11-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTItcy5qcw0KICogQGRlc2NyaXB0aW9uIGNvbW1lbnRzIG1heSBmb2xsb3cgJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJ1c2Ugc3RyaWN0IjsgICAgLyogY29tbWVudCAqLyAgIC8vIGNvbW1lbnQNCg0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"comments may follow 'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-12-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTMtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gd29ya3MgZm9yJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiDQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"semicolon insertion works for'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-13-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTQtcy5qcw0KICogQGRlc2NyaXB0aW9uIHNlbWljb2xvbiBpbnNlcnRpb24gbWF5IGNvbWUgYmVmb3JlICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICJhbm90aGVyIGRpcmVjdGl2ZSINCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"semicolon insertion may come before 'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-14-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTUtcy5qcw0KICogQGRlc2NyaXB0aW9uIGJsYW5rIGxpbmVzIG1heSBjb21lIGJlZm9yZSAndXNlIHN0cmljdCcgZGlyZWN0aXZlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCg0KDQoNCg0KDQoNCiAgICAidXNlIHN0cmljdCIgOw0KICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"blank lines may come before 'use strict' directive",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-15-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTYtcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgYW4gZW1wdHkgc3RhdGVtZW50DQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICA7ICd1c2Ugc3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"'use strict' directive - not recognized if it follow an empty statement",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-16-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMTctcy5qcw0KICogQGRlc2NyaXB0aW9uICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgLSBub3QgcmVjb2duaXplZCBpZiBpdCBmb2xsb3cgc29tZSBvdGhlciBzdGF0bWVudCBlbXB0eSBzdGF0ZW1lbnQNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICB2YXIgeDsNCiAgICAndXNlIHN0cmljdCc7DQogICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"'use strict' directive - not recognized if it follow some other statment empty statement",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-17-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gInVzZSBzdHJpY3QiIGRpcmVjdGl2ZSAtIGNvcnJlY3QgdXNhZ2UgZG91YmxlIHF1b3Rlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"\"use strict\" directive - correct usage double quotes",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-2-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGl0IGNvbnRhaW5zIGV4dHJhIHdoaXRlc3BhY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICcgIHVzZSAgICBzdHJpY3QgICAnOw0KICAgICByZXR1cm4gKHRoaXMgIT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"'use strict' directive - not recognized if it contains extra whitespace",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-3-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIExpbmUgQ29udGludWF0aW9uDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlIHN0clwNCmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"'use strict' directive - not recognized if contains Line Continuation",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-4-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNGdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGEgVXNlIFN0cmljdCBEaXJlY3RpdmUgZm9sbG93ZWQgYnkgYSBzdHJpY3QgbW9kZSB2aW9sYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KInVzZSBzdHJpY3QiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgPSA0Mjs=",
"commentary":"",
"description":"StrictMode - a Use Strict Directive followed by a strict mode violation",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch14/14.1/14.1-4gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgRXNjYXBlU2VxdWVuY2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICd1c2VcdTAwMjBzdHJpY3QnOw0KICAgICByZXR1cm4odGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"'use strict' directive - not recognized if contains a EscapeSequence",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-5-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGEgVXNlIFN0cmljdCBEaXJlY3RpdmUgZW1iZWRkZWQgaW4gYSBkaXJlY3RpdmUgcHJvbG9ndWUgZm9sbG93ZWQgYnkgYSBzdHJpY3QgbW9kZSB2aW9sYXRpb24NCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgXigoPyFOb3RFYXJseUVycm9yKS4pKiQNCiAqLw0KImEiOw0KInVzZSBzdHJpY3QiOw0KImMiOw0KdGhyb3cgTm90RWFybHlFcnJvcjsNCmV2YWwgPSA0Mjs=",
"commentary":"",
"description":"StrictMode - a Use Strict Directive embedded in a directive prologue followed by a strict mode violation",
"negative":"^((?!NotEarlyError).)*$",
"onlyStrict":"",
"path":"TestCases/ch14/14.1/14.1-5gs.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIGNvbnRhaW5zIGEgPFRBQj4gaW5zdGVhZCBvZiBhIHNwYWNlDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGZvbygpDQogIHsNCiAgICAndXNlCXN0cmljdCc7DQogICAgIHJldHVybiAodGhpcyAhPT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"'use strict' directive - not recognized if contains a <TAB> instead of a space",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-6-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG5vdCByZWNvZ25pemVkIGlmIHVwcGVyIGNhc2UNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gZm9vKCkNCiAgew0KICAgICdVc2UgU3RyaWN0JzsNCiAgICAgcmV0dXJuICh0aGlzICE9PSB1bmRlZmluZWQpOw0KICB9DQoNCiAgcmV0dXJuIGZvby5jYWxsKHVuZGVmaW5lZCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K",
"commentary":"",
"description":"'use strict' directive - not recognized if upper case",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-7-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBmb2xsb3cgb3RoZXIgZGlyZWN0aXZlcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICJib2d1cyBkaXJlY3RpdmUiOw0KICAgICAidXNlIHN0cmljdCI7DQogICAgIHJldHVybiAodGhpcyA9PT0gdW5kZWZpbmVkKTsNCiAgfQ0KDQogIHJldHVybiBmb28uY2FsbCh1bmRlZmluZWQpOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==",
"commentary":"",
"description":"'use strict' directive - may follow other directives",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-8-s.js"
},
{
"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNC8xNC4xLzE0LjEtOS1zLmpzDQogKiBAZGVzY3JpcHRpb24gJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSAtIG1heSBvY2N1ciBtdWx0aXBsZSB0aW1lcw0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBmb28oKQ0KICB7DQogICAgICd1c2Ugc3RyaWN0JzsNCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICByZXR1cm4gKHRoaXMgPT09IHVuZGVmaW5lZCk7DQogIH0NCg0KICByZXR1cm4gZm9vLmNhbGwodW5kZWZpbmVkKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=",
"commentary":"",
"description":"'use strict' directive - may occur multiple times",
"noStrict":"",
"path":"TestCases/ch14/14.1/14.1-9-s.js"
}
]
}
}