{ "testsCollection":{ "name":"Chapter - intl402", "numTests":"153", "tests":[ { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWdzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciB2YWxpZExhbmd1YWdlVGFncyA9IFsKICAgICJkZSIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImRlLURFIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgIkRFLWRlIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbiIsIC8vIElTTyA2MzkgbGFuZ3VhZ2UgY29kZQogICAgImNtbi1IYW5zIiwgLy8gKyBzY3JpcHQgY29kZQogICAgIkNNTi1oQU5TIiwgLy8gdGFncyBhcmUgY2FzZS1pbnNlbnNpdGl2ZQogICAgImNtbi1oYW5zLWNuIiwgLy8gKyBJU08gMzE2Ni0xIGNvdW50cnkgY29kZQogICAgImVzLTQxOSIsIC8vICsgVU4gTS40OSByZWdpb24gY29kZQogICAgImVzLTQxOS11LW51LWxhdG4tY3UtYm9iIiwgLy8gKyBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UKICAgICJpLWtsaW5nb24iLCAvLyBncmFuZGZhdGhlcmVkIHRhZwogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14LXQtdSIsIC8vIHNpbmdsZXRvbiBzdWJ0YWdzIGNhbiBhbHNvIGJlIHVzZWQgYXMgcHJpdmF0ZSB1c2Ugc3VidGFncwogICAgImVub2NoaWFuLWVub2NoaWFuIiwgLy8gbGFuZ3VhZ2UgYW5kIHZhcmlhbnQgc3VidGFncyBtYXkgYmUgdGhlIHNhbWUKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSIsIC8vIHZhcmlhbnQgYW5kIGV4dGVuc2lvbiBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQogICAgImFhLWEtZm9vLXgtYS1mb28tYmFyIiwgLy8gdmFyaWFudCBzdWJ0YWdzIGNhbiBhbHNvIGJlIHVzZWQgYXMgcHJpdmF0ZSB1c2Ugc3VidGFncwogICAgIngtZW4tVVMtMTIzNDUiLCAvLyBhbnl0aGluZyBnb2VzIGluIHByaXZhdGUgdXNlIHRhZ3MKICAgICJ4LTEyMzQ1LTEyMzQ1LWVuLVVTIiwKICAgICJ4LWVuLVVTLTEyMzQ1LTEyMzQ1IiwKICAgICJ4LWVuLXUtZm9vIiwKICAgICJ4LWVuLXUtZm9vLXUtYmFyIgpdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFsaWRMYW5ndWFnZVRhZ3MuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7CiAgICAgICAgLy8gdGhpcyBtdXN0IG5vdCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIGEgdmFsaWQgbGFuZ3VhZ2UgdGFnCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcihbdGFnXSk7CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that structurally valid language tags are accepted.", "path":"TestCases/intl402/ch06/6.2/6.2.2_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCAiXyIgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlX0RFIiwKICAgICJERV9kZSIsCiAgICAiY21uX0hhbnMiLAogICAgImNtbi1oYW5zX2NuIiwKICAgICJlc180MTkiLAogICAgImVzLTQxOS11LW51LWxhdG4tY3VfYm9iIiwKICAgICJpX2tsaW5nb24iLAogICAgImNtbi1oYW5zLWNuLXQtY2EtdS1jYS14X3QtdSIsCiAgICAiZW5vY2hpYW5fZW5vY2hpYW4iLAogICAgImRlLWdyZWdvcnlfdS1jYS1ncmVnb3J5IgpdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgaW52YWxpZExhbmd1YWdlVGFncy5mb3JFYWNoKGZ1bmN0aW9uICh0YWcpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCBsYW5ndWFnZSB0YWcKICAgICAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcihbdGFnXSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbGFuZ3VhZ2UgdGFnICIgKyB0YWcgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that language tags with \"_\" are not accepted.", "path":"TestCases/intl402/ch06/6.2/6.2.2_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxhbmd1YWdlIHRhZ3Mgd2l0aCBpbnZhbGlkIHN1YnRhZyBzZXF1ZW5jZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBpbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgIiIsIC8vIGVtcHR5IHRhZwogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiwgLy8gZHVwbGljYXRlIHZhcmlhbnQKICAgICIqIiwgLy8gbGFuZ3VhZ2UgcmFuZ2UKICAgICJkZS0qIiwgLy8gbGFuZ3VhZ2UgcmFuZ2UKICAgICLkuK3mlociLCAvLyBub24tQVNDSUkgbGV0dGVycwogICAgImVuLcOfIiwgLy8gbm9uLUFTQ0lJIGxldHRlcnMKICAgICLEsWQiIC8vIG5vbi1BU0NJSSBsZXR0ZXJzCl07Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICBpbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyB0aGlzIG11c3QgdGhyb3cgYW4gZXhjZXB0aW9uIGZvciBhbiBpbnZhbGlkIGxhbmd1YWdlIHRhZwogICAgICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdG9yKFt0YWddKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGxhbmd1YWdlIHRhZyAiICsgdGFnICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlJhbmdlRXJyb3IiKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsYW5ndWFnZSB0YWcgIiArIHRhZyArICIgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that language tags with invalid subtag sequences are not accepted.", "path":"TestCases/intl402/ch06/6.2/6.2.2_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBsYW5ndWFnZSB0YWdzIGFyZSBjYW5vbmljYWxpemVkIGluIHJldHVybiB2YWx1ZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgY2Fub25pY2FsaXplZFRhZ3MgPSB7CiAgICAiZGUiOiBbImRlIl0sCiAgICAiZGUtREUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiREUtZGUiOiBbImRlLURFIiwgImRlIl0sCiAgICAiY21uIjogWyJjbW4iXSwKICAgICJDTU4taEFOUyI6IFsiY21uLUhhbnMiLCAiY21uIl0sCiAgICAiY21uLWhhbnMtY24iOiBbImNtbi1IYW5zLUNOIiwgImNtbi1IYW5zIiwgImNtbiJdLAogICAgImVzLTQxOSI6IFsiZXMtNDE5IiwgImVzIl0sCiAgICAiZXMtNDE5LXUtbnUtbGF0biI6IFsiZXMtNDE5LXUtbnUtbGF0biIsICJlcy00MTkiLCAiZXMiLCAiZXMtdS1udS1sYXRuIl0sCiAgICAvLyAtdS1jYSBpcyBpbmNvbXBsZXRlLCBzbyBpdCB3aWxsIG5vdCBzaG93IHVwIGluIHJlc29sdmVkT3B0aW9ucygpLmxvY2FsZQogICAgImNtbi1oYW5zLWNuLXUtY2EtdC1jYS14LXQtdSI6IFsiY21uLUhhbnMtQ04tdC1jYS11LWNhLXgtdC11IiwgImNtbi1IYW5zLUNOLXQtY2EteC10LXUiLCAiY21uLUhhbnMtQ04tdC1jYS14LXQiLCAiY21uLUhhbnMtQ04tdC1jYSIsICJjbW4tSGFucy1DTiIsICJjbW4tSGFucyIsICJjbW4iXSwKICAgICJlbm9jaGlhbi1lbm9jaGlhbiI6IFsiZW5vY2hpYW4tZW5vY2hpYW4iLCAiZW5vY2hpYW4iXSwKICAgICJkZS1ncmVnb3J5LXUtY2EtZ3JlZ29yeSI6IFsiZGUtZ3JlZ29yeS11LWNhLWdyZWdvcnkiLCAiZGUtZ3JlZ29yeSIsICJkZS11LWNhLWdyZWdvcnkiLCAiZGUiXSwKICAgICJuby1ueW4iOiBbIm5uIl0sCiAgICAiaS1rbGluZ29uIjogWyJ0bGgiXSwKICAgICJzZ24tR1IiOiBbImdzcyJdLAogICAgImppIjogWyJ5aSJdLAogICAgImRlLUREIjogWyJkZS1ERSIsICJkZSJdLAogICAgInpoLWhhay1DTiI6IFsiaGFrLUNOIiwgImhhayJdLAogICAgInNnbi1pbHMiOiBbImlscyJdLAogICAgImluIjogWyJpZCJdLAogICAgIngtZm9vIjogWyJ4LWZvbyJdCn07CgovLyBtYWtlIHN1cmUgdGhlIGRhdGEgYWJvdmUgaXMgY29ycmVjdApPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjYW5vbmljYWxpemVkVGFncykuZm9yRWFjaChmdW5jdGlvbiAodGFnKSB7CiAgICBjYW5vbmljYWxpemVkVGFnc1t0YWddLmZvckVhY2goZnVuY3Rpb24gKGNhbm9uaWNhbFRhZykgewogICAgICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhjYW5vbmljYWxUYWcpKSB7CiAgICAgICAgICAgICRFUlJPUigiVGVzdCBkYXRhIFwiIiArIGNhbm9uaWNhbFRhZyArICJcIiBpcyBub3QgY2Fub25pY2FsaXplZCBhbmQgc3RydWN0dXJhbGx5IHZhbGlkIGxhbmd1YWdlIHRhZy4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7CgovLyBub3cgdGhlIGFjdHVhbCB0ZXN0CnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY2Fub25pY2FsaXplZFRhZ3MpLmZvckVhY2goZnVuY3Rpb24gKHRhZykgewogICAgICAgIC8vIHVzZSBsb29rdXAgbG9jYWxlIG1hdGNoZXIgdG8ga2VlcCB0aGUgc2V0IG9mIHBvc3NpYmxlIHJldHVybiB2YWx1ZXMgcHJlZGljdGFibGUKCiAgICAgICAgLy8gVmFyaWFudCAxOiBjb25zdHJ1Y3QgYW4gb2JqZWN0IGFuZCBzZWUgd2hldGhlciBpdHMgbG9jYWxlIGlzIGNhbm9uaWNhbGl6ZWQuCiAgICAgICAgLy8gSW4gdGhpcyB2YXJpYW50LCBzaG9ydGVuZWQgZm9ybXMgb3IgdGhlIGRlZmF1bHQgbG9jYWxlIG1heSBiZSByZXR1cm5lZAogICAgICAgIHZhciBvYmplY3QgPSBuZXcgQ29uc3RydWN0b3IoW3RhZ10sIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgICAgIHZhciBsb2NhbGUgPSBvYmplY3QucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIGlmIChjYW5vbmljYWxpemVkVGFnc1t0YWddLmluZGV4T2YobG9jYWxlKSA9PT0gLTEgJiYgbG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICRFUlJPUigiRm9yICIgKyB0YWcgKyAiIGdvdCAiICsgbG9jYWxlICsgIjsgZXhwZWN0ZWQgb25lIG9mICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXS5qb2luKCIsICIpICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLy8gVmFyaWFudCAyOiBnZXQgdGhlIHN1cHBvcnRlZCBsb2NhbGVzLiBJZiB0aGUgdGFnIGlzIHN1cHBvcnRlZCwgaXQgc2hvdWxkIGJlIHJldHVybmVkIGNhbm9uaWNhbGl6ZWQgYnV0IHVuc2hvcnRlbmVkCiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdGFnXSk7CiAgICAgICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwICYmIHN1cHBvcnRlZFswXSAhPT0gY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSkgewogICAgICAgICAgICAkRVJST1IoIkZvciAiICsgdGFnICsgIiBnb3QgIiArIHN1cHBvcnRlZFswXSArICI7IGV4cGVjdGVkICIgKwogICAgICAgICAgICAgICAgY2Fub25pY2FsaXplZFRhZ3NbdGFnXVswXSArICIuIik7CiAgICAgICAgfSAgICAgICAgICAgIAogICAgfSk7CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that language tags are canonicalized in return values.", "path":"TestCases/intl402/ch06/6.2/6.2.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBkZWZhdWx0IGxvY2FsZSBpcyBhIFN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlCiAqIHN0cnVjdHVyYWxseSB2YWxpZCBhbmQgY2Fub25pY2FsaXplZCBCQ1AgNDcgbGFuZ3VhZ2UgdGFnLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICBpZiAoIWlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcoZGVmYXVsdExvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkRlZmF1bHQgbG9jYWxlIFwiIiArIGRlZmF1bHRMb2NhbGUgKyAiXCIgaXMgbm90IGNhbm9uaWNhbGl6ZWQgYW5kIHN0cnVjdHVyYWxseSB2YWxpZCBsYW5ndWFnZSB0YWcuIik7CiAgICB9CiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that the default locale is a String value representing the\nstructurally valid and canonicalized BCP 47 language tag.", "path":"TestCases/intl402/ch06/6.2/6.2.4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHdlbGwtZm9ybWVkIGN1cnJlbmN5IGNvZGVzIGFyZSBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgd2VsbEZvcm1lZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAiQk9CIiwKICAgICJFVVIiLAogICAgInVzZCIsIC8vIGN1cnJlbmN5IGNvZGVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiWGRSIiwKICAgICJ4VHMiCl07Cgp3ZWxsRm9ybWVkQ3VycmVuY3lDb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChjb2RlKSB7CiAgICAvLyB0aGlzIG11c3Qgbm90IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYSB2YWxpZCBjdXJyZW5jeSBjb2RlCiAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFsiZGUtZGUiXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogY29kZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeSAhPT0gY29kZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJDdXJyZW5jeSAiICsgY29kZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkuY3VycmVuY3kgKyAiLiIpOwogICAgfQp9KTsKCg==", "commentary":"", "description":"Tests that well-formed currency codes are accepted.", "path":"TestCases/intl402/ch06/6.3/6.3.1_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgY3VycmVuY3kgY29kZXMgYXJlIG5vdCBhY2NlcHRlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZEN1cnJlbmN5Q29kZXMgPSBbCiAgICAiIiwKICAgICLigqwiLAogICAgIiQiLAogICAgIlNGci4iLAogICAgIkRNIiwKICAgICJLUuKCqSIsCiAgICAiNzAyIiwKICAgICLDn1AiLAogICAgIsSxbnIiCl07CgppbnZhbGlkQ3VycmVuY3lDb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uIChjb2RlKSB7CiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIC8vIHRoaXMgbXVzdCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIGFuIGludmFsaWQgY3VycmVuY3kgY29kZQogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoWyJkZS1kZSJdLCB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiBjb2RlfSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgY3VycmVuY3kgY29kZSAnIiArIGNvZGUgKyAiJyB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgY3VycmVuY3kgY29kZSAnIiArIGNvZGUgKyAiJyB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK", "commentary":"", "description":"Tests that invalid currency codes are not accepted.", "path":"TestCases/intl402/ch06/6.3/6.3.1_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbGlkIHRpbWUgem9uZSBuYW1lcyBhcmUgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHZhbGlkVGltZVpvbmVOYW1lcyA9IFsKICAgICJVVEMiLAogICAgInV0YyIgLy8gdGltZSB6b25lIG5hbWVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCl07Cgp2YWxpZFRpbWVab25lTmFtZXMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgLy8gdGhpcyBtdXN0IG5vdCB0aHJvdyBhbiBleGNlcHRpb24gZm9yIGEgdmFsaWQgdGltZSB6b25lIG5hbWUKICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgaWYgKGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSAhPT0gbmFtZS50b1VwcGVyQ2FzZSgpKSB7CiAgICAgICAgJEVSUk9SKCJUaW1lIHpvbmUgbmFtZSAiICsgbmFtZSArICIgd2FzIG5vdCBjb3JyZWN0bHkgYWNjZXB0ZWQ7IHR1cm5lZCBpbnRvICIgKwogICAgICAgICAgICBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmUgKyAiLiIpOwogICAgfQp9KTsKCg==", "commentary":"", "description":"Tests that valid time zone names are accepted.", "path":"TestCases/intl402/ch06/6.4/6.4_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGludmFsaWQgdGltZSB6b25lIG5hbWVzIGFyZSBub3QgYWNjZXB0ZWQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGludmFsaWRUaW1lWm9uZU5hbWVzID0gWwogICAgIiIsCiAgICAiTUVaIiwgLy8gbG9jYWxpemVkIGFiYnJldmlhdGlvbgogICAgIlBhY2lmaWMgVGltZSIsIC8vIGxvY2FsaXplZCBsb25nIGZvcm0KICAgICJjbnNoYSIsIC8vIEJDUCA0NyB0aW1lIHpvbmUgY29kZQogICAgImludmFsaWQiLCAvLyBhcyB0aGUgbmFtZSBzYXlzCiAgICAiRXVyb3BlL8Swc3RhbmJ1bCIsIC8vIG5vbi1BU0NJSSBsZXR0ZXIKICAgICJhc8SxYS9iYWt1IiwgLy8gbm9uLUFTQ0lJIGxldHRlcgogICAgImV1cm9wZS9icnXDn2VscyIgIC8vIG5vbi1BU0NJSSBsZXR0ZXIKXTsKCmludmFsaWRUaW1lWm9uZU5hbWVzLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgLy8gdGhpcyBtdXN0IHRocm93IGFuIGV4Y2VwdGlvbiBmb3IgYW4gaW52YWxpZCB0aW1lIHpvbmUgbmFtZQogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChbImRlLWRlIl0sIHt0aW1lWm9uZTogbmFtZX0pOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIHRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgdGltZSB6b25lIG5hbWUgIiArIG5hbWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that invalid time zone names are not accepted.", "path":"TestCases/intl402/ch06/6.4/6.4_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFkZGl0aW9uYWwgdGltZSB6b25lIG5hbWVzLCBpZiBhY2NlcHRlZCwgYXJlIGhhbmRsZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIGNhbm9uaWNhbGl6YXRpb24gc3BlY2lmaWVkIGluIGNvbmZvcm1hbmNlIGNsYXVzZQp2YXIgYWRkaXRpb25hbFRpbWVab25lTmFtZXMgPSB7CiAgICAiRXRjL0dNVCI6ICJVVEMiLAogICAgIkdyZWVud2ljaCI6ICJVVEMiLAogICAgIlBSQyI6ICJBc2lhL1NoYW5naGFpIiwKICAgICJBbUVySWNBL0xvU19hTmdFbEVzIjogIkFtZXJpY2EvTG9zX0FuZ2VsZXMiLAogICAgImV0Yy9nbXQrNyI6ICJFdGMvR01UKzciCn07CgpPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhZGRpdGlvbmFsVGltZVpvbmVOYW1lcykuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkgewogICAgdmFyIGZvcm1hdCwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCB7dGltZVpvbmU6IG5hbWV9KTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgIHZhciBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7CiAgICAgICAgdmFyIGV4cGVjdGVkID0gYWRkaXRpb25hbFRpbWVab25lTmFtZXNbbmFtZV07CiAgICAgICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJUaW1lIHpvbmUgbmFtZSAiICsgbmFtZSArICIgd2FzIGFjY2VwdGVkLCBidXQgaW5jb3JyZWN0bHkgY2Fub25pY2FsaXplZCB0byAiICsKICAgICAgICAgICAgICAgIGFjdHVhbCArICI7IGV4cGVjdGVkICIgKyBleHBlY3RlZCArICIuIik7CiAgICAgICAgfQogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAkRVJST1IoIlRpbWUgem9uZSBuYW1lICIgKyBuYW1lICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK", "commentary":"", "description":"Tests that additional time zone names, if accepted, are handled correctly.", "path":"TestCases/intl402/ch06/6.4/6.4_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwgaGFzIE9iamVjdC5wcm90b3R5cGUgYXMgaXRzIHByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgppZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEludGwpICE9PSBPYmplY3QucHJvdG90eXBlKSB7CiAgICAkRVJST1IoIkludGwgZG9lc24ndCBoYXZlIE9iamVjdC5wcm90b3R5cGUgYXMgaXRzIHByb3RvdHlwZS4iKTsKfQoK", "commentary":"", "description":"Tests that Intl has Object.prototype as its prototype.", "path":"TestCases/intl402/ch08/8.0/8.0.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChmbkdsb2JhbE9iamVjdCgpLkludGwsIGZhbHNlLCBmYWxzZSwgW10pOwp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLCBmYWxzZSwgZmFsc2UsIFsiQ29sbGF0b3IiLCAiTnVtYmVyRm9ybWF0IiwgIkRhdGVUaW1lRm9ybWF0Il0pOwoK", "commentary":"", "description":"Tests that Intl\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch08/8.0/8.0_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGRlZmF1bHQgbG9jYWxlIGlzIGF2YWlsYWJsZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIHN1cHBvcnRlZExvY2FsZXMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChzdXBwb3J0ZWRMb2NhbGVzLmluZGV4T2YoZGVmYXVsdExvY2FsZSkgPT09IC0xKSB7CiAgICAgICAgJEVSUk9SKCJEZWZhdWx0IGxvY2FsZSBpcyBub3QgcmVwb3J0ZWQgYXMgYXZhaWxhYmxlLiIpOwogICAgfQp9KTsKCg==", "commentary":"", "description":"Tests that default locale is available.", "path":"TestCases/intl402/ch09/9.1/9.1_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFwcHJvcHJpYXRlIGZhbGxiYWNrIGxvY2FsZXMgYXJlIHByb3ZpZGVkIGZvcgogKiAgICAgc3VwcG9ydGVkIGxvY2FsZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIHZhciBmYWxsYmFjazsKICAgIGluZm8uc3VwcG9ydGVkLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBwb3MgPSBsb2NhbGUubGFzdEluZGV4T2YoIi0iKTsKICAgICAgICBpZiAocG9zICE9PSAtMSkgewogICAgICAgICAgICBmYWxsYmFjayA9IGxvY2FsZS5zdWJzdHJpbmcoMCwgcG9zKTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB2YXIgbWF0Y2ggPSAvKFthLXpdezIsM30pKC1bQS1aXVthLXpdezN9KSgtW0EtWl17Mn0pLy5leGVjKGxvY2FsZSk7CiAgICAgICAgaWYgKG1hdGNoICE9PSBudWxsKSB7CiAgICAgICAgICAgIGZhbGxiYWNrID0gbWF0Y2hbMV0gKyBtYXRjaFszXTsKICAgICAgICAgICAgaWYgKGluZm8uc3VwcG9ydGVkLmluZGV4T2YoZmFsbGJhY2spID09PSAtMSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIGxvY2FsZSArICIgaXMgc3VwcG9ydGVkLCBidXQgZmFsbGJhY2sgIiArIGZhbGxiYWNrICsgIiBpc24ndC4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0pOwp9KTsKCg==", "commentary":"", "description":"Tests that appropriate fallback locales are provided for\n supported locales.", "path":"TestCases/intl402/ch09/9.1/9.1_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHRyZWF0cyB1bmRlZmluZWQgYW5kIGVtcHR5IGxpc3RzIHRoZSBzYW1lLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIHN1cHBvcnRlZEZvclVuZGVmaW5lZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bmRlZmluZWQpOwogICAgdmFyIHN1cHBvcnRlZEZvckVtcHR5TGlzdCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbXSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gdW5kZWZpbmVkIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgLy8gd2UgZG9uJ3QgY29tcGFyZSB0aGUgZWxlbWVudHMgYmVjYXVzZSBsZW5ndGggc2hvdWxkIGJlIDAgLSBsZXQncyBqdXN0IHZlcmlmeSB0aGF0CiAgICBpZiAoc3VwcG9ydGVkRm9yVW5kZWZpbmVkLmxlbmd0aCAhPT0gMCkgewogICAgICAgICRFUlJPUigiSW50ZXJuYWwgdGVzdCBlcnJvcjogQXNzdW1wdGlvbiBhYm91dCBsZW5ndGggYmVpbmcgMCBpcyBpbnZhbGlkLiIpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that canonicalization of locale lists treats undefined and empty lists the same.", "path":"TestCases/intl402/ch09/9.2/9.2.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIGNhbm9uaWNhbGl6ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIGRlZmF1bHRMb2NhbGVdKTsKICAgIGlmIChjYW5vbmljYWxpemVkLmxlbmd0aCA+IDEpIHsKICAgICAgICAkRVJST1IoIkNhbm9uaWNhbGl6YXRpb24gZGlkbid0IHJlbW92ZSBkdXBsaWNhdGUgbGFuZ3VhZ2UgdGFncyBmcm9tIGxvY2FsZSBsaXN0LiIpOwogICAgfQp9KTsKCg==", "commentary":"", "description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.", "path":"TestCases/intl402/ch09/9.2/9.2.1_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGEgc2luZ2xlIHN0cmluZyBpbnN0ZWFkIG9mIGEgbG9jYWxlIGxpc3QgaXMgdHJlYXRlZAogKiAgICAgYXMgdGhlIGxvY2FsZSBsaXN0IGNvbnRhaW5pbmcgdGhhdCBzdHJpbmcuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzID0gWwogICAgImRlIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiZGUtREUiLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiREUtZGUiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uIiwgLy8gSVNPIDYzOSBsYW5ndWFnZSBjb2RlCiAgICAiY21uLUhhbnMiLCAvLyArIHNjcmlwdCBjb2RlCiAgICAiQ01OLWhBTlMiLCAvLyB0YWdzIGFyZSBjYXNlLWluc2Vuc2l0aXZlCiAgICAiY21uLWhhbnMtY24iLCAvLyArIElTTyAzMTY2LTEgY291bnRyeSBjb2RlCiAgICAiZXMtNDE5IiwgLy8gKyBVTiBNLjQ5IHJlZ2lvbiBjb2RlCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdS1ib2IiLCAvLyArIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZQogICAgImkta2xpbmdvbiIsIC8vIGdyYW5kZmF0aGVyZWQgdGFnCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXgtdC11IiwgLy8gc2luZ2xldG9uIHN1YnRhZ3MgY2FuIGFsc28gYmUgdXNlZCBhcyBwcml2YXRlIHVzZSBzdWJ0YWdzCiAgICAiZW5vY2hpYW4tZW5vY2hpYW4iLCAvLyBsYW5ndWFnZSBhbmQgdmFyaWFudCBzdWJ0YWdzIG1heSBiZSB0aGUgc2FtZQogICAgImRlLWdyZWdvcnktdS1jYS1ncmVnb3J5IiwgLy8gdmFyaWFudCBhbmQgZXh0ZW5zaW9uIHN1YnRhZ3MgbWF5IGJlIHRoZSBzYW1lCiAgICAiZGVfREUiLAogICAgIkRFX2RlIiwKICAgICJjbW5fSGFucyIsCiAgICAiY21uLWhhbnNfY24iLAogICAgImVzXzQxOSIsCiAgICAiZXMtNDE5LXUtbnUtbGF0bi1jdV9ib2IiLAogICAgImlfa2xpbmdvbiIsCiAgICAiY21uLWhhbnMtY24tdC1jYS11LWNhLXhfdC11IiwKICAgICJlbm9jaGlhbl9lbm9jaGlhbiIsCiAgICAiZGUtZ3JlZ29yeV91LWNhLWdyZWdvcnkiLAogICAgImkiLCAvLyBzaW5nbGV0b24gYWxvbmUKICAgICJ4IiwgLy8gcHJpdmF0ZSB1c2Ugd2l0aG91dCBzdWJ0YWcKICAgICJ1IiwgLy8gZXh0ZW5zaW9uIHNpbmdsZXRvbiBpbiBmaXJzdCBwbGFjZQogICAgIjQxOSIsIC8vIHJlZ2lvbiBjb2RlIGluIGZpcnN0IHBsYWNlCiAgICAidS1udS1sYXRuLWN1LWJvYiIsIC8vIGV4dGVuc2lvbiBzZXF1ZW5jZSB3aXRob3V0IGxhbmd1YWdlCiAgICAiaGFucy1jbW4tY24iLCAvLyAiaGFucyIgY291bGQgdGhlb3JldGljYWxseSBiZSBhIDQtbGV0dGVyIGxhbmd1YWdlIGNvZGUsCiAgICAgICAgICAgICAgICAgICAvLyBidXQgdGhvc2UgY2FuJ3QgYmUgZm9sbG93ZWQgYnkgZXh0bGFuZyBjb2Rlcy4KICAgICJjbW4taGFucy1jbi11LXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiY21uLWhhbnMtY24tdC11LWNhLXUiLCAvLyBkdXBsaWNhdGUgc2luZ2xldG9uCiAgICAiZGUtZ3JlZ29yeS1ncmVnb3J5IiAvLyBkdXBsaWNhdGUgdmFyaWFudApdOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFsaWRBbmRJbnZhbGlkTGFuZ3VhZ2VUYWdzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgICAgIHZhciBvYmoxLCBvYmoyLCBsb2NhbGUxLCBsb2NhbGUyLCBlcnJvcjEsIGVycm9yMjsKICAgICAgICB0cnkgewogICAgICAgICAgICBvYmoxID0gbmV3IENvbnN0cnVjdG9yKGxvY2FsZSk7CiAgICAgICAgICAgIGxvY2FsZTEgPSBvYmoxLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yMSA9IGU7CiAgICAgICAgfQogICAgICAgIHRyeSB7CiAgICAgICAgICAgIG9iajIgPSBuZXcgQ29uc3RydWN0b3IoW2xvY2FsZV0pOwogICAgICAgICAgICBsb2NhbGUyID0gb2JqMi5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvcjIgPSBlOwogICAgICAgIH0KCiAgICAgICAgaWYgKChlcnJvcjEgPT09IHVuZGVmaW5lZCkgIT09IChlcnJvcjIgPT09IHVuZGVmaW5lZCkpIHsKICAgICAgICAgICAgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIGFjY2VwdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKwogICAgICAgICAgICAgICAgICAgICIgd2FzIHJlamVjdGVkLCBidXQgbG9jYWxlIGxpc3QgY29udGFpbmluZyB0aGF0IHN0cmluZyB3YXNuJ3QuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgaWYgKGVycm9yMSA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICBpZiAobG9jYWxlMSAhPT0gbG9jYWxlMikgewogICAgICAgICAgICAgICAgJEVSUk9SKCJTaW5nbGUgbG9jYWxlIHN0cmluZyAiICsgbG9jYWxlICsgIiByZXN1bHRzIGluICIgKyBsb2NhbGUxICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluICIgKyBsb2NhbGUyICsgIi4iKTsKICAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoZXJyb3IxLm5hbWUgIT09IGVycm9yMi5uYW1lKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlNpbmdsZSBsb2NhbGUgc3RyaW5nICIgKyBsb2NhbGUgKyAiIHJlc3VsdHMgaW4gZXJyb3IgIiArIGVycm9yMS5uYW1lICsKICAgICAgICAgICAgICAgICAgICAiLCBidXQgbG9jYWxlIGxpc3QgWyIgKyBsb2NhbGUgKyAiXSByZXN1bHRzIGluIGVycm9yICIgKyBlcnJvcjIubmFtZSArICIuIik7CiAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that a single string instead of a locale list is treated\n as the locale list containing that string.", "path":"TestCases/intl402/ch09/9.2/9.2.1_3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG5vbi1vYmplY3RzIGFyZSBjb252ZXJ0ZWQgdG8gb2JqZWN0cyBiZWZvcmUgY2Fub25pY2FsaXphdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHVuZGVmaW5lZCBpcyBoYW5kbGVkIHNlcGFyYXRlbHkKICAgIAogICAgLy8gbnVsbCBzaG91bGQgcmVzdWx0IGluIGEgVHlwZUVycm9yCiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBzdXBwb3J0ZWRGb3JOdWxsID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKG51bGwpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJOdWxsIGFzIGxvY2FsZSBsaXN0IHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0gICAgCiAgICAKICAgIC8vIGxldCdzIHVzZSBhbiBlbXB0eSBsaXN0IGZvciBjb21wYXJpc29uCiAgICB2YXIgc3VwcG9ydGVkRm9yRW1wdHlMaXN0ID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdKTsKICAgIC8vIHdlIGRvbid0IGNvbXBhcmUgdGhlIGVsZW1lbnRzIGJlY2F1c2UgbGVuZ3RoIHNob3VsZCBiZSAwIC0gbGV0J3MganVzdCB2ZXJpZnkgdGhhdAogICAgaWYgKHN1cHBvcnRlZEZvckVtcHR5TGlzdC5sZW5ndGggIT09IDApIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIHRlc3QgZXJyb3I6IEFzc3VtcHRpb24gYWJvdXQgbGVuZ3RoIGJlaW5nIDAgaXMgaW52YWxpZC4iKTsKICAgIH0KCiAgICAvLyBtb3N0IG5vbi1vYmplY3RzIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgZW1wdHkgbGlzdHMgYmVjYXVzZSBhIG1pc3NpbmcgbGVuZ3RoIHByb3BlcnR5IGlzIGludGVycHJldGVkIGFzIDAKICAgIHZhciBzdXBwb3J0ZWRGb3JOdW1iZXIgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoNSk7CiAgICBpZiAoc3VwcG9ydGVkRm9yTnVtYmVyLmxlbmd0aCAhPT0gc3VwcG9ydGVkRm9yRW1wdHlMaXN0Lmxlbmd0aCkgewogICAgICAgICRFUlJPUigiU3VwcG9ydGVkIGxvY2FsZXMgZGlmZmVyIGJldHdlZW4gbnVtZXJpYyBhbmQgZW1wdHkgbGlzdCBpbnB1dC4iKTsKICAgIH0KICAgIHZhciBzdXBwb3J0ZWRGb3JCb29sZWFuID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKHRydWUpOwogICAgaWYgKHN1cHBvcnRlZEZvckJvb2xlYW4ubGVuZ3RoICE9PSBzdXBwb3J0ZWRGb3JFbXB0eUxpc3QubGVuZ3RoKSB7CiAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWQgbG9jYWxlcyBkaWZmZXIgYmV0d2VlbiBib29sZWFuIGFuZCBlbXB0eSBsaXN0IGlucHV0LiIpOwogICAgfQogICAgCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that non-objects are converted to objects before canonicalization.", "path":"TestCases/intl402/ch09/9.2/9.2.1_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHZhbHVlcyBvdGhlciB0aGFuIHN0cmluZ3MgYXJlIG5vdCBhY2NlcHRlZCBhcyBsb2NhbGVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIG5vdFN0cmluZ09yT2JqZWN0ID0gW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgZmFsc2UsIDAsIDUsIC01LCBOYU5dOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgbm90U3RyaW5nT3JPYmplY3QuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbdmFsdWVdKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCIiICsgdmFsdWUgKyAiIGFzIGxvY2FsZSB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that values other than strings are not accepted as locales.", "path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_ii.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNhbm9uaWNhbGl6YXRpb24gb2YgbG9jYWxlIGxpc3RzIHJlbW92ZXMgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgJEVSUk9SKCJDYW5vbmljYWxpemF0aW9uIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that canonicalization of locale lists removes duplicate language tags.", "path":"TestCases/intl402/ch09/9.2/9.2.1_8_c_vi.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZXMgdGhhdCBhcmUgcmVwb3J0ZWQgYnkgcmVzb2x2ZWRPcHRpb25zCiAqICAgICBhcmUgYWxzbyByZXBvcnRlZCBieSBzdXBwb3J0ZWRMb2NhbGVzT2YuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yID0gaW5mby5zdXBwb3J0ZWQuY29uY2F0KGluZm8uYnlGYWxsYmFjayk7CiAgICAgICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIC8vIHdlIGNvdWxkIGNoZWNrIHRoZSBsZW5ndGggZmlyc3QsIGJ1dCBpdCdzIHByb2JhYmx5IG1vcmUgaW50ZXJlc3Rpbmcgd2hpY2ggbG9jYWxlcyBhcmUgbWlzc2luZwogICAgICAgIHZhciBpID0gMDsKICAgICAgICB2YXIgbGltaXQgPSBNYXRoLm1pbihzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yLmxlbmd0aCwgc3VwcG9ydGVkLmxlbmd0aCk7CiAgICAgICAgd2hpbGUgKGkgPCBsaW1pdCAmJiBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldID09PSBzdXBwb3J0ZWRbaV0pIHsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgICAgICBpZiAoaSA8IHN1cHBvcnRlZEJ5Q29uc3RydWN0b3IubGVuZ3RoKSB7CiAgICAgICAgICAgICRFUlJPUigiTG9jYWxlICIgKyBzdXBwb3J0ZWRCeUNvbnN0cnVjdG9yW2ldICsKICAgICAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgcmVzb2x2ZWRPcHRpb25zIGJ1dCBub3QgYnkgc3VwcG9ydGVkTG9jYWxlc09mLiIpOwogICAgICAgIH0gZWxzZSBpZiAoaSA8IHN1cHBvcnRlZC5sZW5ndGgpIHsKICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFtpXSArCiAgICAgICAgICAgICAgICAiIGlzIHJldHVybmVkIGJ5IHN1cHBvcnRlZExvY2FsZXNPZiBidXQgbm90IGJ5IHJlc29sdmVkT3B0aW9ucy4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgLy8gdGhpcyB0ZXN0IGlzIG9ubHkgdmFsaWQgZm9yIGxvb2t1cCAtIGJlc3QgZml0IG1heSBmaW5kIGFkZGl0aW9uYWwgbG9jYWxlcyBzdXBwb3J0ZWQKICAgIHZhciB1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IgPSBpbmZvLnVuc3VwcG9ydGVkOwogICAgdmFyIHN1cHBvcnRlZCA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZih1bnN1cHBvcnRlZEJ5Q29uc3RydWN0b3IsCiAgICAgICAgICAgIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwogICAgaWYgKHN1cHBvcnRlZC5sZW5ndGggPiAwKSB7CiAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIHN1cHBvcnRlZFswXSArCiAgICAgICAgICAgICIgaXMgcmV0dXJuZWQgYnkgc3VwcG9ydGVkTG9jYWxlc09mIGJ1dCBub3QgYnkgcmVzb2x2ZWRPcHRpb25zLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that locales that are reported by resolvedOptions\n are also reported by supportedLocalesOf.", "path":"TestCases/intl402/ch09/9.2/9.2.2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZSIsICJleHRlbnNpb24iLCAiZXh0ZW5zaW9uSW5kZXgiXSk7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICB2YXIgbG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKHVuZGVmaW5lZCwge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgaWYgKCFpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGxvY2FsZSkpIHsKICAgICAgICAkRVJST1IoIkNvbnN0cnVjdG9yIHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7CiAgICB9CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch09/9.2/9.2.3_5.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBtaXNzaW5nIFVuaWNvZGUgZXh0ZW5zaW9uIHZhbHVlcyBkZWZhdWx0IHRvIHRydWUgZm9yCiAqICAgICBib29sZWFuIGtleXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGV4dGVuc2lvbnMgPSBbIi11LWNvLXBob25lYmsta24iLCAiLXUta24tY28tcGhvbmViayJdOwpleHRlbnNpb25zLmZvckVhY2goZnVuY3Rpb24gKGV4dGVuc2lvbikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIHZhciBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlICsgZXh0ZW5zaW9uXSwge3VzYWdlOiAic29ydCJ9KTsKICAgIHZhciBsb2NhbGUgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgbnVtZXJpYyA9IGNvbGxhdG9yLnJlc29sdmVkT3B0aW9ucygpLm51bWVyaWM7CiAgICBpZiAobnVtZXJpYyAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgaWYgKG51bWVyaWMgIT09IHRydWUpIHsKICAgICAgICAgICAgJEVSUk9SKCJEZWZhdWx0IHZhbHVlIGZvciBcImtuXCIgc2hvdWxkIGJlIHRydWUsIGJ1dCBpcyAiICsgbnVtZXJpYyArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChsb2NhbGUuaW5kZXhPZigiLWtuIikgIT09IC0xKSB7CiAgICAgICAgICAgICRFUlJPUigiXCJrblwiIGlzIHJldHVybmVkIGluIGxvY2FsZSwgYnV0IHNob3VsZG4ndCBiZS4iKTsKICAgICAgICB9CiAgICB9Cn0pOwoK", "commentary":"", "description":"Tests that missing Unicode extension values default to true for\n boolean keys.", "path":"TestCases/intl402/ch09/9.2/9.2.5_11_g_ii_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImRhdGFMb2NhbGUiLCAibnUiLCAiY2EiLCAiY28iLCAibG9jYWxlIl0pOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGxvY2FsZSA9IG5ldyBDb25zdHJ1Y3Rvcih1bmRlZmluZWQsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgIGlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAgICAgJEVSUk9SKCJDb25zdHJ1Y3RvciByZXR1cm5zIGludmFsaWQgbG9jYWxlICIgKyBsb2NhbGUgKyAiLiIpOwogICAgfQoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch09/9.2/9.2.5_6.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIExpc3QgaXMgbm90IGFmZmVjdGVkIGJ5IGFkdmVyc2FyaWFsCiAqICAgICBjaGFuZ2VzIHRvIEFycmF5LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50QXJyYXkoKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIC8vIHRoaXMgdGVzdCBzaG91bGQgd29yayBlcXVhbGx5IGZvciBib3RoIG1hdGNoaW5nIGFsZ29yaXRobXMKICAgIFsibG9va3VwIiwgImJlc3QgZml0Il0uZm9yRWFjaChmdW5jdGlvbiAobWF0Y2hlcikgewogICAgICAgIHZhciBkZWZhdWx0TG9jYWxlID0gbmV3IENvbnN0cnVjdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgICAgIHZhciBjYW5vbmljYWxpemVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlLCBkZWZhdWx0TG9jYWxlXSwKICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICBpZiAoY2Fub25pY2FsaXplZC5sZW5ndGggPiAxKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2Fub25pY2FsaXphdGlvbiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIGRpZG4ndCByZW1vdmUgZHVwbGljYXRlIGxhbmd1YWdlIHRhZ3MgZnJvbSBsb2NhbGUgbGlzdC4iKTsKICAgICAgICB9CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that the behavior of a List is not affected by adversarial\n changes to Array.prototype.", "path":"TestCases/intl402/ch09/9.2/9.2.6_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgcmV0dXJucyBhbiBlbXB0eSBsaXN0IHdoZW4KICogICAgIGdpdmVuIGFuIGVtcHR5IGxpc3QuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtdLCB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICRFUlJPUigiU3VwcG9ydGVkTG9jYWxlcyB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiIHJldHVybmVkIGEgbm9uLWVtcHR5IGxpc3QgZm9yIGFuIGVtcHR5IGxpc3QuIik7CiAgICAgICAgfQogICAgfSk7CgogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that LookupSupportedLocales returns an empty list when\n given an empty list.", "path":"TestCases/intl402/ch09/9.2/9.2.6_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZXMgZG8gbm90IGFmZmVjdAogKiAgICB3aGV0aGVyIGEgbG9jYWxlIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkLCBidXQgYXJlIHJlcG9ydGVkIGJhY2suCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgaW5mbyA9IGdldExvY2FsZVN1cHBvcnRJbmZvKENvbnN0cnVjdG9yKTsKICAgICAgICB2YXIgYWxsTG9jYWxlcyA9IGluZm8uc3VwcG9ydGVkLmNvbmNhdChpbmZvLmJ5RmFsbGJhY2ssIGluZm8udW5zdXBwb3J0ZWQpOwogICAgICAgIGFsbExvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICAgICAgICAgIHZhciB2YWxpZEV4dGVuc2lvbiA9ICItdS1jby1waG9uZWJrLW51LWxhdG4iOwogICAgICAgICAgICB2YXIgaW52YWxpZEV4dGVuc2lvbiA9ICItdS1udS1pbnZhbGlkIjsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDEgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZV0sCiAgICAgICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgICAgICB2YXIgc3VwcG9ydGVkMiA9IENvbnN0cnVjdG9yLnN1cHBvcnRlZExvY2FsZXNPZihbbG9jYWxlICsgdmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgdmFyIHN1cHBvcnRlZDMgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2xvY2FsZSArIGludmFsaWRFeHRlbnNpb25dLAogICAgICAgICAgICAgICAge2xvY2FsZU1hdGNoZXI6IG1hdGNoZXJ9KTsKICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDEubGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMi5sZW5ndGggIT09IDEgfHwgc3VwcG9ydGVkMy5sZW5ndGggIT09IDEpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIlByZXNlbmNlIG9mIFVuaWNvZGUgbG9jYWxlIGV4dGVuc2lvbiBzZXF1ZW5jZSBhZmZlY3RzIHdoZXRoZXIgbG9jYWxlICIgKwogICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUgKyAiIGlzIGNvbnNpZGVyZWQgc3VwcG9ydGVkIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydGVkMlswXSAhPT0gbG9jYWxlICsgdmFsaWRFeHRlbnNpb24gfHwgc3VwcG9ydGVkM1swXSAhPT0gbG9jYWxlICsgaW52YWxpZEV4dGVuc2lvbikgewogICAgICAgICAgICAgICAgICAgIGFsZXJ0KGxvY2FsZSArICI7ICIgKyBzdXBwb3J0ZWQyWzBdICsgIjsgIiArIHN1cHBvcnRlZDNbMF0pOwogICAgICAgICAgICAgICAgICAgICRFUlJPUigiVW5pY29kZSBsb2NhbGUgZXh0ZW5zaW9uIHNlcXVlbmNlIGlzIG5vdCBjb3JyZWN0bHkgcmV0dXJuZWQgZm9yIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKHN1cHBvcnRlZDIubGVuZ3RoICE9PSAwIHx8IHN1cHBvcnRlZDMubGVuZ3RoICE9PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgJEVSUk9SKCJQcmVzZW5jZSBvZiBVbmljb2RlIGxvY2FsZSBleHRlbnNpb24gc2VxdWVuY2UgYWZmZWN0cyB3aGV0aGVyIGxvY2FsZSAiICsKICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlICsgIiBpcyBjb25zaWRlcmVkIHN1cHBvcnRlZCB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that Unicode locale extension sequences do not affect\n whether a locale is considered supported, but are reported back.", "path":"TestCases/intl402/ch09/9.2/9.2.6_4_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IExvb2t1cFN1cHBvcnRlZExvY2FsZXMgaW5jbHVkZXMgdGhlIGRlZmF1bHQgbG9jYWxlCiAqICAgICBhbmQgZG9lc24ndCBpbmNsdWRlIHRoZSAibm8gbGluZ3Vpc3RpYyBjb250ZW50IiBsb2NhbGUuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0V2l0aEludGxDb25zdHJ1Y3RvcnMoZnVuY3Rpb24gKENvbnN0cnVjdG9yKSB7CiAgICAvLyB0aGlzIHRlc3Qgc2hvdWxkIHdvcmsgZXF1YWxseSBmb3IgYm90aCBtYXRjaGluZyBhbGdvcml0aG1zCiAgICBbImxvb2t1cCIsICJiZXN0IGZpdCJdLmZvckVhY2goZnVuY3Rpb24gKG1hdGNoZXIpIHsKICAgICAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBDb25zdHJ1Y3RvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgICB2YXIgbm9MaW5ndWlzdGljQ29udGVudCA9ICJ6eHgiOwogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGUsIG5vTGluZ3Vpc3RpY0NvbnRlbnRdLAogICAgICAgICAgICB7bG9jYWxlTWF0Y2hlcjogbWF0Y2hlcn0pOwogICAgICAgIGlmIChzdXBwb3J0ZWQuaW5kZXhPZihkZWZhdWx0TG9jYWxlKSA9PT0gLTEpIHsKICAgICAgICAgICAgJEVSUk9SKCJTdXBwb3J0ZWRMb2NhbGVzIGRpZG4ndCByZXR1cm4gZGVmYXVsdCBsb2NhbGUgd2l0aCBtYXRjaGVyICIgKyBtYXRjaGVyICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgaWYgKHN1cHBvcnRlZC5pbmRleE9mKG5vTGluZ3Vpc3RpY0NvbnRlbnQpICE9PSAtMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgdGhlIFwibm8gbGluZ3Vpc3RpYyBjb250ZW50XCIgbG9jYWxlIHdpdGggbWF0Y2hlciAiICsgbWF0Y2hlciArICIuIik7CiAgICAgICAgfQogICAgICAgIGlmIChzdXBwb3J0ZWQubGVuZ3RoID4gMSkgewogICAgICAgICAgICAkRVJST1IoIlN1cHBvcnRlZExvY2FsZXMgcmV0dXJuZWQgc3RyYXkgbG9jYWxlczogIiArIHN1cHBvcnRlZC5qb2luKCIsICIpICsgIiB3aXRoIG1hdGNoZXIgIiArIG1hdGNoZXIgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that LookupSupportedLocales includes the default locale\n and doesn't include the \"no linguistic content\" locale.", "path":"TestCases/intl402/ch09/9.2/9.2.6_4_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICAKICAgIHZhciB2YWxpZFZhbHVlcyA9IFt1bmRlZmluZWQsICJsb29rdXAiLCAiYmVzdCBmaXQiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICJsb29rdXAiOyB9fV07CiAgICB2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBzdXBwb3J0ZWQgPSBDb25zdHJ1Y3Rvci5zdXBwb3J0ZWRMb2NhbGVzT2YoW2RlZmF1bHRMb2NhbGVdLCB7bG9jYWxlTWF0Y2hlcjogdmFsdWV9KTsKICAgIH0pOwogICAgCiAgICB2YXIgaW52YWxpZFZhbHVlcyA9IFtudWxsLCAwLCA1LCBOYU4sIHRydWUsIGZhbHNlLCAiaW52YWxpZCJdOwogICAgaW52YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSwge2xvY2FsZU1hdGNoZXI6IHZhbHVlfSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBsb2NhbGVNYXRjaGVyIHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICAgICAkRVJST1IoIkludmFsaWQgbG9jYWxlTWF0Y2hlciB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKICAgIAogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that the option localeMatcher is processed correctly.", "path":"TestCases/intl402/ch09/9.2/9.2.8_1_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBhcnJheSByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGV4dGVuc2libGUsCiAqICAgICBidXQgaXRzIHByb3BlcnRpZXMgYXJlIG5vbi13cml0YWJsZS9ub24tY29uZmlndXJhYmxlLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKZnVuY3Rpb24gdGVzdEZyb3plblByb3BlcnR5KG9iaiwgcHJvcGVydHkpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHByb3BlcnR5KTsKICAgIGlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIHdyaXRhYmxlLiIpOwogICAgfQogICAgaWYgKGRlc2MuY29uZmlndXJhYmxlKSB7CiAgICAgICAgJEVSUk9SKCJQcm9wZXJ0eSAiICsgcHJvcGVydHkgKyAiIG9mIG9iamVjdCByZXR1cm5lZCBieSBTdXBwb3J0ZWRMb2NhbGVzIGlzIGNvbmZpZ3VyYWJsZS4iKTsKICAgIH0KfQoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgQ29uc3RydWN0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CiAgICB2YXIgc3VwcG9ydGVkID0gQ29uc3RydWN0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKFtkZWZhdWx0TG9jYWxlXSk7CiAgICBpZiAoIU9iamVjdC5pc0V4dGVuc2libGUoc3VwcG9ydGVkKSkgewogICAgICAgICRFUlJPUigiT2JqZWN0IHJldHVybmVkIGJ5IFN1cHBvcnRlZExvY2FsZXMgaXMgbm90IGV4dGVuc2libGUuIik7CiAgICB9CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN1cHBvcnRlZC5sZW5ndGg7IGkrKykgewogICAgICAgIHRlc3RGcm96ZW5Qcm9wZXJ0eShzdXBwb3J0ZWQsIGkpOwogICAgfQogICAgdGVzdEZyb3plblByb3BlcnR5KHN1cHBvcnRlZCwgImxlbmd0aCIpOwoKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that the array returned by SupportedLocales is extensible,\n but its properties are non-writable/non-configurable.", "path":"TestCases/intl402/ch09/9.2/9.2.8_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIENvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIG9iaiwgZXJyb3I7CiAgICAKICAgIC8vIHZhcmlhbnQgMTogdXNlIGNvbnN0cnVjdG9yIGluIGEgIm5ldyIgZXhwcmVzc2lvbgogICAgb2JqID0gbmV3IENvbnN0cnVjdG9yKCk7CiAgICB0cnkgewogICAgICAgIEludGwuQ29sbGF0b3IuY2FsbChvYmopOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIENvbGxhdG9yIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIENvbGxhdG9yIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KICAgIAogICAgLy8gdmFyaWFudCAyOiB1c2UgY29uc3RydWN0b3IgYXMgYSBmdW5jdGlvbgogICAgb2JqID0gQ29uc3RydWN0b3IuY2FsbCh7fSk7CiAgICBlcnJvciA9IHVuZGVmaW5lZDsKICAgIHRyeSB7CiAgICAgICAgSW50bC5Db2xsYXRvci5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIGNvbnN0cnVjdG9yIGFzIGZ1bmN0aW9uIGFzIENvbGxhdG9yIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBDb2xsYXRvciB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that an object can't be re-initialized as a Collator.", "path":"TestCases/intl402/ch10/10.1/10.1.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiLCAia24iLCAia2YiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuQ29sbGF0b3IodW5kZWZpbmVkLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CmlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAkRVJST1IoIkNvbGxhdG9yIHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7Cn0KCg==", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch10/10.1/10.1.1_10.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCBbImxvb2t1cCIsICJiZXN0IGZpdCJdLCAiYmVzdCBmaXQiLCB7bm9SZXR1cm46IHRydWV9KTsKCg==", "commentary":"", "description":"Tests that the option localeMatcher is processed correctly.", "path":"TestCases/intl402/ch10/10.1/10.1.1_11.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIG51bWVyaWMgYW5kIGNhc2VGaXJzdCBhcmUgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5Db2xsYXRvciwgIm51bWVyaWMiLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB7aXNPcHRpb25hbDogdHJ1ZX0pOwp0ZXN0T3B0aW9uKEludGwuQ29sbGF0b3IsICJjYXNlRmlyc3QiLCAic3RyaW5nIiwgWyJ1cHBlciIsICJsb3dlciIsICJmYWxzZSJdLCB1bmRlZmluZWQsIHtpc09wdGlvbmFsOiB0cnVlfSk7Cgo=", "commentary":"", "description":"Tests that the options numeric and caseFirst are processed correctly.", "path":"TestCases/intl402/ch10/10.1/10.1.1_13.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGUgc3BlY2lhbCBoYW5kbGluZyBvZiB0aGUgImNvIiBrZXkgaW4gSW50bC5Db2xsYXRvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgpmdW5jdGlvbiBjaGVja0NvbGxhdGlvbihleHRlbnNpb25Db1ZhbHVlLCB1c2FnZVZhbHVlLCBleHBlY3RlZENvbGxhdGlvbnMsIGV4cGVjdGVkVXNhZ2UpIHsKICAgIHZhciByZXF1ZXN0TG9jYWxlID0gZXh0ZW5zaW9uQ29WYWx1ZSAhPT0gdW5kZWZpbmVkID8gImRlLURFLXUtY28tIiArIGV4dGVuc2lvbkNvVmFsdWUgOiAiZGUtREUiOwogICAgdmFyIG9wdGlvbnMgPSB1c2FnZVZhbHVlICE9PSB1bmRlZmluZWQgPyB7IHVzYWdlOiB1c2FnZVZhbHVlIH0gOiB1bmRlZmluZWQ7CiAgICB2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbcmVxdWVzdExvY2FsZV0sIG9wdGlvbnMpOwoKICAgIHZhciBjb2xsYXRpb24gPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5jb2xsYXRpb247CiAgICBpZiAoZXhwZWN0ZWRDb2xsYXRpb25zLmluZGV4T2YoY29sbGF0aW9uKSA9PT0gLTEpIHsKICAgICAgICAkRVJST1IoKGV4dGVuc2lvbkNvVmFsdWUgPT09IHVuZGVmaW5lZCA/ICJEZWZhdWx0IGNvbGxhdGlvbiIgOiAiQ29sbGF0aW9uIGZvciBcIiIgKyBleHRlbnNpb25Db1ZhbHVlKSArCiAgICAgICAgICAgICJcIiBzaG91bGQgYmUgIiArIGV4cGVjdGVkQ29sbGF0aW9ucy5qb2luKCIgb3IgIikgKyAiLCBidXQgaXMgIiArIGNvbGxhdGlvbiArICIuIik7CiAgICB9CgogICAgdmFyIHVzYWdlID0gY29sbGF0b3IucmVzb2x2ZWRPcHRpb25zKCkudXNhZ2U7CiAgICBpZiAoZXhwZWN0ZWRVc2FnZSAhPT0gdXNhZ2UpIHsKICAgICAgICAkRVJST1IoKHVzYWdlVmFsdWUgPT09IHVuZGVmaW5lZCA/ICJEZWZhdWx0IHVzYWdlIiA6ICJVc2FnZSIpICsKICAgICAgICAgICAgIiBzaG91bGQgYmUgIiArIGV4cGVjdGVkVXNhZ2UgKyAiLCBidXQgaXMgIiArIHVzYWdlICsgIi4iKTsKICAgIH0KfQoKY2hlY2tDb2xsYXRpb24odW5kZWZpbmVkLCB1bmRlZmluZWQsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInBob25lYmsiLCB1bmRlZmluZWQsIFsicGhvbmViayIsICJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigiaW52YWxpZCIsIHVuZGVmaW5lZCwgWyJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigic3RhbmRhcmQiLCB1bmRlZmluZWQsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInN0YW5kYXJkIiwgInNlYXJjaCIsIFsiZGVmYXVsdCJdLCAic2VhcmNoIik7CgpjaGVja0NvbGxhdGlvbigic3RhbmRhcmQiLCAic29ydCIsIFsiZGVmYXVsdCJdLCAic29ydCIpOwoKY2hlY2tDb2xsYXRpb24oInNlYXJjaCIsIHVuZGVmaW5lZCwgWyJkZWZhdWx0Il0sICJzb3J0Iik7CgpjaGVja0NvbGxhdGlvbigic2VhcmNoIiwgInNlYXJjaCIsIFsiZGVmYXVsdCJdLCAic2VhcmNoIik7CgpjaGVja0NvbGxhdGlvbigic2VhcmNoIiwgInNvcnQiLCBbImRlZmF1bHQiXSwgInNvcnQiKTsKCg==", "commentary":"", "description":"Tests the special handling of the \"co\" key in Intl.Collator.", "path":"TestCases/intl402/ch10/10.1/10.1.1_19_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIG51bWVyaWMgYW5kIGNhc2VGaXJzdCBjYW4gYmUKICogICAgIHNldCB0aHJvdWdoIGVpdGhlciB0aGUgbG9jYWxlIG9yIHRoZSBvcHRpb25zLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIG9wdGlvbnMgPSBbCiAgICB7a2V5OiAia24iLCBwcm9wZXJ0eTogIm51bWVyaWMiLCB0eXBlOiAiYm9vbGVhbiIsIHZhbHVlczogW3RydWUsIGZhbHNlXX0sCiAgICB7a2V5OiAia2YiLCBwcm9wZXJ0eTogImNhc2VGaXJzdCIsIHR5cGU6ICJzdHJpbmciLCB2YWx1ZXM6IFsidXBwZXIiLCAibG93ZXIiLCAiZmFsc2UiXX0KXTsKCm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9uKSB7CiAgICB2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBJbnRsLkNvbGxhdG9yKCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwogICAgdmFyIGNvbGxhdG9yLCBvcHQsIHJlc3VsdDsKICAgIAogICAgLy8gZmluZCBvdXQgd2hpY2ggdmFsdWVzIGFyZSBzdXBwb3J0ZWQgZm9yIGEgcHJvcGVydHkgaW4gdGhlIGRlZmF1bHQgbG9jYWxlCiAgICB2YXIgc3VwcG9ydGVkVmFsdWVzID0gW107CiAgICBvcHRpb24udmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgb3B0ID0ge307CiAgICAgICAgb3B0W29wdGlvbi5wcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlXSwgb3B0KTsKICAgICAgICByZXN1bHQgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKVtvcHRpb24ucHJvcGVydHldOwogICAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiBzdXBwb3J0ZWRWYWx1ZXMuaW5kZXhPZihyZXN1bHQpID09PSAtMSkgewogICAgICAgICAgICBzdXBwb3J0ZWRWYWx1ZXMucHVzaChyZXN1bHQpOwogICAgICAgIH0KICAgIH0pOwogICAgCiAgICAvLyB2ZXJpZnkgdGhhdCB0aGUgc3VwcG9ydGVkIHZhbHVlcyBjYW4gYWxzbyBiZSBzZXQgdGhyb3VnaCB0aGUgbG9jYWxlCiAgICBzdXBwb3J0ZWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICBjb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKFtkZWZhdWx0TG9jYWxlICsgIi11LSIgKyBvcHRpb24ua2V5ICsgIi0iICsgdmFsdWVdKTsKICAgICAgICByZXN1bHQgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKVtvcHRpb24ucHJvcGVydHldOwogICAgICAgIGlmIChyZXN1bHQgIT09IHZhbHVlKSB7CiAgICAgICAgICAgICRFUlJPUigiUHJvcGVydHkgIiArIG9wdGlvbi5wcm9wZXJ0eSArICIgY291bGRuJ3QgYmUgc2V0IHRocm91Z2ggbG9jYWxlIGV4dGVuc2lvbiBrZXkgIiArCiAgICAgICAgICAgICAgICBvcHRpb24ua2V5ICsgIjsgcmVxdWVzdGVkIHZhbHVlOiAiICsgdmFsdWUgKyAiOyBhY3R1YWwgdmFsdWU6ICIgKyByZXN1bHQgKyAiLiIpOwogICAgICAgIH0KICAgIH0pOwogICAgCiAgICAvLyB2ZXJpZnkgdGhhdCB0aGUgb3B0aW9ucyBzZXR0aW5nIG92ZXJyaWRlcyB0aGUgbG9jYWxlIHNldHRpbmcKICAgIHN1cHBvcnRlZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgICAgIHZhciBvdGhlclZhbHVlOwogICAgICAgIG9wdGlvbi52YWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAocG9zc2libGVWYWx1ZSkgewogICAgICAgICAgICBpZiAocG9zc2libGVWYWx1ZSAhPT0gdmFsdWUpIHsKICAgICAgICAgICAgICAgIG90aGVyVmFsdWUgPSBwb3NzaWJsZVZhbHVlOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgaWYgKG90aGVyVmFsdWUgIT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICBvcHQgPSB7fTsKICAgICAgICAgICAgb3B0W29wdGlvbi5wcm9wZXJ0eV0gPSB2YWx1ZTsKICAgICAgICAgICAgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbZGVmYXVsdExvY2FsZSArICItdS0iICsgb3B0aW9uLmtleSArICItIiArIG90aGVyVmFsdWVdLCBvcHQpOwogICAgICAgICAgICByZXN1bHQgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKVtvcHRpb24ucHJvcGVydHldOwogICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB2YWx1ZSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJPcHRpb25zIHZhbHVlIGZvciBwcm9wZXJ0eSAiICsgb3B0aW9uLnByb3BlcnR5ICsgIiBkb2Vzbid0IG92ZXJyaWRlIGxvY2FsZSBleHRlbnNpb24ga2V5ICIgKwogICAgICAgICAgICAgICAgICAgIG9wdGlvbi5rZXkgKyAiOyByZXF1ZXN0ZWQgdmFsdWU6ICIgKyB2YWx1ZSArICI7IGFjdHVhbCB2YWx1ZTogIiArIHJlc3VsdCArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that the options numeric and caseFirst can be\n set through either the locale or the options.", "path":"TestCases/intl402/ch10/10.1/10.1.1_19_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gc2Vuc2l0aXZpdHkgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoZSBmYWxsYmFjayBpcyB2YXJpYW50IG9ubHkgZm9yIHVzYWdlID09PSBzb3J0LCBidXQgdGhhdCBoYXBwZW5zIHRvIGJlIHRoZSBmYWxsYmFjayBmb3IgdXNhZ2UKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAic2Vuc2l0aXZpdHkiLCAic3RyaW5nIiwgWyJiYXNlIiwgImFjY2VudCIsICJjYXNlIiwgInZhcmlhbnQiXSwgInZhcmlhbnQiKTsKCg==", "commentary":"", "description":"Tests that the option sensitivity is processed correctly.", "path":"TestCases/intl402/ch10/10.1/10.1.1_20.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gaWdub3JlUHVuY3R1YXRpb24gaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoZSBmYWxsYmFjayBpcyB2YXJpYW50IG9ubHkgZm9yIHVzYWdlID09PSBzb3J0LCBidXQgdGhhdCBoYXBwZW5zIHRvIGJlIHRoZSBmYWxsYmFjayBmb3IgdXNhZ2UKdGVzdE9wdGlvbihJbnRsLkNvbGxhdG9yLCAiaWdub3JlUHVuY3R1YXRpb24iLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgZmFsc2UpOwoK", "commentary":"", "description":"Tests that the option ignorePunctuation is processed correctly.", "path":"TestCases/intl402/ch10/10.1/10.1.1_23.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gdXNhZ2UgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5Db2xsYXRvciwgInVzYWdlIiwgInN0cmluZyIsIFsic29ydCIsICJzZWFyY2giXSwgInNvcnQiKTsKCg==", "commentary":"", "description":"Tests that the option usage is processed correctly.", "path":"TestCases/intl402/ch10/10.1/10.1.1_6.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNvbnN0cnVjdGluZyBhIENvbGxhdG9yIGRvZXNuJ3QgY3JlYXRlIG9yIG1vZGlmeQogKiAgICAgdW53YW50ZWQgcHJvcGVydGllcyBvbiB0aGUgUmVnRXhwIGNvbnN0cnVjdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdEZvclVud2FudGVkUmVnRXhwQ2hhbmdlcyhmdW5jdGlvbiAoKSB7CiAgICBuZXcgSW50bC5Db2xsYXRvcigiZGUtREUtdS1jby1waG9uZWJrIik7Cn0pOwo=", "commentary":"", "description":"Tests that constructing a Collator doesn't create or modify\n unwanted properties on the RegExp constructor.", "path":"TestCases/intl402/ch10/10.1/10.1.1_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvciBub24tb2JqZWN0IHZhbHVlcyBwYXNzZWQgYXMgdGhpcyB0byBDb2xsYXRvciBhCiAqIHdyYXBwZXIgb2JqZWN0IHdpbGwgYmUgaW5pdGlhbGl6ZWQgYW5kIHJldHVybmVkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gW3RydWUsIDQyLCAi5Zu96Zqb5YyWIl07Cgp0aGlzVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgY29sbGF0b3IgPSBJbnRsLkNvbGxhdG9yLmNhbGwodmFsdWUpOwogICAgLy8gY2hlY2sgdGhhdCB0aGUgcmV0dXJuZWQgb2JqZWN0IGZ1bmN0aW9ucyBhcyBhIGNvbGxhdG9yCiAgICB2YXIgcmVmZXJlbmNlQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcigpOwogICAgaWYgKEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUuY2FsbChjb2xsYXRvciwgImEiLCAiYiIpICE9PSByZWZlcmVuY2VDb2xsYXRvci5jb21wYXJlKCJhIiwgImIiKSkgewogICAgICAgICRFUlJPUigiQ29sbGF0b3IgaW5pdGlhbGl6ZWQgZnJvbSAiICsgdmFsdWUgKyAiIGRvZXNuJ3QgYmVoYXZlIGxpa2Ugbm9ybWFsIGNvbGxhdG9yLiIpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that for non-object values passed as this to Collator a\nwrapper object will be initialized and returned.", "path":"TestCases/intl402/ch10/10.1/10.1.2.1_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yIGNhbiBiZSBzdWJjbGFzc2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gZ2V0IGEgY29sbGF0b3IgYW5kIGhhdmUgaXQgc29ydCBhbiBhcnJheSBmb3IgY29tcGFyaXNvbiB3aXRoIHRoZSBzdWJjbGFzcwp2YXIgbG9jYWxlcyA9IFsidGxoIiwgImlkIiwgImVuIl07CnZhciBhID0gWyJBIiwgIkMiLCAiRSIsICJCIiwgIkQiLCAiRiJdOwp2YXIgcmVmZXJlbmNlQ29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZVNvcnRlZCA9IGEuc2xpY2UoKS5zb3J0KHJlZmVyZW5jZUNvbGxhdG9yLmNvbXBhcmUpOwoKZnVuY3Rpb24gTXlDb2xsYXRvcihsb2NhbGVzLCBvcHRpb25zKSB7CiAgICBJbnRsLkNvbGxhdG9yLmNhbGwodGhpcywgbG9jYWxlcywgb3B0aW9ucyk7CiAgICAvLyBjb3VsZCBpbml0aWFsaXplIE15Q29sbGF0b3IgcHJvcGVydGllcwp9CgpNeUNvbGxhdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoSW50bC5Db2xsYXRvci5wcm90b3R5cGUpOwpNeUNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE15Q29sbGF0b3I7Ci8vIGNvdWxkIGFkZCBtZXRob2RzIHRvIE15Q29sbGF0b3IucHJvdG90eXBlCgp2YXIgY29sbGF0b3IgPSBuZXcgTXlDb2xsYXRvcihsb2NhbGVzKTsKYS5zb3J0KGNvbGxhdG9yLmNvbXBhcmUpOwp0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VTb3J0ZWQsIGEpOwoK", "commentary":"", "description":"Tests that Intl.Collator can be subclassed.", "path":"TestCases/intl402/ch10/10.1/10.1.2_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5Db2xsYXRvciBoYXZlIHRoZSBzcGVjaWZpZWQgaW50ZXJuYWwgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuQ29sbGF0b3IoKTsKCnZhciBhY3R1YWxQcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKaWYgKGFjdHVhbFByb3RvdHlwZSAhPT0gSW50bC5Db2xsYXRvci5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkNvbGxhdG9yIGlzbid0IEludGwuQ29sbGF0b3IucHJvdG90eXBlOyBnb3QgIiArIGFjdHVhbFByb3RvdHlwZSk7Cn0KCmlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSB7CiAgICAkRVJST1IoIk9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkNvbGxhdG9yIG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK", "commentary":"", "description":"Tests that objects constructed by Intl.Collator have the specified internal properties.", "path":"TestCases/intl402/ch10/10.1/10.1.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkNvbGxhdG9yLCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==", "commentary":"", "description":"Tests that Intl.Collator\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.1/10.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlIGhhcyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5Db2xsYXRvciwgInByb3RvdHlwZSIpOwppZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IucHJvdG90eXBlIG11c3Qgbm90IGJlIHdyaXRhYmxlLiIpOwp9CmlmIChkZXNjLmVudW1lcmFibGUpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUgbXVzdCBub3QgYmUgZW51bWVyYWJsZS4iKTsKfQppZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=", "commentary":"", "description":"Tests that Intl.Collator.prototype has the required attributes.", "path":"TestCases/intl402/ch10/10.2/10.2.1.js" }, { "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yIGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5Db2xsYXRvcigpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwoKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuQ29sbGF0b3IuaGFzT3duUHJvcGVydHkoJ3N1cHBvcnRlZExvY2FsZXNPZicpKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IgZG9lc24ndCBoYXZlIGEgc3VwcG9ydGVkTG9jYWxlc09mIHByb3BlcnR5LiIpOwp9CgpzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YocmVxdWVzdGVkTG9jYWxlcyk7CmlmIChzdXBwb3J0ZWRMb2NhbGVzLmxlbmd0aCAhPT0gMSkgewogICAgJEVSUk9SKCdUaGUgbGVuZ3RoIG9mIHN1cHBvcnRlZCBsb2NhbGVzIGxpc3QgaXMgbm90IDEuJyk7Cn0KCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=", "commentary":"", "description":"Tests that Intl.Collator has a supportedLocalesOf\nproperty, and it works as planned.", "path":"TestCases/intl402/ch10/10.2/10.2.2_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBkb2Vzbid0IGFjY2VzcyBhcmd1bWVudHMgdGhhdCBpdCdzIG5vdCBnaXZlbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50RGF0YVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIik7Cm5ldyBJbnRsLkNvbGxhdG9yKCJ1bmQiKTsK", "commentary":"", "description":"Tests that Intl.Collator.supportedLocalesOf\n doesn't access arguments that it's not given.", "path":"TestCases/intl402/ch10/10.2/10.2.2_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=", "commentary":"", "description":"Tests that Intl.Collator.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.2/10.2.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IgZG9lcyBub3QgYWNjZXB0IFVuaWNvZGUgbG9jYWxlCiAqICAgICBleHRlbnNpb24ga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIG5vdCBhbGxvd2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIHRlc3RBcnJheSA9IFsKICAgICAgICAiaGVsbG8iLCAi5L2g5aW9IiwgIuOBk+OCk+OBq+OBoeOBryIsCiAgICAgICAgInDDqmNoZSIsICJwZWNow6kiLCAiMSIsICI5IiwgIjEwIiwKICAgICAgICAi4bulXHUwMzFCIiwgInVcdTAzMUJcdTAzMjMiLCAixrBcdTAzMjMiLCAidVx1MDMyM1x1MDMxQiIsCiAgICAgICAgIuKEqyIsICLDhSIsICJBXHUwMzBBIgpdOwoKdmFyIGRlZmF1bHRDb2xsYXRvciA9IG5ldyBJbnRsLkNvbGxhdG9yKCk7CnZhciBkZWZhdWx0T3B0aW9ucyA9IGRlZmF1bHRDb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKTsKdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKdmFyIGRlZmF1bHRMb2NhbGUgPSBkZWZhdWx0T3B0aW9ucy5sb2NhbGU7CnZhciBkZWZhdWx0U29ydGVkQXJyYXkgPSB0ZXN0QXJyYXkuc2xpY2UoMCkuc29ydChkZWZhdWx0Q29sbGF0b3IuY29tcGFyZSk7Cgp2YXIga2V5VmFsdWVzID0gewogICAgImNvIjogWyJzdGFuZGFyZCIsICJzZWFyY2giLCAiaW52YWxpZCJdLAogICAgImthIjogWyJub2lnbm9yZSIsICJzaGlmdGVkIiwgImludmFsaWQiXSwKICAgICJrYiI6IFsidHJ1ZSIsICJmYWxzZSIsICJpbnZhbGlkIl0sCiAgICAia2MiOiBbInRydWUiLCAiZmFsc2UiLCAiaW52YWxpZCJdLAogICAgImtoIjogWyJ0cnVlIiwgImZhbHNlIiwgImludmFsaWQiXSwKICAgICJrayI6IFsidHJ1ZSIsICJmYWxzZSIsICJpbnZhbGlkIl0sCiAgICAia3IiOiBbImxhdG4taGlyYS1oYW5pIiwgImhhbmktaGlyYS1sYXRuIiwgImludmFsaWQiXSwKICAgICJrcyI6IFsibGV2ZWwxIiwgImxldmVsMiIsICJsZXZlbDMiLCAibGV2ZWw0IiwgImlkZW50aWMiLCAiaW52YWxpZCJdLAogICAgInZ0IjogWyIxMjM0LTU2NzgtOWFiYy1lZGYwIiwgImludmFsaWQiXQp9OwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoa2V5VmFsdWVzKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKICAgIGtleVZhbHVlc1trZXldLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW2RlZmF1bHRMb2NhbGUgKyAiLXUtIiArIGtleSArICItIiArIHZhbHVlXSk7CiAgICAgICAgdmFyIG9wdGlvbnMgPSBjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKTsKICAgICAgICBpZiAob3B0aW9ucy5sb2NhbGUgIT09IGRlZmF1bHRMb2NhbGUpIHsKICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIG9wdGlvbnMubG9jYWxlICsgIiBpcyBhZmZlY3RlZCBieSBrZXkgIiArCiAgICAgICAgICAgICAgICBrZXkgKyAiOyB2YWx1ZSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgIH0KICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgIT09IGRlZmF1bHRPcHRpb25zSlNPTikgewogICAgICAgICAgICAkRVJST1IoIlJlc29sdmVkIG9wdGlvbnMgIiArIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIiBhcmUgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICB9CiAgICAgICAgdGVzdEFycmF5c0FyZVNhbWUoZGVmYXVsdFNvcnRlZEFycmF5LCB0ZXN0QXJyYXkuc29ydChjb2xsYXRvci5jb21wYXJlKSk7CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Intl.Collator does not accept Unicode locale\n extension keys and values that are not allowed.", "path":"TestCases/intl402/ch10/10.2/10.2.3_b.js" }, { "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5Db2xsYXRvci4KICovCgppZiAoSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuQ29sbGF0b3IpIHsKICAgICRFUlJPUigiSW50bC5Db2xsYXRvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgICJJbnRsLkNvbGxhdG9yIik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.Collator.prototype.constructor is the\nIntl.Collator.", "path":"TestCases/intl402/ch10/10.3/10.3.1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZS5jb21wYXJlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuQ29sbGF0b3IoKS5jb21wYXJlLCB0cnVlLCBmYWxzZSwgW10sIDIpOwoK", "commentary":"", "description":"Tests that the function returned by Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.3/10.3.2_1_a_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNvbXBhcmUgZnVuY3Rpb24gaXMgYm91bmQgdG8gaXRzIEludGwuQ29sbGF0b3IuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgc3RyaW5ncyA9IFsiZCIsICJPIiwgIm9kIiwgIm9lIiwgIm9mIiwgIsO2IiwgIm9cdTAzMDgiLCAiWCIsICJ5IiwgIloiLCAiWi4iLCAi8KCut+mHjuWutiIsICLlkInph47lrrYiLCAiIUEiLCAiQSIsICJiIiwgIkMiXTsKdmFyIGxvY2FsZXMgPSBbdW5kZWZpbmVkLCBbImRlIl0sIFsiZGUtdS1jby1waG9uZWJrIl0sIFsiZW4iXSwgWyJqYSJdLCBbInN2Il1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHVuZGVmaW5lZCwKICAgIHt1c2FnZTogInNlYXJjaCJ9LAogICAge3NlbnNpdGl2aXR5OiAiYmFzZSIsIGlnbm9yZVB1bmN0dWF0aW9uOiB0cnVlfQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGVzKSB7CiAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICB2YXIgY29sbGF0b3JPYmogPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzLCBvcHRpb25zKTsKICAgICAgICB2YXIgY29tcGFyZUZ1bmMgPSBjb2xsYXRvck9iai5jb21wYXJlOwogICAgICAgIHZhciByZWZlcmVuY2VTb3J0ZWQgPSBzdHJpbmdzLnNsaWNlKCk7CiAgICAgICAgcmVmZXJlbmNlU29ydGVkLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHsgcmV0dXJuIGNvbGxhdG9yT2JqLmNvbXBhcmUoYSwgYik7IH0pOwogICAgICAgIHZhciBzb3J0ZWQgPSBzdHJpbmdzOwogICAgICAgIHNvcnRlZC5zb3J0KGNvbXBhcmVGdW5jKTsKICAgICAgICB0cnkgewogICAgICAgICAgICB0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VTb3J0ZWQsIHNvcnRlZCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlLm1lc3NhZ2UgKz0gIiAoVGVzdGluZyB3aXRoIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsgIi4pIjsKICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that compare function is bound to its Intl.Collator.", "path":"TestCases/intl402/ch10/10.3/10.3.2_1_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTm9yYmVydCBMaW5kZW5iZXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgdGhlIGZ1bmN0aW9uIHJldHVybmVkIGJ5IEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKICogICAgIHJldHVybnMgMCB3aGVuIGNvbXBhcmluZyBTdHJpbmdzIHRoYXQgYXJlIGNvbnNpZGVyZWQgY2Fub25pY2FsbHkgZXF1aXZhbGVudAogKiAgICAgYnkgdGhlIFVuaWNvZGUgc3RhbmRhcmQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoKTsKdmFyIHBhaXJzID0gWwogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBzZWN0aW9uIDMuNywgZGVmaW5pdGlvbiBENzAKICAgIFsib1x1MDMwOCIsICLDtiJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVbmljb2RlIDUuMCwgY2hhcHRlciAzLjExCiAgICBbIsOkXHUwMzIzIiwgImFcdTAzMjNcdTAzMDgiXSwKICAgIFsiYVx1MDMwOFx1MDMyMyIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIuG6oVx1MDMwOCIsICJhXHUwMzIzXHUwMzA4Il0sCiAgICBbIsOkXHUwMzA2IiwgImFcdTAzMDhcdTAzMDYiXSwKICAgIFsixINcdTAzMDgiLCAiYVx1MDMwNlx1MDMwOCJdLAogICAgLy8gZXhhbXBsZSBmcm9tIFVuaWNvZGUgNS4wLCBjaGFwdGVyIDMuMTIKICAgIFsiXHUxMTExXHUxMTcxXHUxMUI2IiwgIu2TmyJdLAogICAgLy8gZXhhbXBsZXMgZnJvbSBVVFMgMTAsIFVuaWNvZGUgQ29sbGF0aW9uIEFsZ29yaXRobQogICAgWyLihKsiLCAiw4UiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsieFx1MDMxQlx1MDMyMyIsICJ4XHUwMzIzXHUwMzFCIl0sCiAgICBbIuG7sSIsICLhu6VcdTAzMUIiXSwKICAgIFsi4buxIiwgInVcdTAzMUJcdTAzMjMiXSwKICAgIFsi4buxIiwgIsawXHUwMzIzIl0sCiAgICBbIuG7sSIsICJ1XHUwMzIzXHUwMzFCIl0sCiAgICAvLyBleGFtcGxlcyBmcm9tIFVBWCAxNSwgVW5pY29kZSBOb3JtYWxpemF0aW9uIEZvcm1zCiAgICBbIsOHIiwgIkNcdTAzMjciXSwKICAgIFsicVx1MDMwN1x1MDMyMyIsICJxXHUwMzIzXHUwMzA3Il0sCiAgICBbIuqwgCIsICJcdTExMDBcdTExNjEiXSwKICAgIFsi4oSrIiwgIkFcdTAzMEEiXSwKICAgIFsi4oSmIiwgIs6pIl0sCiAgICBbIsOFIiwgIkFcdTAzMEEiXSwKICAgIFsiw7QiLCAib1x1MDMwMiJdLAogICAgWyLhuakiLCAic1x1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAiZFx1MDMyM1x1MDMwNyJdLAogICAgWyLhuItcdTAzMjMiLCAi4biNXHUwMzA3Il0sCiAgICBbInFcdTAzMDdcdTAzMjMiLCAicVx1MDMyM1x1MDMwNyJdLAogICAgLy8gZXhhbXBsZXMgaW52b2x2aW5nIHN1cHBsZW1lbnRhcnkgY2hhcmFjdGVycyBmcm9tIFVDRCBOb3JtYWxpemF0aW9uVGVzdC50eHQKICAgIFsiXHVEODM0XHVERDVFIiwgIlx1RDgzNFx1REQ1N1x1RDgzNFx1REQ2NSJdLAogICAgWyJcdUQ4N0VcdURDMkIiLCAi5YyXIl0KICAgIApdOwp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHBhaXJzLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgcGFpciA9IHBhaXJzW2ldOwogICAgaWYgKGNvbGxhdG9yLmNvbXBhcmUocGFpclswXSwgcGFpclsxXSkgIT09IDApIHsKICAgICAgICAkRVJST1IoIkNvbGxhdG9yLmNvbXBhcmUgY29uc2lkZXJzICIgKyBwYWlyWzBdICsgIiAoIiArIHRvVShwYWlyWzBdKSArCiAgICAgICAgICAgICIpIOKJoCAiICsgcGFpclsxXSArICIgKCIgKyB0b1UocGFpclsxXSkgKyAiKS4iKTsKICAgIH0KfQoKZnVuY3Rpb24gdG9VKHMpIHsKICAgIHZhciByZXN1bHQgPSAiIjsKICAgIHZhciBlc2NhcGUgPSAiXFx1MDAwMCI7CiAgICB2YXIgaTsKICAgIGZvciAoaSA9IDA7IGkgPCBzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdmFyIGhleCA9IHMuY2hhckNvZGVBdChpKS50b1N0cmluZygxNik7CiAgICAgICAgcmVzdWx0ICs9IGVzY2FwZS5zdWJzdHJpbmcoMCwgZXNjYXBlLmxlbmd0aCAtIGhleC5sZW5ndGgpICsgaGV4OwogICAgfQogICAgcmV0dXJuIHJlc3VsdDsKfQoK", "commentary":"", "description":"Tests that the function returned by Intl.Collator.prototype.compare\n returns 0 when comparing Strings that are considered canonically equivalent\n by the Unicode standard.", "path":"TestCases/intl402/ch10/10.3/10.3.2_CS_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBjb21wYXJlIGZ1bmN0aW9uIGlzbid0IGVudGlyZWx5IHVucmVhc29uYWJsZS4KICogICAgIFRoaXMgdGVzdCBpcyBub3Qgbm9ybWF0aXZlLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gdGhpcyB0ZXN0IHNob3VsZCBiZSB2YWxpZCBhdCBsZWFzdCBmb3IgdGhlIGZvbGxvd2luZyBsb2NhbGVzCnZhciBsb2NhbGVzID0gWyJkZSIsICJlbiIsICJlcyIsICJmciIsICJpdCJdOwpsb2NhbGVzID0gSW50bC5Db2xsYXRvci5zdXBwb3J0ZWRMb2NhbGVzT2YobG9jYWxlcywge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihbbG9jYWxlXSwge3NlbnNpdGl2aXR5OiAidmFyaWFudCIsIGxvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CiAgICB2YXIgYSA9IFsiTCIsICJYIiwgIkMiLCAiayIsICJaIiwgIkgiLCAiZCIsICJtIiwgInciLCAiQSIsICJpIiwgImYiLCAieSIsICJFIiwgIk4iLCAiViIsICJnIiwgIkoiLCAiYiJdOwogICAgYS5zb3J0KGNvbGxhdG9yLmNvbXBhcmUpOwogICAgdmFyIGV4cGVjdGVkID0gWyJBIiwgImIiLCAiQyIsICJkIiwgIkUiLCAiZiIsICJnIiwgIkgiLCAiaSIsICJKIiwgImsiLCAiTCIsICJtIiwgIk4iLCAiViIsICJ3IiwgIlgiLCAieSIsICJaIl07CiAgICB0ZXN0QXJyYXlzQXJlU2FtZShleHBlY3RlZCwgYSk7Cn0pOwoK", "commentary":"", "description":"Tests that the compare function isn't entirely unreasonable.\n This test is not normative.", "path":"TestCases/intl402/ch10/10.3/10.3.2_CS_b_NN.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgY29tcGFyZSBmdW5jdGlvbiBzdXBwb3J0cyBwaG9uZWJvb2sgc29ydGluZyBpZiBpdCBzYXlzIGl0IGRvZXMuCiAqICAgICBUaGlzIHRlc3QgaXMgbm90IG5vcm1hdGl2ZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoaXMgdGVzdCBzaG91bGQgYmUgdmFsaWQgYXQgbGVhc3QgZm9yIHRoZSBmb2xsb3dpbmcgbG9jYWxlcwp2YXIgbG9jYWxlcyA9IFsiZGUtREUtdS1jby1waG9uZWJrIiwgImRlLXUtY28tcGhvbmViayJdOwp2YXIgY29sbGF0b3IgPSBuZXcgSW50bC5Db2xsYXRvcihsb2NhbGVzLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KTsKaWYgKGxvY2FsZXMuaW5kZXhPZihjb2xsYXRvci5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUpICE9PSAtMSkgewogICAgdmFyIGEgPSBbIkEiLCAiYiIsICJBZiIsICJBYiIsICJvZCIsICJvZmYiLCAiw4QiLCAiw7YiXTsKICAgIGEuc29ydChjb2xsYXRvci5jb21wYXJlKTsKICAgIHZhciBleHBlY3RlZCA9IFsiQSIsICJBYiIsICLDhCIsICJBZiIsICJiIiwgIm9kIiwgIsO2IiwgIm9mZiJdOwogICAgdGVzdEFycmF5c0FyZVNhbWUoZXhwZWN0ZWQsIGEpOwp9Cgo=", "commentary":"", "description":"Tests that the compare function supports phonebook sorting if it says it does.\n This test is not normative.", "path":"TestCases/intl402/ch10/10.3/10.3.2_CS_c_NN.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgY29tcGFyZSBmdW5jdGlvbiBzdXBwb3J0cyBkaWZmZXJlbnQgc2Vuc2l0aXZpdHkgc2V0dGluZ3MuCiAqICAgICBUaGlzIHRlc3QgaXMgbm90IG5vcm1hdGl2ZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIHRoaXMgdGVzdCBzaG91bGQgYmUgdmFsaWQgYXQgbGVhc3QgZm9yIHRoZSBmb2xsb3dpbmcgbG9jYWxlcwp2YXIgbG9jYWxlcyA9IFsiZGUiLCAiZW4iLCAiZXMiLCAiaXQiXTsKbG9jYWxlcyA9IEludGwuQ29sbGF0b3Iuc3VwcG9ydGVkTG9jYWxlc09mKGxvY2FsZXMsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pOwpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZSkgewogICAgdmFyIHRhcmdldCA9ICJBYSI7CiAgICB2YXIgaW5wdXQgPSBbIkFhIiwgImJBIiwgIkUiLCAiYiIsICJhQSIsICJmQyIsICLDocOBIiwgIkHDoyJdOwogICAgdmFyIGV4cGVjdGVkID0gewogICAgICAgICJiYXNlIjogWyJBYSIsICJhQSIsICLDocOBIiwgIkHDoyJdLAogICAgICAgICJhY2NlbnQiOiBbIkFhIiwgImFBIl0sCiAgICAgICAgImNhc2UiOiBbIkFhIiwgIkHDoyJdLAogICAgICAgICJ2YXJpYW50IjogWyJBYSJdCiAgICB9OwogICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZXhwZWN0ZWQpLmZvckVhY2goZnVuY3Rpb24gKHNlbnNpdGl2aXR5KSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW2xvY2FsZV0sIHt1c2FnZTogInNlYXJjaCIsCiAgICAgICAgICAgICAgICBzZW5zaXRpdml0eTogc2Vuc2l0aXZpdHksIGxvY2FsZU1hdGNoZXI6ICJsb29rdXAifSk7CiAgICAgICAgdmFyIG1hdGNoZXMgPSBpbnB1dC5maWx0ZXIoZnVuY3Rpb24gKHYpIHsKICAgICAgICAgICAgcmV0dXJuIGNvbGxhdG9yLmNvbXBhcmUodiwgdGFyZ2V0KSA9PT0gMDsKICAgICAgICB9KTsKICAgICAgICB0ZXN0QXJyYXlzQXJlU2FtZShleHBlY3RlZFtzZW5zaXRpdml0eV0sIG1hdGNoZXMpOwogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that the compare function supports different sensitivity settings.\n This test is not normative.", "path":"TestCases/intl402/ch10/10.3/10.3.2_CS_d_NN.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuQ29sbGF0b3IucHJvdG90eXBlLCAiY29tcGFyZSIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=", "commentary":"", "description":"Tests that the getter for Intl.Collator.prototype.compare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.3/10.3.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5Db2xsYXRvci5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCiAqICAgICBoYXMgdGhlIHJpZ2h0IHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgYWN0dWFsID0gbmV3IEludGwuQ29sbGF0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKTsKCnZhciBhY3R1YWwyID0gbmV3IEludGwuQ29sbGF0b3IoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyBzb3VyY2U6IENMRFIgZmlsZSBjb21tb24vYmNwNDcvY29sbGF0aW9uLnhtbDsgdmVyc2lvbiBDTERSIDIxLgp2YXIgY29sbGF0aW9ucyA9IFsKICAgICJkZWZhdWx0IiwgLy8gYWRkZWQKICAgICJiaWc1aGFuIiwgCiAgICAiZGljdCIsCiAgICAiZGlyZWN0IiwKICAgICJkdWNldCIsCiAgICAiZ2IyMzEyIiwKICAgICJwaG9uZWJrIiwKICAgICJwaG9uZXRpYyIsCiAgICAicGlueWluIiwKICAgICJyZWZvcm1lZCIsCiAgICAvLyAic2VhcmNoIiwgLy8gZXhjbHVkZWQKICAgICJzZWFyY2hqbCIsCiAgICAvLyAic3RhbmRhcmQiLCAvLyBleGNsdWRlZAogICAgInN0cm9rZSIsCiAgICAidHJhZCIsCiAgICAidW5paGFuIgpdOwoKLy8gdGhpcyBhc3N1bWVzIHRoZSBkZWZhdWx0IHZhbHVlcyB3aGVyZSB0aGUgc3BlY2lmaWNhdGlvbiBwcm92aWRlcyB0aGVtCm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibG9jYWxlIiwgaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAidXNhZ2UiLCBbInNvcnQiXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAic2Vuc2l0aXZpdHkiLCBbInZhcmlhbnQiXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiaWdub3JlUHVuY3R1YXRpb24iLCBbZmFsc2VdKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJjb2xsYXRpb24iLCBjb2xsYXRpb25zKTsKbWF5SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm51bWVyaWMiLCBbdHJ1ZSwgZmFsc2VdKTsKbWF5SGF2ZVByb3BlcnR5KGFjdHVhbCwgImNhc2VGaXJzdCIsIFsidXBwZXIiLCAibG93ZXIiLCAiZmFsc2UiXSk7Cgo=", "commentary":"", "description":"Tests that the object returned by Intl.Collator.prototype.resolvedOptions\n has the right properties.", "path":"TestCases/intl402/ch10/10.3/10.3.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==", "commentary":"", "description":"Tests that Intl.Collator.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.3/10.3.3_L15.js" }, { "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkNvbGxhdG9yLgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IKaWYgKEludGwuQ29sbGF0b3IucHJvdG90eXBlLmNvbXBhcmUoImHQsOOBguyVhCIsICJh0LDjgYLslYQiKSAhPT0gMCkgewogICAgJEVSUk9SKCJJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuQ29sbGF0b3IuIik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.Collator.prototype is an object that\nhas been initialized as an Intl.Collator.", "path":"TestCases/intl402/ch10/10.3/10.3_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlIGZ1bmN0aW9ucyB0aHJvdyBhCiAqICAgICBUeXBlRXJyb3IgaWYgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCB2YWx1ZSBvciBhbiBvYmplY3QgdGhhdCBoYXNuJ3QgYmVlbgogKiAgICAgaW5pdGlhbGl6ZWQgYXMgYSBDb2xsYXRvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZnVuY3Rpb25zID0gewogICAgImNvbXBhcmUgZ2V0dGVyIjogT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihJbnRsLkNvbGxhdG9yLnByb3RvdHlwZSwgImNvbXBhcmUiKS5nZXQsCiAgICByZXNvbHZlZE9wdGlvbnM6IEludGwuQ29sbGF0b3IucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwp9Owp2YXIgaW52YWxpZFRhcmdldHMgPSBbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAwLCAiQ29sbGF0b3IiLCBbXSwge31dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChmdW5jdGlvbk5hbWUpIHsKICAgIHZhciBmID0gZnVuY3Rpb25zW2Z1bmN0aW9uTmFtZV07CiAgICBpbnZhbGlkVGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgZi5jYWxsKHRhcmdldCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJDYWxsaW5nICIgKyBmdW5jdGlvbk5hbWUgKyAiIG9uICIgKyB0YXJnZXQgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Intl.Collator.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a Collator.", "path":"TestCases/intl402/ch10/10.3/10.3_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5Db2xsYXRvci5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJjb21wYXJlIiwgInJlc29sdmVkT3B0aW9ucyJdKTsKCg==", "commentary":"", "description":"Tests that Intl.Collator.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch10/10.3/10.3_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuQ29sbGF0b3IgaW5zdGFuY2VzIGhhdmUgdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBvYmogPSBuZXcgSW50bC5Db2xsYXRvcigpOwoKdmFyIHRvU3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsKaWYgKHRvU3RyaW5nVmFsdWUgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoIkludGwuQ29sbGF0b3IgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.Collator instances have the specified properties.", "path":"TestCases/intl402/ch10/10.4/10.4_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIE51bWJlckZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RXaXRoSW50bENvbnN0cnVjdG9ycyhmdW5jdGlvbiAoQ29uc3RydWN0b3IpIHsKICAgIHZhciBvYmosIGVycm9yOwogICAgCiAgICAvLyB2YXJpYW50IDE6IHVzZSBjb25zdHJ1Y3RvciBpbiBhICJuZXciIGV4cHJlc3Npb24KICAgIG9iaiA9IG5ldyBDb25zdHJ1Y3RvcigpOwogICAgdHJ5IHsKICAgICAgICBJbnRsLk51bWJlckZvcm1hdC5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIFwibmV3XCIgYXMgTnVtYmVyRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIE51bWJlckZvcm1hdCB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIC8vIHZhcmlhbnQgMjogdXNlIGNvbnN0cnVjdG9yIGFzIGEgZnVuY3Rpb24KICAgIG9iaiA9IENvbnN0cnVjdG9yLmNhbGwoe30pOwogICAgZXJyb3IgPSB1bmRlZmluZWQ7CiAgICB0cnkgewogICAgICAgIEludGwuTnVtYmVyRm9ybWF0LmNhbGwob2JqKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICRFUlJPUigiUmUtaW5pdGlhbGl6aW5nIG9iamVjdCBjcmVhdGVkIHdpdGggY29uc3RydWN0b3IgYXMgZnVuY3Rpb24gYXMgTnVtYmVyRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBOdW1iZXJGb3JtYXQgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgfQogICAgCiAgICByZXR1cm4gdHJ1ZTsKfSk7Cgo=", "commentary":"", "description":"Tests that an object can't be re-initialized as a NumberFormat.", "path":"TestCases/intl402/ch11/11.1/11.1.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gc3R5bGUgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5OdW1iZXJGb3JtYXQsICJzdHlsZSIsICJzdHJpbmciLCBbImRlY2ltYWwiLCAicGVyY2VudCIsICJjdXJyZW5jeSJdLCAiZGVjaW1hbCIsCiAgICAgICAge2V4dHJhOiB7ImN1cnJlbmN5Ijoge2N1cnJlbmN5OiAiQ05ZIn19fSk7Cgo=", "commentary":"", "description":"Tests that the option style is processed correctly.", "path":"TestCases/intl402/ch11/11.1/11.1.1_15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gY3VycmVuY3kgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgdmFsaWRWYWx1ZXMgPSBbIkNOWSIsICJVU0QiLCAiRVVSIiwgIklEUiIsICJqcHkiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtyZXR1cm4gIklOUiI7fX1dOwp2YXIgaW52YWxpZFZhbHVlcyA9IFsiJCIsICJTRnIuIiwgIlVTJCIsICLDn1AiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uICgpIHtyZXR1cm47fX1dOwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7Cgp2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgdmFyIGZvcm1hdCwgYWN0dWFsLCBleHBlY3RlZDsKCiAgICAvLyB3aXRoIGN1cnJlbmN5IHN0eWxlLCB3ZSBzaG91bGQgZ2V0IHRoZSB1cHBlciBjYXNlIGZvcm0gYmFjawogICAgZm9ybWF0ID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIGFjdHVhbCA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeTsKICAgIGV4cGVjdGVkID0gdmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpOwogICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICAgICAkRVJST1IoIkluY29ycmVjdCByZXNvbHZlZCBjdXJyZW5jeSB3aXRoIGN1cnJlbmN5IHN0eWxlIC0gZXhwZWN0ZWQgIiArCiAgICAgICAgICAgIGV4cGVjdGVkICsgIjsgZ290ICIgKyBhY3R1YWwgKyAiLiIpOwogICAgfQogICAgCiAgICAvLyB3aXRob3V0IGN1cnJlbmN5IHN0eWxlLCB3ZSBzaG91bGRuJ3QgZ2V0IGFueSBjdXJyZW5jeSBiYWNrCiAgICBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCkuY3VycmVuY3k7CiAgICBleHBlY3RlZCA9IHVuZGVmaW5lZDsKICAgIGlmIChhY3R1YWwgIT09IGV4cGVjdGVkKSB7CiAgICAgICAgJEVSUk9SKCJJbmNvcnJlY3QgcmVzb2x2ZWQgY3VycmVuY3kgd2l0aCBub24tY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9CiAgICAKICAgIC8vIGN1cnJlbmNpZXMgc3BlY2lmaWVkIHRocm91Z2ggdGhlIGxvY2FsZSBtdXN0IGJlIGlnbm9yZWQKICAgIGZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIGFjdHVhbCA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5jdXJyZW5jeTsKICAgIGV4cGVjdGVkID0gdmFsdWUudG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpOwogICAgaWYgKGFjdHVhbCAhPT0gZXhwZWN0ZWQpIHsKICAgICAgICAkRVJST1IoIkluY29ycmVjdCByZXNvbHZlZCBjdXJyZW5jeSB3aXRoIC11LWN1LSBhbmQgY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9CiAgICAKICAgIGZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge2N1cnJlbmN5OiB2YWx1ZX0pOwogICAgYWN0dWFsID0gZm9ybWF0LnJlc29sdmVkT3B0aW9ucygpLmN1cnJlbmN5OwogICAgZXhwZWN0ZWQgPSB1bmRlZmluZWQ7CiAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkgewogICAgICAgICRFUlJPUigiSW5jb3JyZWN0IHJlc29sdmVkIGN1cnJlbmN5IHdpdGggLXUtY3UtIGFuZCBub24tY3VycmVuY3kgc3R5bGUgLSBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWQgKyAiOyBnb3QgIiArIGFjdHVhbCArICIuIik7CiAgICB9Cn0pOwoKaW52YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgZnVuY3Rpb24gZXhwZWN0RXJyb3IoZikgewogICAgICAgIHZhciBlcnJvcjsKICAgICAgICB0cnkgewogICAgICAgICAgICBmKCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiSW52YWxpZCBjdXJyZW5jeSB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICAgICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSAiUmFuZ2VFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIHJlamVjdGVkIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgICAgIH0KICAgIH0KCiAgICBleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiB2YWx1ZX0pOwogICAgfSk7CiAgICBleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2RlZmF1bHRMb2NhbGVdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICB9KTsKICAgIGV4cGVjdEVycm9yKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogdmFsdWV9KTsKICAgIH0pOwogICAgZXhwZWN0RXJyb3IoZnVuY3Rpb24gKCkgewogICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlICsgIi11LWN1LWtydyJdLCB7Y3VycmVuY3k6IHZhbHVlfSk7CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that the option currency is processed correctly.", "path":"TestCases/intl402/ch11/11.1/11.1.1_17.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBjdXJyZW5jeSBzdHlsZSBjYW4gbm90IGJlIHVzZWQgd2l0aG91dCBhIHNwZWNpZmllZCBjdXJyZW5jeS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVmYXVsdExvY2FsZSA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKCmZ1bmN0aW9uIGV4cGVjdEVycm9yKGYpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgZigpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnZhbGlkIGN1cnJlbmN5IHZhbHVlICIgKyB2YWx1ZSArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAkRVJST1IoIkludmFsaWQgY3VycmVuY3kgdmFsdWUgIiArIHZhbHVlICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0KCmV4cGVjdEVycm9yKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KFtkZWZhdWx0TG9jYWxlXSwge3N0eWxlOiAiY3VycmVuY3kifSk7Cn0pOwpleHBlY3RFcnJvcihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChbZGVmYXVsdExvY2FsZSArICItdS1jdS1rcnciXSwge3N0eWxlOiAiY3VycmVuY3kifSk7Cn0pOwoK", "commentary":"", "description":"Tests that the currency style can not be used without a specified currency.", "path":"TestCases/intl402/ch11/11.1/11.1.1_19.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgbnVtYmVyIG9mIGZyYWN0aW9uYWwgZGlnaXRzIGlzIGRldGVybWluZWQgY29ycmVjdGx5IGZvciBjdXJyZW5jaWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCi8vIGRhdGEgZnJvbSBodHRwOi8vd3d3LmN1cnJlbmN5LWlzby5vcmcvZGxfaXNvX3RhYmxlX2ExLnhtbCwgMjAxMy0wMi0yNQp2YXIgY3VycmVuY3lEaWdpdHMgPSB7CiAgICBBRUQ6IDIsCiAgICBBRk46IDIsCiAgICBBTEw6IDIsCiAgICBBTUQ6IDIsCiAgICBBTkc6IDIsCiAgICBBT0E6IDIsCiAgICBBUlM6IDIsCiAgICBBVUQ6IDIsCiAgICBBV0c6IDIsCiAgICBBWk46IDIsCiAgICBCQU06IDIsCiAgICBCQkQ6IDIsCiAgICBCRFQ6IDIsCiAgICBCR046IDIsCiAgICBCSEQ6IDMsCiAgICBCSUY6IDAsCiAgICBCTUQ6IDIsCiAgICBCTkQ6IDIsCiAgICBCT0I6IDIsCiAgICBCT1Y6IDIsCiAgICBCUkw6IDIsCiAgICBCU0Q6IDIsCiAgICBCVE46IDIsCiAgICBCV1A6IDIsCiAgICBCWVI6IDAsCiAgICBCWkQ6IDIsCiAgICBDQUQ6IDIsCiAgICBDREY6IDIsCiAgICBDSEU6IDIsCiAgICBDSEY6IDIsCiAgICBDSFc6IDIsCiAgICBDTEY6IDAsCiAgICBDTFA6IDAsCiAgICBDTlk6IDIsCiAgICBDT1A6IDIsCiAgICBDT1U6IDIsCiAgICBDUkM6IDIsCiAgICBDVUM6IDIsCiAgICBDVVA6IDIsCiAgICBDVkU6IDIsCiAgICBDWks6IDIsCiAgICBESkY6IDAsCiAgICBES0s6IDIsCiAgICBET1A6IDIsCiAgICBEWkQ6IDIsCiAgICBFR1A6IDIsCiAgICBFUk46IDIsCiAgICBFVEI6IDIsCiAgICBFVVI6IDIsCiAgICBGSkQ6IDIsCiAgICBGS1A6IDIsCiAgICBHQlA6IDIsCiAgICBHRUw6IDIsCiAgICBHSFM6IDIsCiAgICBHSVA6IDIsCiAgICBHTUQ6IDIsCiAgICBHTkY6IDAsCiAgICBHVFE6IDIsCiAgICBHWUQ6IDIsCiAgICBIS0Q6IDIsCiAgICBITkw6IDIsCiAgICBIUks6IDIsCiAgICBIVEc6IDIsCiAgICBIVUY6IDIsCiAgICBJRFI6IDIsCiAgICBJTFM6IDIsCiAgICBJTlI6IDIsCiAgICBJUUQ6IDMsCiAgICBJUlI6IDIsCiAgICBJU0s6IDAsCiAgICBKTUQ6IDIsCiAgICBKT0Q6IDMsCiAgICBKUFk6IDAsCiAgICBLRVM6IDIsCiAgICBLR1M6IDIsCiAgICBLSFI6IDIsCiAgICBLTUY6IDAsCiAgICBLUFc6IDIsCiAgICBLUlc6IDAsCiAgICBLV0Q6IDMsCiAgICBLWUQ6IDIsCiAgICBLWlQ6IDIsCiAgICBMQUs6IDIsCiAgICBMQlA6IDIsCiAgICBMS1I6IDIsCiAgICBMUkQ6IDIsCiAgICBMU0w6IDIsCiAgICBMVEw6IDIsCiAgICBMVkw6IDIsCiAgICBMWUQ6IDMsCiAgICBNQUQ6IDIsCiAgICBNREw6IDIsCiAgICBNR0E6IDIsCiAgICBNS0Q6IDIsCiAgICBNTUs6IDIsCiAgICBNTlQ6IDIsCiAgICBNT1A6IDIsCiAgICBNUk86IDIsCiAgICBNVVI6IDIsCiAgICBNVlI6IDIsCiAgICBNV0s6IDIsCiAgICBNWE46IDIsCiAgICBNWFY6IDIsCiAgICBNWVI6IDIsCiAgICBNWk46IDIsCiAgICBOQUQ6IDIsCiAgICBOR046IDIsCiAgICBOSU86IDIsCiAgICBOT0s6IDIsCiAgICBOUFI6IDIsCiAgICBOWkQ6IDIsCiAgICBPTVI6IDMsCiAgICBQQUI6IDIsCiAgICBQRU46IDIsCiAgICBQR0s6IDIsCiAgICBQSFA6IDIsCiAgICBQS1I6IDIsCiAgICBQTE46IDIsCiAgICBQWUc6IDAsCiAgICBRQVI6IDIsCiAgICBST046IDIsCiAgICBSU0Q6IDIsCiAgICBSVUI6IDIsCiAgICBSV0Y6IDAsCiAgICBTQVI6IDIsCiAgICBTQkQ6IDIsCiAgICBTQ1I6IDIsCiAgICBTREc6IDIsCiAgICBTRUs6IDIsCiAgICBTR0Q6IDIsCiAgICBTSFA6IDIsCiAgICBTTEw6IDIsCiAgICBTT1M6IDIsCiAgICBTUkQ6IDIsCiAgICBTU1A6IDIsCiAgICBTVEQ6IDIsCiAgICBTVkM6IDIsCiAgICBTWVA6IDIsCiAgICBTWkw6IDIsCiAgICBUSEI6IDIsCiAgICBUSlM6IDIsCiAgICBUTVQ6IDIsCiAgICBUTkQ6IDMsCiAgICBUT1A6IDIsCiAgICBUUlk6IDIsCiAgICBUVEQ6IDIsCiAgICBUV0Q6IDIsCiAgICBUWlM6IDIsCiAgICBVQUg6IDIsCiAgICBVR1g6IDAsCiAgICBVU0Q6IDIsCiAgICBVU046IDIsCiAgICBVU1M6IDIsCiAgICBVWUk6IDAsCiAgICBVWVU6IDIsCiAgICBVWlM6IDIsCiAgICBWRUY6IDIsCiAgICBWTkQ6IDAsCiAgICBWVVY6IDAsCiAgICBXU1Q6IDIsCiAgICBYQUY6IDAsCiAgICBYQ0Q6IDIsCiAgICBYT0Y6IDAsCiAgICBYUEY6IDAsCiAgICBZRVI6IDIsCiAgICBaQVI6IDIsCiAgICBaTVc6IDIsCiAgICBaV0w6IDIKfTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGN1cnJlbmN5RGlnaXRzKS5mb3JFYWNoKGZ1bmN0aW9uIChjdXJyZW5jeSkgewogICAgdmFyIGRpZ2l0cyA9IGN1cnJlbmN5RGlnaXRzW2N1cnJlbmN5XTsKICAgIGZvcm1hdCA9IEludGwuTnVtYmVyRm9ybWF0KFtdLCB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiBjdXJyZW5jeX0pOwogICAgdmFyIG1pbiA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKS5taW5pbXVtRnJhY3Rpb25EaWdpdHM7CiAgICB2YXIgbWF4ID0gZm9ybWF0LnJlc29sdmVkT3B0aW9ucygpLm1heGltdW1GcmFjdGlvbkRpZ2l0czsKICAgIGlmIChtaW4gIT09IGRpZ2l0cykgewogICAgICAgICRFUlJPUigiRGlkbid0IGdldCBjb3JyZWN0IG1pbmltdW1GcmFjdGlvbkRpZ2l0cyBmb3IgY3VycmVuY3kgIiArCiAgICAgICAgICAgIGN1cnJlbmN5ICsgIjsgZXhwZWN0ZWQgIiArIGRpZ2l0cyArICIsIGdvdCAiICsgbWluICsgIi4iKTsKICAgIH0KICAgIGlmIChtYXggIT09IGRpZ2l0cykgewogICAgICAgICRFUlJPUigiRGlkbid0IGdldCBjb3JyZWN0IG1heGltdW1GcmFjdGlvbkRpZ2l0cyBmb3IgY3VycmVuY3kgIiArCiAgICAgICAgICAgIGN1cnJlbmN5ICsgIjsgZXhwZWN0ZWQgIiArIGRpZ2l0cyArICIsIGdvdCAiICsgbWF4ICsgIi4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that the number of fractional digits is determined correctly for currencies.", "path":"TestCases/intl402/ch11/11.1/11.1.1_20_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gY3VycmVuY3lEaXNwbGF5IGlzIHByb2Nlc3NlZCBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0T3B0aW9uKEludGwuTnVtYmVyRm9ybWF0LCAiY3VycmVuY3lEaXNwbGF5IiwgInN0cmluZyIsIFsiY29kZSIsICJzeW1ib2wiLCAibmFtZSJdLAogICAgInN5bWJvbCIsIHtleHRyYToge2FueToge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIlhEUiJ9fX0pOwp0ZXN0T3B0aW9uKEludGwuTnVtYmVyRm9ybWF0LCAiY3VycmVuY3lEaXNwbGF5IiwgInN0cmluZyIsIFsiY29kZSIsICJzeW1ib2wiLCAibmFtZSJdLAogICAgdW5kZWZpbmVkLCB7bm9SZXR1cm46IHRydWV9KTsKCg==", "commentary":"", "description":"Tests that the option currencyDisplay is processed correctly.", "path":"TestCases/intl402/ch11/11.1/11.1.1_21.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIG1pbmltdW1TaWduaWZpY2FudERpZ2l0cyBhbmQKICogICAgIG1heGltdW1TaWduaWZpY2FudERpZ2l0cyBhcmUgcmVhZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHJlYWQgPSAwOwoKZnVuY3Rpb24gcmVhZE1pbmltdW1TaWduaWZpY2FudERpZ2l0cygpIHsKICAgICsrcmVhZDsKICAgIGlmIChyZWFkID09PSAxKSB7CiAgICAgICAgcmV0dXJuIDA7IC8vIGludmFsaWQgdmFsdWUsIGJ1dCBvbiBmaXJzdCByZWFkIHRoYXQncyBPSwogICAgfSBlbHNlIGlmIChyZWFkID09PSAzKSB7CiAgICAgICAgcmV0dXJuIDE7IC8vIHZhbGlkIHZhbHVlCiAgICB9IGVsc2UgewogICAgICAgICRFUlJPUigibWluaW11bVNpZ25pZmljYW50RGlnaXRzIHJlYWQgb3V0IG9mIHNlcXVlbmNlOiAiICsgcmVhZCArICIuIik7CiAgICB9Cn0KCmZ1bmN0aW9uIHJlYWRNYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMoKSB7CiAgICArK3JlYWQ7CiAgICBpZiAocmVhZCA9PT0gMikgewogICAgICAgIHJldHVybiAwOyAvLyBpbnZhbGlkIHZhbHVlLCBidXQgb24gZmlyc3QgcmVhZCB0aGF0J3MgT0sKICAgIH0gZWxzZSBpZiAocmVhZCA9PT0gNCkgewogICAgICAgIHJldHVybiAxOyAvLyB2YWxpZCB2YWx1ZQogICAgfSBlbHNlIHsKICAgICAgICAkRVJST1IoIm1heGltdW1TaWduaWZpY2FudERpZ2l0cyByZWFkIG91dCBvZiBzZXF1ZW5jZTogIiArIHJlYWQgKyAiLiIpOwogICAgfQp9Cgp2YXIgb3B0aW9ucyA9IHt9OwpPYmplY3QuZGVmaW5lUHJvcGVydHkob3B0aW9ucywgIm1pbmltdW1TaWduaWZpY2FudERpZ2l0cyIsCiAgICB7IGdldDogcmVhZE1pbmltdW1TaWduaWZpY2FudERpZ2l0cyB9KTsKT2JqZWN0LmRlZmluZVByb3BlcnR5KG9wdGlvbnMsICJtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMiLAogICAgeyBnZXQ6IHJlYWRNYXhpbXVtU2lnbmlmaWNhbnREaWdpdHMgfSk7CgpuZXcgSW50bC5OdW1iZXJGb3JtYXQoImRlIiwgb3B0aW9ucyk7CgppZiAocmVhZCAhPT0gNCkgewogICAgJEVSUk9SKCJpbnN1ZmZpZW50IG51bWJlciBvZiBwcm9wZXJ0eSByZWFkczogIiArIHJlYWQgKyAiLiIpOwp9Cg==", "commentary":"", "description":"Tests that the options minimumSignificantDigits and\n maximumSignificantDigits are read in the right sequence.", "path":"TestCases/intl402/ch11/11.1/11.1.1_32.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gdXNlR3JvdXBpbmcgaXMgcHJvY2Vzc2VkIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RPcHRpb24oSW50bC5OdW1iZXJGb3JtYXQsICJ1c2VHcm91cGluZyIsICJib29sZWFuIiwgdW5kZWZpbmVkLCB0cnVlKTsKCg==", "commentary":"", "description":"Tests that the option useGrouping is processed correctly.", "path":"TestCases/intl402/ch11/11.1/11.1.1_34.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KHVuZGVmaW5lZCwge2xvY2FsZU1hdGNoZXI6ICJsb29rdXAifSkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwppZiAoIWlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcobG9jYWxlKSkgewogICAgJEVSUk9SKCJOdW1iZXJGb3JtYXQgcmV0dXJucyBpbnZhbGlkIGxvY2FsZSAiICsgbG9jYWxlICsgIi4iKTsKfQoK", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch11/11.1/11.1.1_6.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLk51bWJlckZvcm1hdCwgImxvY2FsZU1hdGNoZXIiLCAic3RyaW5nIiwgWyJsb29rdXAiLCAiYmVzdCBmaXQiXSwgImJlc3QgZml0Iiwge25vUmV0dXJuOiB0cnVlfSk7Cgo=", "commentary":"", "description":"Tests that the option localeMatcher is processed correctly.", "path":"TestCases/intl402/ch11/11.1/11.1.1_7.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNvbnN0cnVjdGluZyBhIE51bWJlckZvcm1hdCBkb2Vzbid0IGNyZWF0ZSBvciBtb2RpZnkKICogICAgIHVud2FudGVkIHByb3BlcnRpZXMgb24gdGhlIFJlZ0V4cCBjb25zdHJ1Y3Rvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRlc3RGb3JVbndhbnRlZFJlZ0V4cENoYW5nZXMoZnVuY3Rpb24gKCkgewogICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KCJkZS1ERS11LW51LWxhdG4iKTsKfSk7Cgp0ZXN0Rm9yVW53YW50ZWRSZWdFeHBDaGFuZ2VzKGZ1bmN0aW9uICgpIHsKICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZGUtREUtdS1udS1sYXRuIiwge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkVVUiJ9KTsKfSk7Cg==", "commentary":"", "description":"Tests that constructing a NumberFormat doesn't create or modify\n unwanted properties on the RegExp constructor.", "path":"TestCases/intl402/ch11/11.1/11.1.1_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvciBub24tb2JqZWN0IHZhbHVlcyBwYXNzZWQgYXMgdGhpcyB0byBOdW1iZXJGb3JtYXQgYQogKiB3cmFwcGVyIG9iamVjdCB3aWxsIGJlIGluaXRpYWxpemVkIGFuZCByZXR1cm5lZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgdGhpc1ZhbHVlcyA9IFt0cnVlLCA0MiwgIuWbvemam+WMliJdOwoKdGhpc1ZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgdmFyIGZvcm1hdCA9IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodmFsdWUpOwogICAgLy8gY2hlY2sgdGhhdCB0aGUgcmV0dXJuZWQgb2JqZWN0IGZ1bmN0aW9ucyBhcyBhIG51bWJlciBmb3JtYXQKICAgIHZhciByZWZlcmVuY2VGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKTsKICAgIGlmIChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0LmNhbGwoZm9ybWF0LCAxMi4zNDU2KSAhPT0gcmVmZXJlbmNlRm9ybWF0LmZvcm1hdCgxMi4zNDU2KSkgewogICAgICAgICRFUlJPUigiTnVtYmVyRm9ybWF0IGluaXRpYWxpemVkIGZyb20gIiArIHZhbHVlICsgIiBkb2Vzbid0IGJlaGF2ZSBsaWtlIG5vcm1hbCBudW1iZXIgZm9ybWF0LiIpOwogICAgfQogICAgcmV0dXJuIHRydWU7Cn0pOwoK", "commentary":"", "description":"Tests that for non-object values passed as this to NumberFormat a\nwrapper object will be initialized and returned.", "path":"TestCases/intl402/ch11/11.1/11.1.2.1_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdCBjYW4gYmUgc3ViY2xhc3NlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCi8vIGdldCBhIG51bWJlciBmb3JtYXQgYW5kIGhhdmUgaXQgZm9ybWF0IGFuIGFycmF5IG9mIG51bWJlcnMgZm9yIGNvbXBhcmlzb24gd2l0aCB0aGUgc3ViY2xhc3MKdmFyIGxvY2FsZXMgPSBbInRsaCIsICJpZCIsICJlbiJdOwp2YXIgYSA9IFswLCAxLCAtMSwgLTEyMzQ1Ni43ODksIC1JbmZpbml0eSwgTmFOXTsKdmFyIHJlZmVyZW5jZU51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IGEubWFwKHJlZmVyZW5jZU51bWJlckZvcm1hdC5mb3JtYXQpOwoKZnVuY3Rpb24gTXlOdW1iZXJGb3JtYXQobG9jYWxlcywgb3B0aW9ucykgewogICAgSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBsb2NhbGVzLCBvcHRpb25zKTsKICAgIC8vIGNvdWxkIGluaXRpYWxpemUgTXlOdW1iZXJGb3JtYXQgcHJvcGVydGllcwp9CgpNeU51bWJlckZvcm1hdC5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSk7Ck15TnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IE15TnVtYmVyRm9ybWF0OwovLyBjb3VsZCBhZGQgbWV0aG9kcyB0byBNeU51bWJlckZvcm1hdC5wcm90b3R5cGUKCnZhciBmb3JtYXQgPSBuZXcgTXlOdW1iZXJGb3JtYXQobG9jYWxlcyk7CnZhciBhY3R1YWwgPSBhLm1hcChmb3JtYXQuZm9ybWF0KTsKdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBhY3R1YWwpOwoK", "commentary":"", "description":"Tests that Intl.NumberFormat can be subclassed.", "path":"TestCases/intl402/ch11/11.1/11.1.2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5OdW1iZXJGb3JtYXQgaGF2ZSB0aGUgc3BlY2lmaWVkIGludGVybmFsIHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIG9iaiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwoKdmFyIGFjdHVhbFByb3RvdHlwZSA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopOwppZiAoYWN0dWFsUHJvdG90eXBlICE9PSBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLk51bWJlckZvcm1hdCBpc24ndCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGU7IGdvdCAiICsgYWN0dWFsUHJvdG90eXBlKTsKfQoKaWYgKCFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaikpIHsKICAgICRFUlJPUigiT2JqZWN0IGNvbnN0cnVjdGVkIGJ5IEludGwuTnVtYmVyRm9ybWF0IG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK", "commentary":"", "description":"Tests that objects constructed by Intl.NumberFormat have the specified internal properties.", "path":"TestCases/intl402/ch11/11.1/11.1.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5OdW1iZXJGb3JtYXQsIHRydWUsIHRydWUsIFsic3VwcG9ydGVkTG9jYWxlc09mIl0sIDApOwoK", "commentary":"", "description":"Tests that Intl.NumberFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.1/11.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBoYXMgdGhlIHJlcXVpcmVkIGF0dHJpYnV0ZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LCAicHJvdG90eXBlIik7CmlmIChkZXNjID09PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUigiSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBtdXN0IG5vdCBiZSB3cml0YWJsZS4iKTsKfQppZiAoZGVzYy5lbnVtZXJhYmxlKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBtdXN0IG5vdCBiZSBlbnVtZXJhYmxlLiIpOwp9CmlmIChkZXNjLmNvbmZpZ3VyYWJsZSkgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype has the required attributes.", "path":"TestCases/intl402/ch11/11.2/11.2.1.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdCBoYXMgYSBzdXBwb3J0ZWRMb2NhbGVzT2YKICogcHJvcGVydHksIGFuZCBpdCB3b3JrcyBhcyBwbGFubmVkLgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCnZhciBkZWZhdWx0TG9jYWxlID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlOwp2YXIgbm90U3VwcG9ydGVkID0gJ3p4eCc7IC8vICJubyBsaW5ndWlzdGljIGNvbnRlbnQiCnZhciByZXF1ZXN0ZWRMb2NhbGVzID0gW2RlZmF1bHRMb2NhbGUsIG5vdFN1cHBvcnRlZF07CiAgICAKdmFyIHN1cHBvcnRlZExvY2FsZXM7CgppZiAoIUludGwuTnVtYmVyRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCBkb2Vzbid0IGhhdmUgYSBzdXBwb3J0ZWRMb2NhbGVzT2YgcHJvcGVydHkuIik7Cn0KICAgIApzdXBwb3J0ZWRMb2NhbGVzID0gSW50bC5OdW1iZXJGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKHJlcXVlc3RlZExvY2FsZXMpOwppZiAoc3VwcG9ydGVkTG9jYWxlcy5sZW5ndGggIT09IDEpIHsKICAgICRFUlJPUignVGhlIGxlbmd0aCBvZiBzdXBwb3J0ZWQgbG9jYWxlcyBsaXN0IGlzIG5vdCAxLicpOwp9CiAgICAKaWYgKHN1cHBvcnRlZExvY2FsZXNbMF0gIT09IGRlZmF1bHRMb2NhbGUpIHsKICAgICRFUlJPUignVGhlIGRlZmF1bHQgbG9jYWxlIGlzIG5vdCByZXR1cm5lZCBpbiB0aGUgc3VwcG9ydGVkIGxpc3QuJyk7Cn0KCg==", "commentary":"", "description":"Tests that Intl.NumberFormat has a supportedLocalesOf\nproperty, and it works as planned.", "path":"TestCases/intl402/ch11/11.2/11.2.2_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZgogKiAgICAgZG9lc24ndCBhY2Nlc3MgYXJndW1lbnRzIHRoYXQgaXQncyBub3QgZ2l2ZW4uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0YWludERhdGFQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIpOwpuZXcgSW50bC5OdW1iZXJGb3JtYXQoInVuZCIpOwo=", "commentary":"", "description":"Tests that Intl.NumberFormat.supportedLocalesOf\n doesn't access arguments that it's not given.", "path":"TestCases/intl402/ch11/11.2/11.2.2_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZgogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZiwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==", "commentary":"", "description":"Tests that Intl.NumberFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.2/11.2.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0IGRvZXMgbm90IGFjY2VwdCBVbmljb2RlIGxvY2FsZQogKiAgICAgZXh0ZW5zaW9uIGtleXMgYW5kIHZhbHVlcyB0aGF0IGFyZSBub3QgYWxsb3dlZC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBsb2NhbGVzID0gWyJqYS1KUCIsICJ6aC1IYW5zLUNOIiwgInpoLUhhbnQtVFciXTsKdmFyIGlucHV0ID0gMTIzNDU2Ny44OTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgZGVmYXVsdE51bWJlckZvcm1hdCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChbbG9jYWxlXSk7CiAgICB2YXIgZGVmYXVsdE9wdGlvbnMgPSBkZWZhdWx0TnVtYmVyRm9ybWF0LnJlc29sdmVkT3B0aW9ucygpOwogICAgdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gZGVmYXVsdE9wdGlvbnMubG9jYWxlOwogICAgdmFyIGRlZmF1bHRGb3JtYXR0ZWQgPSBkZWZhdWx0TnVtYmVyRm9ybWF0LmZvcm1hdChpbnB1dCk7CgogICAgdmFyIGtleVZhbHVlcyA9IHsKICAgICAgICAiY3UiOiBbIlVTRCIsICJFVVIiLCAiSlBZIiwgIkNOWSIsICJUV0QiLCAiaW52YWxpZCJdLAogICAgICAgICJudSI6IFsibmF0aXZlIiwgInRyYWRpdGlvIiwgImZpbmFuY2UiLCAiaW52YWxpZCJdCiAgICB9OwogICAgCiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhrZXlWYWx1ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkgewogICAgICAgIGtleVZhbHVlc1trZXldLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgICAgIHZhciBudW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW2xvY2FsZSArICItdS0iICsga2V5ICsgIi0iICsgdmFsdWVdKTsKICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBudW1iZXJGb3JtYXQucmVzb2x2ZWRPcHRpb25zKCk7CiAgICAgICAgICAgIGlmIChvcHRpb25zLmxvY2FsZSAhPT0gZGVmYXVsdExvY2FsZSkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJMb2NhbGUgIiArIG9wdGlvbnMubG9jYWxlICsgIiBpcyBhZmZlY3RlZCBieSBrZXkgIiArCiAgICAgICAgICAgICAgICBrZXkgKyAiOyB2YWx1ZSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShvcHRpb25zKSAhPT0gZGVmYXVsdE9wdGlvbnNKU09OKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIlJlc29sdmVkIG9wdGlvbnMgIiArIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIiBhcmUgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoZGVmYXVsdEZvcm1hdHRlZCAhPT0gbnVtYmVyRm9ybWF0LmZvcm1hdChpbnB1dCkpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiRm9ybWF0dGVkIHZhbHVlICIgKyBudW1iZXJGb3JtYXQuZm9ybWF0KGlucHV0KSArICIgaXMgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that Intl.NumberFormat does not accept Unicode locale\n extension keys and values that are not allowed.", "path":"TestCases/intl402/ch11/11.2/11.2.3_b.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlCiAqIEludGwuTnVtYmVyRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCmlmIChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuTnVtYmVyRm9ybWF0KSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyBub3QgdGhlIHNhbWUgYXMgIiArCiAgICAgICAgICAiSW50bC5OdW1iZXJGb3JtYXQiKTsKfQoK", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.constructor is the\nIntl.NumberFormat.", "path":"TestCases/intl402/ch11/11.3/11.3.1.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGNvbnZlcnRzIG90aGVyIHR5cGVzIHRvIG51bWJlcnMuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgdGVzdERhdGEgPSBbdW5kZWZpbmVkLCBudWxsLCB0cnVlLCAnMC42NjY2NjY2Jywge3ZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwLjEyMzQ1NjcnO319XTsKdmFyIG51bWJlcjsKdmFyIGksIGlucHV0LCBjb3JyZWN0UmVzdWx0LCByZXN1bHQ7Cgpmb3IgKGkgaW4gdGVzdERhdGEpIHsKICAgIGlucHV0ID0gdGVzdERhdGFbaV07CiAgICBudW1iZXIgPSAraW5wdXQ7CiAgICBjb3JyZWN0UmVzdWx0ID0gZm9ybWF0dGVyLmZvcm1hdChudW1iZXIpOwogICAgCiAgICByZXN1bHQgPSBmb3JtYXR0ZXIuZm9ybWF0KGlucHV0KTsKICAgIGlmIChyZXN1bHQgIT09IGNvcnJlY3RSZXN1bHQpIHsKICAgICAgICAkRVJST1IoJ0ludGwuTnVtYmVyRm9ybWF0IGRvZXMgbm90IGNvbnZlcnQgb3RoZXIgJyArCiAgICAgICAgICAgICd0eXBlcyB0byBudW1iZXJzLiBJbnB1dDogIicraW5wdXQrJyIgT3V0cHV0OiAiJytyZXN1bHQrJyIgJysKICAgICAgICAgICAgJ0V4cGVjdGVkIG91dHB1dDogIicrY29ycmVjdFJlc3VsdCsnIicpOwogICAgfQp9Cgo=", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.format\nconverts other types to numbers.", "path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_ii.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QobmV3IEludGwuTnVtYmVyRm9ybWF0KCkuZm9ybWF0LCB0cnVlLCBmYWxzZSwgW10sIDEpOwoK", "commentary":"", "description":"Tests that the function returned by Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.3/11.3.2_1_a_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBmdW5jdGlvbiBpcyBib3VuZCB0byBpdHMgSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgbnVtYmVycyA9IFswLCAtMCwgMSwgLTEsIDUuNSwgMTIzLCAtMTIzLCAtMTIzLjQ1LCAxMjMuNDQ1MDEsIDAuMDAxMjM0LAogICAgLTAuMDAwMDAwMDAxMjMsIDAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjMsIDEuMiwgMC4wMDAwMDAwMDEyMzQ0NTAxLAogICAgMTIzNDQ1LjAxLCAxMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCwgLTEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLAogICAgSW5maW5pdHksIC1JbmZpbml0eSwgTmFOXTsKdmFyIGxvY2FsZXMgPSBbdW5kZWZpbmVkLCBbImRlIl0sIFsidGgtdS1udS10aGFpIl0sIFsiZW4iXSwgWyJqYS11LW51LWpwYW5maW4iXSwgWyJhci11LW51LWFyYWIiXV07CnZhciBvcHRpb25zID0gWwogICAgdW5kZWZpbmVkLAogICAge3N0eWxlOiAicGVyY2VudCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkVVUiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIklRRCIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIktNRiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3N0eWxlOiAiY3VycmVuY3kiLCBjdXJyZW5jeTogIkNMRiIsIGN1cnJlbmN5RGlzcGxheTogInN5bWJvbCJ9LAogICAge3VzZUdyb3VwaW5nOiBmYWxzZSwgbWluaW11bUludGVnZXJEaWdpdHM6IDMsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMSwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzfQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGVzKSB7CiAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICB2YXIgZm9ybWF0T2JqID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpOwogICAgICAgIHZhciBmb3JtYXRGdW5jID0gZm9ybWF0T2JqLmZvcm1hdDsKICAgICAgICBudW1iZXJzLmZvckVhY2goZnVuY3Rpb24gKG51bWJlcikgewogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZm9ybWF0T2JqLmZvcm1hdChudW1iZXIpOwogICAgICAgICAgICB2YXIgZm9ybWF0dGVkID0gZm9ybWF0RnVuYyhudW1iZXIpOwogICAgICAgICAgICBpZiAocmVmZXJlbmNlRm9ybWF0dGVkICE9PSBmb3JtYXR0ZWQpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiZm9ybWF0IGZ1bmN0aW9uIHByb2R1Y2VzIGRpZmZlcmVudCByZXN1bHQgdGhhbiBmb3JtYXQgbWV0aG9kIGZvciBsb2NhbGVzICIgKwogICAgICAgICAgICAgICAgICAgIGxvY2FsZXMgKyAiOyBvcHRpb25zOiAiICsgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsKICAgICAgICAgICAgICAgICAgICAiIDogIiArIGZvcm1hdHRlZCArICIgdnMuICIgKyByZWZlcmVuY2VGb3JtYXR0ZWQgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that format function is bound to its Intl.NumberFormat.", "path":"TestCases/intl402/ch11/11.3/11.3.2_1_c.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGRvZXNuJ3QgdHJlYXQgYWxsIG51bWJlcnMgYXMgbmVnYXRpdmUuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwogIAppZiAoZm9ybWF0dGVyLmZvcm1hdCgxKSA9PT0gZm9ybWF0dGVyLmZvcm1hdCgtMSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgaXMgZm9ybWF0dGluZyAxIGFuZCAtMSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZXIuZm9ybWF0KC0wKSAhPT0gZm9ybWF0dGVyLmZvcm1hdCgwKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIHNpZ25lZCB6ZXJvcyBkaWZmZXJlbnRseS4nKTsKfQoK", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.format\ndoesn't treat all numbers as negative.", "path":"TestCases/intl402/ch11/11.3/11.3.2_FN_1.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGhhbmRsZXMgTmFOLCBJbmZpbml0eSwgYW5kIC1JbmZpbml0eSBwcm9wZXJseS4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgovLyBGSVhNRTogV2UgYXJlIG9ubHkgbGlzdGluZyBOdW1lcmljX1R5cGU9RGVjaW1hbC4gTWF5IG5lZWQgdG8gYWRkIG1vcmUKLy8gd2hlbiB0aGUgc3BlYyBjbGFyaWZpZXMuIEN1cnJlbnQgYXMgb2YgVW5pY29kZSA2LjEuCnZhciBoYXNVbmljb2RlRGlnaXRzID0gbmV3IFJlZ0V4cCgnLiooWycgKwogICAgJzAtOVx1MDY2MC1cdTA2NjlcdTA2RjAtXHUwNkY5XHUwN0MwLVx1MDdDOVx1MDk2Ni1cdTA5NkYnICsKICAgICdcdTA5RTYtXHUwOUVGXHUwQTY2LVx1MEE2Rlx1MEFFNi1cdTBBRUZcdTBCNjYtXHUwQjZGXHUwQkU2LVx1MEJFRicgKwogICAgJ1x1MEM2Ni1cdTBDNkZcdTBDRTYtXHUwQ0VGXHUwRDY2LVx1MEQ2Rlx1MEU1MC1cdTBFNTlcdTBFRDAtXHUwRUQ5JyArCiAgICAnXHUwRjIwLVx1MEYyOVx1MTA0MC1cdTEwNDlcdTEwOTAtXHUxMDk5XHUxN0UwLVx1MTdFOVx1MTgxMC1cdTE4MTknICsKICAgICdcdTE5NDYtXHUxOTRGXHUxOUQwLVx1MTlEOVx1MUE4MC1cdTFBODlcdTFBOTAtXHUxQTk5XHUxQjUwLVx1MUI1OScgKwogICAgJ1x1MUJCMC1cdTFCQjlcdTFDNDAtXHUxQzQ5XHUxQzUwLVx1MUM1OVx1QTYyMC1cdUE2MjlcdUE4RDAtXHVBOEQ5JyArCiAgICAnXHVBOTAwLVx1QTkwOVx1QTlEMC1cdUE5RDlcdUFBNTAtXHVBQTU5XHVBQkYwLVx1QUJGOVx1RkYxMC1cdUZGMTknICsKICAgICddfCcgKwogICAgJ1x1RDgwMVtcdURDQTAtXHVEQ0E5XXwnICsKICAgICdcdUQ4MDRbXHVEQzY2LVx1REM2Rlx1RENGMC1cdURDRjlcdUREMzYtXHVERDNGXHVEREQwLVx1REREOV18JyArCiAgICAnXHVEODA1W1x1REVDMC1cdURFQzldfCcgKwogICAgJ1x1RDgzNVtcdURGQ0UtXHVERkZGXSknKTsKCnZhciBmb3JtYXR0ZXIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKTsKdmFyIGZvcm1hdHRlZE5hTiA9IGZvcm1hdHRlci5mb3JtYXQoTmFOKTsKdmFyIGZvcm1hdHRlZEluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdChJbmZpbml0eSk7CnZhciBmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5ID0gZm9ybWF0dGVyLmZvcm1hdCgtSW5maW5pdHkpOwoKaWYgKGZvcm1hdHRlZE5hTiA9PT0gZm9ybWF0dGVkSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIEluZmluaXR5IHRoZSAnICsKICAgICAgICAnc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWROYU4gPT09IGZvcm1hdHRlZE5lZ2F0aXZlSW5maW5pdHkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gYW5kIG5lZ2F0aXZlICcgKwogICAgICAgICdJbmZpbml0eSB0aGUgc2FtZSB3YXkuJyk7Cn0KCmlmIChmb3JtYXR0ZWRJbmZpbml0eSA9PT0gZm9ybWF0dGVkTmVnYXRpdmVJbmZpbml0eSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIEluZmluaXR5IGFuZCAnICsKICAgICAgICAnbmVnYXRpdmUgSW5maW5pdHkgdGhlIHNhbWUgd2F5LicpOwp9CgppZiAoaGFzVW5pY29kZURpZ2l0cy50ZXN0KGZvcm1hdHRlZE5hTikpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBOYU4gdXNpbmcgYSBkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWRJbmZpbml0eSkpIHsKICAgICRFUlJPUignSW50bC5OdW1iZXJGb3JtYXQgZm9ybWF0cyBJbmZpbml0eSB1c2luZyBhICcgKwogICAgICAgICdkaWdpdC4nKTsKfQoKaWYgKGhhc1VuaWNvZGVEaWdpdHMudGVzdChmb3JtYXR0ZWROZWdhdGl2ZUluZmluaXR5KSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBmb3JtYXRzIG5lZ2F0aXZlIEluZmluaXR5ICcgKyAKICAgICAgICAndXNpbmcgYSBkaWdpdC4nKTsKfQoK", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.format\nhandles NaN, Infinity, and -Infinity properly.", "path":"TestCases/intl402/ch11/11.3/11.3.2_FN_2.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIGZvcm1hdHMgcGVyY2VudCB2YWx1ZXMgcHJvcGVybHkuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIG51bWJlckZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpOwp2YXIgcGVyY2VudEZvcm1hdHRlciA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCh1bmRlZmluZWQsIHtzdHlsZTogJ3BlcmNlbnQnfSk7Cgp2YXIgZm9ybWF0dGVkVHdlbnR5ID0gbnVtYmVyRm9ybWF0dGVyLmZvcm1hdCgyMCk7CnZhciBmb3JtYXR0ZWRUd2VudHlQZXJjZW50ID0gcGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4yMCk7CgovLyBGSVhNRTogTWF5IG5vdCB3b3JrIGZvciBzb21lIHRoZW9yZXRpY2FsIGxvY2FsZXMgd2hlcmUgcGVyY2VudHMgYW5kCi8vIG5vcm1hbCBudW1iZXJzIGFyZSBmb3JtYXR0ZWQgdXNpbmcgZGlmZmVyZW50IG51bWJlcmluZyBzeXN0ZW1zLgppZiAoZm9ybWF0dGVkVHdlbnR5UGVyY2VudC5pbmRleE9mKGZvcm1hdHRlZFR3ZW50eSkgPT09IC0xKSB7CiAgICAkRVJST1IoIkludGwuTnVtYmVyRm9ybWF0J3MgZm9ybWF0dGluZyBvZiAyMCUgZG9lcyBub3QgaW5jbHVkZSBhICIgKwogICAgICAgICJmb3JtYXR0aW5nIG9mIDIwIGFzIGEgc3Vic3RyaW5nLiIpOwp9CgovLyBGSVhNRTogTW92ZSB0aGlzIHRvIHNvbWV3aGVyZSBhcHByb3ByaWF0ZQppZiAocGVyY2VudEZvcm1hdHRlci5mb3JtYXQoMC4wMTEpID09PSBwZXJjZW50Rm9ybWF0dGVyLmZvcm1hdCgwLjAyKSkgewogICAgJEVSUk9SKCdJbnRsLk51bWJlckZvcm1hdCBpcyBmb3JtYXR0aW5nIDEuMSUgYW5kIDIlIHRoZSBzYW1lIHdheS4nKTsKfQoK", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.format\nformats percent values properly.", "path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_b.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0CiAqIHN1cHBvcnRzIGFsbCBhbHRlcm5hdGl2ZSBudW1iZXJpbmcgc3lzdGVtcy4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgp2YXIgbnVtYmVyaW5nU3lzdGVtcyA9IHsKICAgIGFyYWI6IDB4MDY2MCwKICAgIGFyYWJleHQ6IDB4MDZGMCwKICAgIGJlbmc6IDB4MDlFNiwKICAgIGRldmE6IDB4MDk2NiwKICAgIGZ1bGx3aWRlOiAweEZGMTAsCiAgICBndWpyOiAweDBBRTYsCiAgICBndXJ1OiAweDBBNjYsCiAgICBoYW5pZGVjOiBbMHgzMDA3LCAweDRFMDAsIDB4NEU4QywgMHg0RTA5LCAweDU2REIsCiAgICAgICAgICAgICAgMHg0RTk0LCAweDUxNkQsIDB4NEUwMywgMHg1MTZCLCAweDRFNURdLAogICAga2htcjogMHgxN0UwLAogICAga25kYTogMHgwQ0U2LAogICAgbGFvbzogMHgwRUQwLAogICAgbGF0bjogMHgwMDMwLAogICAgbWx5bTogMHgwRDY2LAogICAgbW9uZzogMHgxODEwLAogICAgbXltcjogMHgxMDQwLAogICAgb3J5YTogMHgwQjY2LAogICAgdGFtbGRlYzogMHgwQkU2LAogICAgdGVsdTogMHgwQzY2LAogICAgdGhhaTogMHgwRTUwLAogICAgdGlidDogMHgwRjIwCn07Cgp2YXIgb3B0aW9ucywgZm9ybWF0dGVyOwp2YXIgcywgemVyb0NvZGUsIGRpZ2l0TGlzdDsKCmZvciAocyBpbiBudW1iZXJpbmdTeXN0ZW1zKSB7CiAgICB6ZXJvQ29kZSA9IG51bWJlcmluZ1N5c3RlbXNbc107CiAgICBpZiAodHlwZW9mIHplcm9Db2RlID09PSAnbnVtYmVyJykgewogICAgICAgIGRpZ2l0TGlzdCA9IFt6ZXJvQ29kZSwgemVyb0NvZGUrMSwgemVyb0NvZGUrMiwgemVyb0NvZGUrMywgemVyb0NvZGUrNCwKICAgICAgICAgICAgICAgICAgIHplcm9Db2RlKzUsIHplcm9Db2RlKzYsIHplcm9Db2RlKzcsIHplcm9Db2RlKzgsIHplcm9Db2RlKzldOwogICAgICAgIG51bWJlcmluZ1N5c3RlbXNbc10gPSBkaWdpdExpc3Q7CiAgICB9Cn0KCi8vIEZJWE1FOiBVbmZpbmlzaGVkCgo=", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.format\nsupports all alternative numbering systems.", "path":"TestCases/intl402/ch11/11.3/11.3.2_FN_3_e.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgImZvcm1hdCIpLmdldCAsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=", "commentary":"", "description":"Tests that the getter for Intl.NumberFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.3/11.3.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgZGlnaXRzIGFyZSBkZXRlcm1pbmVkIGNvcnJlY3RseSB3aGVuIHNwZWNpZnlpbmcgcHJlL3Bvc3QgZGVjaW1hbCBkaWdpdHMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgbG9jYWxlcyA9IFsKICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZSwKICAgICJhciIsICJkZSIsICJ0aCIsICJqYSIKXTsKdmFyIG51bWJlcmluZ1N5c3RlbXMgPSBbCiAgICAiYXJhYiIsCiAgICAibGF0biIsCiAgICAidGhhaSIsCiAgICAiaGFuaWRlYyIKXTsKdmFyIHRlc3REYXRhID0gewogICAgIjAiOiAiMDAwLjAiLAogICAgIi0wIjogIjAwMC4wIiwKICAgICIxMjMiOiAiMTIzLjAiLAogICAgIi0xMjMiOiAiLTEyMy4wIiwKICAgICIxMjM0NSI6ICIxMjM0NS4wIiwKICAgICItMTIzNDUiOiAiLTEyMzQ1LjAiLAogICAgIjEyMy40NSI6ICIxMjMuNDUiLAogICAgIi0xMjMuNDUiOiAiLTEyMy40NSIsCiAgICAiMTIzLjQ0NDQ5OSI6ICIxMjMuNDQ0IiwKICAgICItMTIzLjQ0NDQ5OSI6ICItMTIzLjQ0NCIsCiAgICAiMTIzLjQ0NDUwMCI6ICIxMjMuNDQ1IiwKICAgICItMTIzLjQ0NDUwMCI6ICItMTIzLjQ0NSIsCiAgICAiMTIzLjQ0NTAxIjogIjEyMy40NDUiLAogICAgIi0xMjMuNDQ1MDEiOiAiLTEyMy40NDUiLAogICAgIjAuMDAxMjM0IjogIjAwMC4wMDEiLAogICAgIi0wLjAwMTIzNCI6ICItMDAwLjAwMSIsCiAgICAiMC4wMDAwMDAwMDEyMyI6ICIwMDAuMCIsCiAgICAiLTAuMDAwMDAwMDAxMjMiOiAiLTAwMC4wIiwKICAgICIwLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTIzIjogIjAwMC4wIiwKICAgICItMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyI6ICItMDAwLjAiLAogICAgIjEuMiI6ICIwMDEuMiIsCiAgICAiLTEuMiI6ICItMDAxLjIiLAogICAgIjAuMDAwMDAwMDAxMjM0NDUwMSI6ICIwMDAuMCIsCiAgICAiLTAuMDAwMDAwMDAxMjM0NDUwMSI6ICItMDAwLjAiLAogICAgIjEyMzQ0NS4wMSI6ICIxMjM0NDUuMDEiLAogICAgIi0xMjM0NDUuMDEiOiAiLTEyMzQ0NS4wMSIsCiAgICAiMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAiMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMCIsCiAgICAiLTEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIjogIi0xMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4wIgp9OwoKdGVzdE51bWJlckZvcm1hdChsb2NhbGVzLCBudW1iZXJpbmdTeXN0ZW1zLAogICAge3VzZUdyb3VwaW5nOiBmYWxzZSwgbWluaW11bUludGVnZXJEaWdpdHM6IDMsIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMSwgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAzfSwKICAgIHRlc3REYXRhKTsKCg==", "commentary":"", "description":"Tests that the digits are determined correctly when specifying pre/post decimal digits.", "path":"TestCases/intl402/ch11/11.3/11.3.2_TRF.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCB0aGUgZGlnaXRzIGFyZSBkZXRlcm1pbmVkIGNvcnJlY3RseSB3aGVuIHNwZWNpZnlpbmcgc2lnbmlmaWNhbnQgZGlnaXRzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbCiAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGUsCiAgICAiYXIiLCAiZGUiLCAidGgiLCAiamEiCl07CnZhciBudW1iZXJpbmdTeXN0ZW1zID0gWwogICAgImFyYWIiLAogICAgImxhdG4iLAogICAgInRoYWkiLAogICAgImhhbmlkZWMiCl07CnZhciB0ZXN0RGF0YSA9IHsKICAgICIwIjogIjAuMDAiLAogICAgIi0wIjogIjAuMDAiLAogICAgIjEyMyI6ICIxMjMiLAogICAgIi0xMjMiOiAiLTEyMyIsCiAgICAiMTIzNDUiOiAiMTIzNDUiLAogICAgIi0xMjM0NSI6ICItMTIzNDUiLAogICAgIjEyMy40NSI6ICIxMjMuNDUiLAogICAgIi0xMjMuNDUiOiAiLTEyMy40NSIsCiAgICAiMTIzLjQ0NDk5IjogIjEyMy40NCIsCiAgICAiLTEyMy40NDQ5OSI6ICItMTIzLjQ0IiwKICAgICIxMjMuNDQ1MDAiOiAiMTIzLjQ1IiwKICAgICItMTIzLjQ0NTAwIjogIi0xMjMuNDUiLAogICAgIjEyMy40NDUwMSI6ICIxMjMuNDUiLAogICAgIi0xMjMuNDQ1MDEiOiAiLTEyMy40NSIsCiAgICAiMC4wMDEyMzQiOiAiMC4wMDEyMzQiLAogICAgIi0wLjAwMTIzNCI6ICItMC4wMDEyMzQiLAogICAgIjAuMDAwMDAwMDAxMjMiOiAiMC4wMDAwMDAwMDEyMyIsCiAgICAiLTAuMDAwMDAwMDAxMjMiOiAiLTAuMDAwMDAwMDAxMjMiLAogICAgIjAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjMiOiAiMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMyIsCiAgICAiLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjMiOiAiLTAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMjMiLAogICAgIjEuMiI6ICIxLjIwIiwKICAgICItMS4yIjogIi0xLjIwIiwKICAgICIwLjAwMDAwMDAwMTIzNDQ1MDEiOiAiMC4wMDAwMDAwMDEyMzQ1IiwKICAgICItMC4wMDAwMDAwMDEyMzQ0NTAxIjogIi0wLjAwMDAwMDAwMTIzNDUiLAogICAgIjEyMzQ0NS4wMSI6ICIxMjM0NTAiLAogICAgIi0xMjM0NDUuMDEiOiAiLTEyMzQ1MCIsCiAgICAiMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAiMTIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgIi0xMjM0NDUwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCI6ICItMTIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiCn07Cgp0ZXN0TnVtYmVyRm9ybWF0KGxvY2FsZXMsIG51bWJlcmluZ1N5c3RlbXMsCiAgICB7dXNlR3JvdXBpbmc6IGZhbHNlLCBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHM6IDMsIG1heGltdW1TaWduaWZpY2FudERpZ2l0czogNX0sCiAgICB0ZXN0RGF0YSk7Cgo=", "commentary":"", "description":"Tests that the digits are determined correctly when specifying significant digits.", "path":"TestCases/intl402/ch11/11.3/11.3.2_TRP.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgaGFzIHRoZSByaWdodCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGFjdHVhbCA9IG5ldyBJbnRsLk51bWJlckZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpOwoKdmFyIGFjdHVhbDIgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyB0aGlzIGFzc3VtZXMgdGhlIGRlZmF1bHQgdmFsdWVzIHdoZXJlIHRoZSBzcGVjaWZpY2F0aW9uIHByb3ZpZGVzIHRoZW0KbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJsb2NhbGUiLCBpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJudW1iZXJpbmdTeXN0ZW0iLCBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJzdHlsZSIsIFsiZGVjaW1hbCJdKTsKbXVzdE5vdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJjdXJyZW5jeSIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgImN1cnJlbmN5RGlzcGxheSIpOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiwgWzFdKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJtaW5pbXVtRnJhY3Rpb25EaWdpdHMiLCBbMF0pOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsIFszXSk7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibWluaW11bVNpZ25pZmljYW50RGlnaXRzIik7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIik7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAidXNlR3JvdXBpbmciLCBbdHJ1ZV0pOwoK", "commentary":"", "description":"Tests that the object returned by Intl.NumberFormat.prototype.resolvedOptions\n has the right properties.", "path":"TestCases/intl402/ch11/11.3/11.3.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.3/11.3.3_L15.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUgaXMgYW4gb2JqZWN0IHRoYXQKICogaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKLy8gdGVzdCBieSBjYWxsaW5nIGEgZnVuY3Rpb24gdGhhdCB3b3VsZCBmYWlsIGlmICJ0aGlzIiB3ZXJlIG5vdCBhbiBvYmplY3QKLy8gaW5pdGlhbGl6ZWQgYXMgYW4gSW50bC5OdW1iZXJGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUuZm9ybWF0KDApICE9PSAic3RyaW5nIikgewogICAgJEVSUk9SKCJJbnRsLk51bWJlckZvcm1hdCdzIHByb3RvdHlwZSBpcyBub3QgYW4gb2JqZWN0IHRoYXQgaGFzIGJlZW4gIiArCiAgICAgICAgImluaXRpYWxpemVkIGFzIGFuIEludGwuTnVtYmVyRm9ybWF0Iik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype is an object that\nhas been initialized as an Intl.NumberFormat.", "path":"TestCases/intl402/ch11/11.3/11.3_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSBmdW5jdGlvbnMgdGhyb3cgYQogKiAgICAgVHlwZUVycm9yIGlmIGNhbGxlZCBvbiBhIG5vbi1vYmplY3QgdmFsdWUgb3IgYW4gb2JqZWN0IHRoYXQgaGFzbid0IGJlZW4KICogICAgIGluaXRpYWxpemVkIGFzIGEgTnVtYmVyRm9ybWF0LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBmdW5jdGlvbnMgPSB7CiAgICAiZm9ybWF0IGdldHRlciI6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5OdW1iZXJGb3JtYXQucHJvdG90eXBlLCAiZm9ybWF0IikuZ2V0LAogICAgcmVzb2x2ZWRPcHRpb25zOiBJbnRsLk51bWJlckZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCn07CnZhciBpbnZhbGlkVGFyZ2V0cyA9IFt1bmRlZmluZWQsIG51bGwsIHRydWUsIDAsICJOdW1iZXJGb3JtYXQiLCBbXSwge31dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChmdW5jdGlvbk5hbWUpIHsKICAgIHZhciBmID0gZnVuY3Rpb25zW2Z1bmN0aW9uTmFtZV07CiAgICBpbnZhbGlkVGFyZ2V0cy5mb3JFYWNoKGZ1bmN0aW9uICh0YXJnZXQpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgZi5jYWxsKHRhcmdldCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgbm90IHJlamVjdGVkLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJDYWxsaW5nICIgKyBmdW5jdGlvbk5hbWUgKyAiIG9uICIgKyB0YXJnZXQgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a NumberFormat.", "path":"TestCases/intl402/ch11/11.3/11.3_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuTnVtYmVyRm9ybWF0LnByb3RvdHlwZSwgZmFsc2UsIGZhbHNlLCBbImNvbnN0cnVjdG9yIiwgImZvcm1hdCIsICJyZXNvbHZlZE9wdGlvbnMiXSk7Cgo=", "commentary":"", "description":"Tests that Intl.NumberFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch11/11.3/11.3_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuTnVtYmVyRm9ybWF0IGluc3RhbmNlcyBoYXZlIHRoZSBzcGVjaWZpZWQgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuTnVtYmVyRm9ybWF0KCk7Cgp2YXIgdG9TdHJpbmdWYWx1ZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOwppZiAodG9TdHJpbmdWYWx1ZSAhPT0gIltvYmplY3QgT2JqZWN0XSIpIHsKICAgICRFUlJPUigiSW50bC5OdW1iZXJGb3JtYXQgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.NumberFormat instances have the specified properties.", "path":"TestCases/intl402/ch11/11.4/11.4_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGFuIG9iamVjdCBjYW4ndCBiZSByZS1pbml0aWFsaXplZCBhcyBhIERhdGVUaW1lRm9ybWF0LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdFdpdGhJbnRsQ29uc3RydWN0b3JzKGZ1bmN0aW9uIChDb25zdHJ1Y3RvcikgewogICAgdmFyIG9iaiwgZXJyb3I7CiAgICAKICAgIC8vIHZhcmlhbnQgMTogdXNlIGNvbnN0cnVjdG9yIGluIGEgIm5ldyIgZXhwcmVzc2lvbgogICAgb2JqID0gbmV3IENvbnN0cnVjdG9yKCk7CiAgICB0cnkgewogICAgICAgIEludGwuRGF0ZVRpbWVGb3JtYXQuY2FsbChvYmopOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIERhdGVUaW1lRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBcIm5ld1wiIGFzIERhdGVUaW1lRm9ybWF0IHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KICAgIAogICAgLy8gdmFyaWFudCAyOiB1c2UgY29uc3RydWN0b3IgYXMgYSBmdW5jdGlvbgogICAgb2JqID0gQ29uc3RydWN0b3IuY2FsbCh7fSk7CiAgICBlcnJvciA9IHVuZGVmaW5lZDsKICAgIHRyeSB7CiAgICAgICAgSW50bC5EYXRlVGltZUZvcm1hdC5jYWxsKG9iaik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlJlLWluaXRpYWxpemluZyBvYmplY3QgY3JlYXRlZCB3aXRoIGNvbnN0cnVjdG9yIGFzIGZ1bmN0aW9uIGFzIERhdGVUaW1lRm9ybWF0IHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJSZS1pbml0aWFsaXppbmcgb2JqZWN0IGNyZWF0ZWQgd2l0aCBjb25zdHJ1Y3RvciBhcyBmdW5jdGlvbiBhcyBEYXRlVGltZUZvcm1hdCB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICB9CiAgICAKICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that an object can't be re-initialized as a DateTimeFormat.", "path":"TestCases/intl402/ch12/12.1/12.1.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gaG91cjEyIGlzIHByb2Nlc3NlZCBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0ZXN0T3B0aW9uKEludGwuRGF0ZVRpbWVGb3JtYXQsICJob3VyMTIiLCAiYm9vbGVhbiIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLAogICAge2V4dHJhOiB7YW55OiB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn19fSk7CnRlc3RPcHRpb24oSW50bC5EYXRlVGltZUZvcm1hdCwgImhvdXIxMiIsICJib29sZWFuIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsCiAgICB7bm9SZXR1cm46IHRydWV9KTsKCg==", "commentary":"", "description":"Tests that the option hour12 is processed correctly.", "path":"TestCases/intl402/ch12/12.1/12.1.1_18.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbIndlZWtkYXkiLCAiZXJhIiwgInllYXIiLCAibW9udGgiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJ0aW1lWm9uZSJdKTsKCnZhciBsb2NhbGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHtsb2NhbGVNYXRjaGVyOiAibG9va3VwIn0pLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKaWYgKCFpc0Nhbm9uaWNhbGl6ZWRTdHJ1Y3R1cmFsbHlWYWxpZExhbmd1YWdlVGFnKGxvY2FsZSkpIHsKICAgICRFUlJPUigiRGF0ZVRpbWVGb3JtYXQgcmV0dXJucyBpbnZhbGlkIGxvY2FsZSAiICsgbG9jYWxlICsgIi4iKTsKfQoK", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch12/12.1/12.1.1_22.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb25zIGZvciB0aGUgZGF0ZSBhbmQgdGltZSBjb21wb25lbnRzIGFyZSBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKZ2V0RGF0ZVRpbWVDb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbiAoY29tcG9uZW50KSB7CiAgICB0ZXN0T3B0aW9uKEludGwuRGF0ZVRpbWVGb3JtYXQsIGNvbXBvbmVudCwgInN0cmluZyIsIGdldERhdGVUaW1lQ29tcG9uZW50VmFsdWVzKGNvbXBvbmVudCksIHVuZGVmaW5lZCwge2lzSUxEOiB0cnVlfSk7Cn0pOwoK", "commentary":"", "description":"Tests that the options for the date and time components are processed correctly.", "path":"TestCases/intl402/ch12/12.1/12.1.1_23.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gZm9ybWF0TWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkRhdGVUaW1lRm9ybWF0LCAiZm9ybWF0TWF0Y2hlciIsICJzdHJpbmciLCBbImJhc2ljIiwgImJlc3QgZml0Il0sICJiZXN0IGZpdCIsIHtub1JldHVybjogdHJ1ZX0pOwoK", "commentary":"", "description":"Tests that the option formatMatcher is processed correctly.", "path":"TestCases/intl402/ch12/12.1/12.1.1_25.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbImxvY2FsZU1hdGNoZXIiXSk7Cgp2YXIgbG9jYWxlID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodW5kZWZpbmVkLCB7bG9jYWxlTWF0Y2hlcjogImxvb2t1cCJ9KS5yZXNvbHZlZE9wdGlvbnMoKS5sb2NhbGU7CmlmICghaXNDYW5vbmljYWxpemVkU3RydWN0dXJhbGx5VmFsaWRMYW5ndWFnZVRhZyhsb2NhbGUpKSB7CiAgICAkRVJST1IoIkRhdGVUaW1lRm9ybWF0IHJldHVybnMgaW52YWxpZCBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7Cn0KCg==", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch12/12.1/12.1.1_5.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvcHRpb24gbG9jYWxlTWF0Y2hlciBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdE9wdGlvbihJbnRsLkRhdGVUaW1lRm9ybWF0LCAibG9jYWxlTWF0Y2hlciIsICJzdHJpbmciLCBbImxvb2t1cCIsICJiZXN0IGZpdCJdLCAiYmVzdCBmaXQiLCB7bm9SZXR1cm46IHRydWV9KTsKCg==", "commentary":"", "description":"Tests that the option localeMatcher is processed correctly.", "path":"TestCases/intl402/ch12/12.1/12.1.1_6.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGNvbnN0cnVjdGluZyBhIERhdGVUaW1lRm9ybWF0IGRvZXNuJ3QgY3JlYXRlIG9yIG1vZGlmeQogKiAgICAgdW53YW50ZWQgcHJvcGVydGllcyBvbiB0aGUgUmVnRXhwIGNvbnN0cnVjdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGVzdEZvclVud2FudGVkUmVnRXhwQ2hhbmdlcyhmdW5jdGlvbiAoKSB7CiAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZGUtREUtdS1jYS1ncmVnb3J5Iik7Cn0pOwoKdGVzdEZvclVud2FudGVkUmVnRXhwQ2hhbmdlcyhmdW5jdGlvbiAoKSB7CiAgICBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZGUtREUtdS1jYS1ncmVnb3J5Iiwge3RpbWVab25lOiAiVVRDIn0pOwp9KTsK", "commentary":"", "description":"Tests that constructing a DateTimeFormat doesn't create or modify\n unwanted properties on the RegExp constructor.", "path":"TestCases/intl402/ch12/12.1/12.1.1_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBzZXQgb2Ygb3B0aW9ucyBmb3IgdGhlIGRhdGUgYW5kIHRpbWUgY29tcG9uZW50cyBpcyBwcm9jZXNzZWQgY29ycmVjdGx5LgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbW10sIFsiemgtSGFucy1DTiJdLCBbImhpLUlOIl0sIFsiZW4tVVMiXSwgWyJpZC1JRCJdXTsKdmFyIGRhdGVzID0gW25ldyBEYXRlKCksIG5ldyBEYXRlKDApLCBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKV07CgpmdW5jdGlvbiB0ZXN0V2l0aERhdGVUaW1lRm9ybWF0KG9wdGlvbnMsIGV4cGVjdGVkKSB7CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICB2YXIgZm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlcywgb3B0aW9ucyk7CiAgICAgICAgdmFyIHJlc29sdmVkT3B0aW9ucyA9IGZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKTsKICAgICAgICBnZXREYXRlVGltZUNvbXBvbmVudHMoKS5mb3JFYWNoKGZ1bmN0aW9uIChjb21wb25lbnQpIHsKICAgICAgICAgICAgaWYgKHJlc29sdmVkT3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShjb21wb25lbnQpKSB7CiAgICAgICAgICAgICAgICBpZiAoIWV4cGVjdGVkLmhhc093blByb3BlcnR5KGNvbXBvbmVudCkpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIlVucmVxdWVzdGVkIGNvbXBvbmVudCAiICsgY29tcG9uZW50ICsKICAgICAgICAgICAgICAgICAgICAgICAgIiBhZGRlZCB0byBleHBlY3RlZCBzdWJzZXQgIiArIEpTT04uc3RyaW5naWZ5KGV4cGVjdGVkKSArCiAgICAgICAgICAgICAgICAgICAgICAgICI7IGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLCBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKGV4cGVjdGVkLmhhc093blByb3BlcnR5KGNvbXBvbmVudCkpIHsKICAgICAgICAgICAgICAgICAgICAkRVJST1IoIk1pc3NpbmcgY29tcG9uZW50ICIgKyBjb21wb25lbnQgKwogICAgICAgICAgICAgICAgICAgICAgICAiIGZyb20gZXhwZWN0ZWQgc3Vic2V0ICIgKyBKU09OLnN0cmluZ2lmeShleHBlY3RlZCkgKwogICAgICAgICAgICAgICAgICAgICAgICAiOyBsb2NhbGVzICIgKyBsb2NhbGVzICsgIiwgb3B0aW9ucyAiICsKICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsgIi4iKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmZ1bmN0aW9uIHRlc3RXaXRoVG9Mb2NhbGUoZiwgb3B0aW9ucywgZXhwZWN0ZWQpIHsKICAgIC8vIGV4cGVjdGVkIGNhbiBiZSBlaXRoZXIgb25lIHN1YnNldCBvciBhbiBhcnJheSBvZiBwb3NzaWJsZSBzdWJzZXRzCiAgICBpZiAoZXhwZWN0ZWQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAgICAgICBleHBlY3RlZCA9IFtleHBlY3RlZF07CiAgICB9CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICBkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChkYXRlKSB7CiAgICAgICAgICAgIHZhciBmb3JtYXR0ZWQgPSBEYXRlLnByb3RvdHlwZVtmXS5jYWxsKGRhdGUsIGxvY2FsZXMsIG9wdGlvbnMpOwogICAgICAgICAgICB2YXIgZXhwZWN0ZWRTdHJpbmdzID0gW107CiAgICAgICAgICAgIGV4cGVjdGVkLmZvckVhY2goZnVuY3Rpb24gKGV4cGVjdGVkKSB7CiAgICAgICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlcywgZXhwZWN0ZWQpOwogICAgICAgICAgICAgICAgZXhwZWN0ZWRTdHJpbmdzLnB1c2gocmVmZXJlbmNlRm9ybWF0LmZvcm1hdChkYXRlKSk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBpZiAoZXhwZWN0ZWRTdHJpbmdzLmluZGV4T2YoZm9ybWF0dGVkKSA9PT0gLTEpIHsKICAgICAgICAgICAgICAgICRFUlJPUigiRnVuY3Rpb24gIiArIGYgKyAiIGRpZCBub3QgcmV0dXJuIGV4cGVjdGVkIHN0cmluZyBmb3IgbG9jYWxlcyAiICsKICAgICAgICAgICAgICAgICAgICBsb2NhbGVzICsgIiwgb3B0aW9ucyAiICsgKG9wdGlvbnM/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKwogICAgICAgICAgICAgICAgICAgICI7IGV4cGVjdGVkICIgKwogICAgICAgICAgICAgICAgICAgIChleHBlY3RlZFN0cmluZ3MubGVuZ3RoID09PSAxID8gZXhwZWN0ZWRTdHJpbmdzWzBdIDogIm9uZSBvZiAiICsgZXhwZWN0ZWRTdHJpbmdzKSArCiAgICAgICAgICAgICAgICAgICAgIiwgZ290ICIgKyBmb3JtYXR0ZWQgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSAgIAoKLy8gYW55L2RhdGU6IHN0ZXBzIDVhLCA2YSwgN2EKdGVzdFdpdGhEYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSk7CgovLyBhbnkvZGF0ZTogc3RlcHMgNWEsIDZhCnRlc3RXaXRoRGF0ZVRpbWVGb3JtYXQoe3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIn0sIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9KTsKCi8vIGFueS9kYXRlOiBzdGVwcyA1YSwgNmEKdGVzdFdpdGhEYXRlVGltZUZvcm1hdCh7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgovLyBhbnkvYWxsOiBzdGVwcyA1YSwgNmEsIDdhLCA4YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVN0cmluZyIsIHVuZGVmaW5lZCwgWwogICAgICAgIC8vIHRoZSBmaXJzdCBvbmUgaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgc3VwcG9ydGVkOyB0aGUgc2Vjb25kIG9uZSBpcwogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn0sCiAgICAgICAge3dlZWtkYXk6ICJzaG9ydCIsIHllYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifQpdKTsKCi8vIGFueS9hbGw6IHN0ZXBzIDVhLCA2YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVN0cmluZyIsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9LCB7eWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMifSk7CgovLyBhbnkvYWxsOiBzdGVwcyA1YSwgNmEKdGVzdFdpdGhUb0xvY2FsZSgidG9Mb2NhbGVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhLCA3YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZURhdGVTdHJpbmciLCB1bmRlZmluZWQsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhCnRlc3RXaXRoVG9Mb2NhbGUoInRvTG9jYWxlRGF0ZVN0cmluZyIsIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyJ9LCB7eWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMifSk7CgovLyBkYXRlL2RhdGU6IHN0ZXBzIDVhLCA3YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZURhdGVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9LCBbCiAgICAgICAgLy8gdGhlIGZpcnN0IG9uZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBzdXBwb3J0ZWQ7IHRoZSBzZWNvbmQgb25lIGlzCiAgICAgICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgICAgICB7d2Vla2RheTogInNob3J0IiwgeWVhcjogIm51bWVyaWMiLCBtb250aDogIm51bWVyaWMiLCBkYXk6ICJudW1lcmljIiwgaG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9Cl0pOwoKLy8gdGltZS90aW1lOiBzdGVwcyA2YSwgOGEKdGVzdFdpdGhUb0xvY2FsZSgidG9Mb2NhbGVUaW1lU3RyaW5nIiwgdW5kZWZpbmVkLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIiwgc2Vjb25kOiAibnVtZXJpYyJ9KTsKCi8vIHRpbWUvdGltZTogc3RlcHMgNmEsIDhhCnRlc3RXaXRoVG9Mb2NhbGUoInRvTG9jYWxlVGltZVN0cmluZyIsIHt3ZWVrZGF5OiAic2hvcnQiLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifSwKICAgIHt3ZWVrZGF5OiAic2hvcnQiLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn0pOwoKLy8gdGltZS90aW1lOiBzdGVwcyA2YQp0ZXN0V2l0aFRvTG9jYWxlKCJ0b0xvY2FsZVRpbWVTdHJpbmciLCB7aG91cjogIm51bWVyaWMiLCBtaW51dGU6ICJudW1lcmljIn0sIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifSk7CgoK", "commentary":"", "description":"Tests that the set of options for the date and time components is processed correctly.", "path":"TestCases/intl402/ch12/12.1/12.1.1_TDTO.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvciBub24tb2JqZWN0IHZhbHVlcyBwYXNzZWQgYXMgdGhpcyB0byBEYXRlVGltZUZvcm1hdCBhCiAqIHdyYXBwZXIgb2JqZWN0IHdpbGwgYmUgaW5pdGlhbGl6ZWQgYW5kIHJldHVybmVkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gW3RydWUsIDQyLCAi5Zu96Zqb5YyWIl07Cgp0aGlzVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgZm9ybWF0ID0gSW50bC5EYXRlVGltZUZvcm1hdC5jYWxsKHZhbHVlKTsKICAgIC8vIGNoZWNrIHRoYXQgdGhlIHJldHVybmVkIG9iamVjdCBmdW5jdGlvbnMgYXMgYSBkYXRlLXRpbWUgZm9ybWF0CiAgICB2YXIgcmVmZXJlbmNlRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKTsKICAgIGlmIChJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQuY2FsbChmb3JtYXQsIG5ldyBEYXRlKDExMTExMTExMSkpICE9PSByZWZlcmVuY2VGb3JtYXQuZm9ybWF0KG5ldyBEYXRlKDExMTExMTExMSkpKSB7CiAgICAgICAgJEVSUk9SKCJEYXRlVGltZUZvcm1hdCBpbml0aWFsaXplZCBmcm9tICIgKyB2YWx1ZSArICIgZG9lc24ndCBiZWhhdmUgbGlrZSBub3JtYWwgZGF0ZS10aW1lIGZvcm1hdC4iKTsKICAgIH0KICAgIHJldHVybiB0cnVlOwp9KTsKCg==", "commentary":"", "description":"Tests that for non-object values passed as this to DateTimeFormat a\nwrapper object will be initialized and returned.", "path":"TestCases/intl402/ch12/12.1/12.1.2.1_4.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTEtMjAxMiBOb3JiZXJ0IExpbmRlbmJlcmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0IGNhbiBiZSBzdWJjbGFzc2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKLy8gZ2V0IGEgZGF0ZS10aW1lIGZvcm1hdCBhbmQgaGF2ZSBpdCBmb3JtYXQgYW4gYXJyYXkgb2YgZGF0ZXMgZm9yIGNvbXBhcmlzb24gd2l0aCB0aGUgc3ViY2xhc3MKdmFyIGxvY2FsZXMgPSBbInRsaCIsICJpZCIsICJlbiJdOwp2YXIgYSA9IFtuZXcgRGF0ZSgwKSwgRGF0ZS5ub3coKSwgbmV3IERhdGUoRGF0ZS5wYXJzZSgiMTk4OS0xMS0wOVQxNzo1NzowMFoiKSldOwp2YXIgcmVmZXJlbmNlRGF0ZVRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IGEubWFwKHJlZmVyZW5jZURhdGVUaW1lRm9ybWF0LmZvcm1hdCk7CgpmdW5jdGlvbiBNeURhdGVUaW1lRm9ybWF0KGxvY2FsZXMsIG9wdGlvbnMpIHsKICAgIEludGwuRGF0ZVRpbWVGb3JtYXQuY2FsbCh0aGlzLCBsb2NhbGVzLCBvcHRpb25zKTsKICAgIC8vIGNvdWxkIGluaXRpYWxpemUgTXlEYXRlVGltZUZvcm1hdCBwcm9wZXJ0aWVzCn0KCk15RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSk7Ck15RGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gTXlEYXRlVGltZUZvcm1hdDsKLy8gY291bGQgYWRkIG1ldGhvZHMgdG8gTXlEYXRlVGltZUZvcm1hdC5wcm90b3R5cGUKCnZhciBmb3JtYXQgPSBuZXcgTXlEYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKdmFyIGFjdHVhbCA9IGEubWFwKGZvcm1hdC5mb3JtYXQpOwp0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VGb3JtYXR0ZWQsIGFjdHVhbCk7Cgo=", "commentary":"", "description":"Tests that Intl.DateTimeFormat can be subclassed.", "path":"TestCases/intl402/ch12/12.1/12.1.2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IG9iamVjdHMgY29uc3RydWN0ZWQgYnkgSW50bC5EYXRlVGltZUZvcm1hdCBoYXZlIHRoZSBzcGVjaWZpZWQgaW50ZXJuYWwgcHJvcGVydGllcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgb2JqID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKTsKCnZhciBhY3R1YWxQcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTsKaWYgKGFjdHVhbFByb3RvdHlwZSAhPT0gSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUpIHsKICAgICRFUlJPUigiUHJvdG90eXBlIG9mIG9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0IGlzbid0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlOyBnb3QgIiArIGFjdHVhbFByb3RvdHlwZSk7Cn0KCmlmICghT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopKSB7CiAgICAkRVJST1IoIk9iamVjdCBjb25zdHJ1Y3RlZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0IG11c3QgYmUgZXh0ZW5zaWJsZS4iKTsKfQoK", "commentary":"", "description":"Tests that objects constructed by Intl.DateTimeFormat have the specified internal properties.", "path":"TestCases/intl402/ch12/12.1/12.1.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChJbnRsLkRhdGVUaW1lRm9ybWF0LCB0cnVlLCB0cnVlLCBbInN1cHBvcnRlZExvY2FsZXNPZiJdLCAwKTsKCg==", "commentary":"", "description":"Tests that Intl.DateTimeFormat\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.1/12.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGhhcyB0aGUgcmVxdWlyZWQgYXR0cmlidXRlcy4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdCwgInByb3RvdHlwZSIpOwppZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGlzIG5vdCBkZWZpbmVkLiIpOwp9CmlmIChkZXNjLndyaXRhYmxlKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIG11c3Qgbm90IGJlIHdyaXRhYmxlLiIpOwp9CmlmIChkZXNjLmVudW1lcmFibGUpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgZW51bWVyYWJsZS4iKTsKfQppZiAoZGVzYy5jb25maWd1cmFibGUpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUgbXVzdCBub3QgYmUgY29uZmlndXJhYmxlLiIpOwp9Cgo=", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype has the required attributes.", "path":"TestCases/intl402/ch12/12.2/12.2.1.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0IGhhcyBhIHN1cHBvcnRlZExvY2FsZXNPZgogKiBwcm9wZXJ0eSwgYW5kIGl0IHdvcmtzIGFzIHBsYW5uZWQuCiAqIEBhdXRob3I6IFJvb3piZWggUG91cm5hZGVyCiAqLwoKdmFyIGRlZmF1bHRMb2NhbGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKdmFyIG5vdFN1cHBvcnRlZCA9ICd6eHgnOyAvLyAibm8gbGluZ3Vpc3RpYyBjb250ZW50Igp2YXIgcmVxdWVzdGVkTG9jYWxlcyA9IFtkZWZhdWx0TG9jYWxlLCBub3RTdXBwb3J0ZWRdOwogICAgCnZhciBzdXBwb3J0ZWRMb2NhbGVzOwoKaWYgKCFJbnRsLkRhdGVUaW1lRm9ybWF0Lmhhc093blByb3BlcnR5KCdzdXBwb3J0ZWRMb2NhbGVzT2YnKSkgewogICAgJEVSUk9SKCJJbnRsLkRhdGVUaW1lRm9ybWF0IGRvZXNuJ3QgaGF2ZSBhIHN1cHBvcnRlZExvY2FsZXNPZiBwcm9wZXJ0eS4iKTsKfQogICAgCnN1cHBvcnRlZExvY2FsZXMgPSBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihyZXF1ZXN0ZWRMb2NhbGVzKTsKaWYgKHN1cHBvcnRlZExvY2FsZXMubGVuZ3RoICE9PSAxKSB7CiAgICAkRVJST1IoJ1RoZSBsZW5ndGggb2Ygc3VwcG9ydGVkIGxvY2FsZXMgbGlzdCBpcyBub3QgMS4nKTsKfQogICAgCmlmIChzdXBwb3J0ZWRMb2NhbGVzWzBdICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAkRVJST1IoJ1RoZSBkZWZhdWx0IGxvY2FsZSBpcyBub3QgcmV0dXJuZWQgaW4gdGhlIHN1cHBvcnRlZCBsaXN0LicpOwp9Cgo=", "commentary":"", "description":"Tests that Intl.DateTimeFormat has a supportedLocalesOf\nproperty, and it works as planned.", "path":"TestCases/intl402/ch12/12.2/12.2.2_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBkb2Vzbid0IGFjY2VzcyBhcmd1bWVudHMgdGhhdCBpdCdzIG5vdCBnaXZlbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50RGF0YVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIik7Cm5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJ1bmQiKTsK", "commentary":"", "description":"Tests that Intl.DateTimeFormat.supportedLocalesOf\n doesn't access arguments that it's not given.", "path":"TestCases/intl402/ch12/12.2/12.2.2_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YsIHRydWUsIGZhbHNlLCBbXSwgMSk7Cgo=", "commentary":"", "description":"Tests that Intl.DateTimeFormat.supportedLocalesOf\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.2/12.2.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgZG9lcyBub3QgYWNjZXB0IFVuaWNvZGUgbG9jYWxlCiAqICAgICBleHRlbnNpb24ga2V5cyBhbmQgdmFsdWVzIHRoYXQgYXJlIG5vdCBhbGxvd2VkLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbImphLUpQIiwgInpoLUhhbnMtQ04iLCAiemgtSGFudC1UVyJdOwp2YXIgaW5wdXQgPSBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlKSB7CiAgICB2YXIgZGVmYXVsdERhdGVUaW1lRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoW2xvY2FsZV0pOwogICAgdmFyIGRlZmF1bHRPcHRpb25zID0gZGVmYXVsdERhdGVUaW1lRm9ybWF0LnJlc29sdmVkT3B0aW9ucygpOwogICAgdmFyIGRlZmF1bHRPcHRpb25zSlNPTiA9IEpTT04uc3RyaW5naWZ5KGRlZmF1bHRPcHRpb25zKTsKICAgIHZhciBkZWZhdWx0TG9jYWxlID0gZGVmYXVsdE9wdGlvbnMubG9jYWxlOwogICAgdmFyIGRlZmF1bHRGb3JtYXR0ZWQgPSBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQuZm9ybWF0KGlucHV0KTsKCiAgICB2YXIga2V5VmFsdWVzID0gewogICAgICAgICJjdSI6IFsiVVNEIiwgIkVVUiIsICJKUFkiLCAiQ05ZIiwgIlRXRCIsICJpbnZhbGlkIl0sIC8vIERhdGVUaW1lRm9ybWF0IGludGVybmFsbHkgdXNlcyBOdW1iZXJGb3JtYXQKICAgICAgICAibnUiOiBbIm5hdGl2ZSIsICJ0cmFkaXRpbyIsICJmaW5hbmNlIiwgImludmFsaWQiXSwKICAgICAgICAidHoiOiBbInVzbmF2YWpvIiwgInV0Y3cwMSIsICJhdW1lbCIsICJ1c2xheCIsICJ1c255YyIsICJkZWJlciIsICJpbnZhbGlkIl0KICAgIH07CiAgICAKICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGtleVZhbHVlcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7CiAgICAgICAga2V5VmFsdWVzW2tleV0uZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICAgICAgdmFyIGRhdGVUaW1lRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoW2xvY2FsZSArICItdS0iICsga2V5ICsgIi0iICsgdmFsdWVdKTsKICAgICAgICAgICAgdmFyIG9wdGlvbnMgPSBkYXRlVGltZUZvcm1hdC5yZXNvbHZlZE9wdGlvbnMoKTsKICAgICAgICAgICAgaWYgKG9wdGlvbnMubG9jYWxlICE9PSBkZWZhdWx0TG9jYWxlKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIkxvY2FsZSAiICsgb3B0aW9ucy5sb2NhbGUgKyAiIGlzIGFmZmVjdGVkIGJ5IGtleSAiICsKICAgICAgICAgICAgICAgIGtleSArICI7IHZhbHVlICIgKyB2YWx1ZSArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICE9PSBkZWZhdWx0T3B0aW9uc0pTT04pIHsKICAgICAgICAgICAgICAgICRFUlJPUigiUmVzb2x2ZWQgb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiIGFyZSBhZmZlY3RlZCBieSBrZXkgIiArCiAgICAgICAgICAgICAgICBrZXkgKyAiOyB2YWx1ZSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChkZWZhdWx0Rm9ybWF0dGVkICE9PSBkYXRlVGltZUZvcm1hdC5mb3JtYXQoaW5wdXQpKSB7CiAgICAgICAgICAgICAgICAkRVJST1IoIkZvcm1hdHRlZCB2YWx1ZSAiICsgZGF0ZVRpbWVGb3JtYXQuZm9ybWF0KGlucHV0KSArICIgaXMgYWZmZWN0ZWQgYnkga2V5ICIgKwogICAgICAgICAgICAgICAga2V5ICsgIjsgdmFsdWUgIiArIHZhbHVlICsgIi4iKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that Intl.DateTimeFormat does not accept Unicode locale\n extension keys and values that are not allowed.", "path":"TestCases/intl402/ch12/12.2/12.2.3_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgcHJvdmlkZXMgdGhlIHJlcXVpcmVkIGRhdGUtdGltZQogKiAgICAgZm9ybWF0IGNvbXBvbmVudCBzdWJzZXRzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIGxvY2FsZXMgPSBbImRlLURFIiwgImVuLVVTIiwgImhpLUlOIiwgImlkLUlEIiwgImphLUpQIiwgInRoLVRIIiwgInpoLUhhbnMtQ04iLCAiemgtSGFudC1UVyIsICJ6eHgiXTsKdmFyIHN1YnNldHMgPSBbCiAgICB7d2Vla2RheTogImxvbmciLCB5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLAogICAgICAgIGhvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgIHt3ZWVrZGF5OiAibG9uZyIsIHllYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge3llYXI6ICJudW1lcmljIiwgbW9udGg6ICJudW1lcmljIn0sCiAgICB7bW9udGg6ICJudW1lcmljIiwgZGF5OiAibnVtZXJpYyJ9LAogICAge2hvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifSwKICAgIHtob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMifQpdOwoKbG9jYWxlcy5mb3JFYWNoKGZ1bmN0aW9uIChsb2NhbGUpIHsKICAgIHN1YnNldHMuZm9yRWFjaChmdW5jdGlvbiAoc3Vic2V0KSB7CiAgICAgICAgdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtsb2NhbGVdLCBzdWJzZXQpOwogICAgICAgIHZhciBhY3R1YWwgPSBmb3JtYXQucmVzb2x2ZWRPcHRpb25zKCk7CiAgICAgICAgZ2V0RGF0ZVRpbWVDb21wb25lbnRzKCkuZm9yRWFjaChmdW5jdGlvbiAoY29tcG9uZW50KSB7CiAgICAgICAgICAgIGlmIChhY3R1YWwuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgaWYgKCFzdWJzZXQuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgICAgICRFUlJPUigiVW5yZXF1ZXN0ZWQgY29tcG9uZW50ICIgKyBjb21wb25lbnQgKwogICAgICAgICAgICAgICAgICAgICAgICAiIGFkZGVkIHRvIHJlcXVlc3RlZCBzdWJzZXQgIiArIEpTT04uc3RyaW5naWZ5KHN1YnNldCkgKwogICAgICAgICAgICAgICAgICAgICAgICAiOyBsb2NhbGUgIiArIGxvY2FsZSArICIuIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgIHRlc3RWYWxpZERhdGVUaW1lQ29tcG9uZW50VmFsdWUoY29tcG9uZW50LCBhY3R1YWxbY29tcG9uZW50XSk7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICAgICAgZS5tZXNzYWdlICs9ICIgKFRlc3RpbmcgbG9jYWxlICIgKyBsb2NhbGUgKyAiOyBzdWJzZXQgIiArCiAgICAgICAgICAgICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHN1YnNldCkgKyAiKSI7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlmIChzdWJzZXQuaGFzT3duUHJvcGVydHkoY29tcG9uZW50KSkgewogICAgICAgICAgICAgICAgICAgICRFUlJPUigiTWlzc2luZyBjb21wb25lbnQgIiArIGNvbXBvbmVudCArCiAgICAgICAgICAgICAgICAgICAgICAgICIgZnJvbSByZXF1ZXN0ZWQgc3Vic2V0ICIgKyBKU09OLnN0cmluZ2lmeShzdWJzZXQpICsKICAgICAgICAgICAgICAgICAgICAgICAgIjsgbG9jYWxlICIgKyBsb2NhbGUgKyAiLiIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Intl.DateTimeFormat provides the required date-time\n format component subsets.", "path":"TestCases/intl402/ch12/12.2/12.2.3_c.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciBpcyB0aGUKICogSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvcjogUm9vemJlaCBQb3VybmFkZXIKICovCgppZiAoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEludGwuRGF0ZVRpbWVGb3JtYXQpIHsKICAgICRFUlJPUigiSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgbm90IHRoZSBzYW1lIGFzICIgKwogICAgICAgICAgIkludGwuRGF0ZVRpbWVGb3JtYXQiKTsKfQoK", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype.constructor is the\nIntl.DateTimeFormat.", "path":"TestCases/intl402/ch12/12.3/12.3.1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLmZvcm1hdCwgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==", "commentary":"", "description":"Tests that the function returned by Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.3/12.3.2_1_a_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBmdW5jdGlvbiBpcyBib3VuZCB0byBpdHMgSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBkYXRlcyA9IFtuZXcgRGF0ZSgpLCBuZXcgRGF0ZSgwKSwgbmV3IERhdGUoRGF0ZS5wYXJzZSgiMTk4OS0xMS0wOVQxNzo1NzowMFoiKSldOwp2YXIgbG9jYWxlcyA9IFt1bmRlZmluZWQsIFsiZGUiXSwgWyJ0aC11LWNhLWdyZWdvcnktbnUtdGhhaSJdLCBbImVuIl0sIFsiamEtdS1jYS1qYXBhbmVzZSJdLCBbImFyLXUtY2EtaXNsYW1pY2MtbnUtYXJhYiJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB1bmRlZmluZWQsCiAgICB7aG91cjEyOiBmYWxzZX0sCiAgICB7bW9udGg6ICJsb25nIiwgZGF5OiAibnVtZXJpYyIsIGhvdXI6ICIyLWRpZ2l0IiwgbWludXRlOiAiMi1kaWdpdCJ9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciBmb3JtYXRPYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzLCBvcHRpb25zKTsKICAgICAgICB2YXIgZm9ybWF0RnVuYyA9IGZvcm1hdE9iai5mb3JtYXQ7CiAgICAgICAgZGF0ZXMuZm9yRWFjaChmdW5jdGlvbiAoZGF0ZSkgewogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZm9ybWF0T2JqLmZvcm1hdChkYXRlKTsKICAgICAgICAgICAgdmFyIGZvcm1hdHRlZCA9IGZvcm1hdEZ1bmMoZGF0ZSk7CiAgICAgICAgICAgIGlmIChyZWZlcmVuY2VGb3JtYXR0ZWQgIT09IGZvcm1hdHRlZCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJmb3JtYXQgZnVuY3Rpb24gcHJvZHVjZXMgZGlmZmVyZW50IHJlc3VsdCB0aGFuIGZvcm1hdCBtZXRob2QgZm9yIGxvY2FsZXMgIiArCiAgICAgICAgICAgICAgICAgICAgbG9jYWxlcyArICI7IG9wdGlvbnM6ICIgKyAob3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogb3B0aW9ucykgKwogICAgICAgICAgICAgICAgICAgICIgOiAiICsgZm9ybWF0dGVkICsgIiB2cy4gIiArIHJlZmVyZW5jZUZvcm1hdHRlZCArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0pOwp9KTsKCg==", "commentary":"", "description":"Tests that format function is bound to its Intl.DateTimeFormat.", "path":"TestCases/intl402/ch12/12.3/12.3.2_1_c.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCBoYW5kbGVzIG5vbi1maW5pdGUgdmFsdWVzIGNvcnJlY3RseS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZFZhbHVlcyA9IFtOYU4sIEluZmluaXR5LCAtSW5maW5pdHldOwoKdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCk7CgppbnZhbGlkVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciByZXN1bHQgPSBmb3JtYXQuZm9ybWF0KHZhbHVlKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICBlcnJvciA9IGU7CiAgICB9CiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICRFUlJPUigiSW52YWxpZCB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyBub3QgcmVqZWN0ZWQuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJSYW5nZUVycm9yIikgewogICAgICAgICRFUlJPUigiSW52YWxpZCB2YWx1ZSAiICsgdmFsdWUgKyAiIHdhcyByZWplY3RlZCB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that format handles non-finite values correctly.", "path":"TestCases/intl402/ch12/12.3/12.3.2_FDT_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGZvcm1hdCB1c2VzIGEgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aXRoIG5vIHllYXIgMC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZGF0ZXMgPSBbCiAgICAwLCAvLyBKYW51YXJ5IDEsIDE5NzAKICAgIC02MjE1MTYwMjQwMDAwMCwgLy8gaW4gSnVuZSAxIEJDCiAgICAtODY0MDAwMDAwMDAwMDAwMCAvLyBiZWdpbm5pbmcgb2YgRUNNQVNjcmlwdCB0aW1lCl07Cgp2YXIgZm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoWyJlbi1VUyJdLCB7eWVhcjogIm51bWVyaWMiLCBtb250aDogImxvbmciLCB0aW1lWm9uZTogIlVUQyJ9KTsKCi8vIHRoaXMgdGVzdCByZXF1aXJlcyBhIEdyZWdvcmlhbiBjYWxlbmRhciwgd2hpY2ggd2UgdXN1YWxseSBmaW5kIGluIHRoZSBVUwppZiAoZm9ybWF0LnJlc29sdmVkT3B0aW9ucygpLmNhbGVuZGFyICE9PSAiZ3JlZ29yeSIpIHsKICAgICRFUlJPUigiSW50ZXJuYWwgZXJyb3I6IERpZG4ndCBmaW5kIEdyZWdvcmlhbiBjYWxlbmRhciIpOwp9CgpkYXRlcy5mb3JFYWNoKGZ1bmN0aW9uIChkYXRlKSB7CiAgICB2YXIgeWVhciA9IG5ldyBEYXRlKGRhdGUpLmdldFVUQ0Z1bGxZZWFyKCk7CiAgICB2YXIgZXhwZWN0ZWRZZWFyID0geWVhciA8PSAwID8gMSAtIHllYXIgOiB5ZWFyOwogICAgdmFyIGV4cGVjdGVkWWVhclN0cmluZyA9IGV4cGVjdGVkWWVhci50b0xvY2FsZVN0cmluZyhbImVuLVVTIl0sIHt1c2VHcm91cGluZzogZmFsc2V9KTsKICAgIHZhciBkYXRlU3RyaW5nID0gZm9ybWF0LmZvcm1hdChkYXRlKTsKICAgIGlmIChkYXRlU3RyaW5nLmluZGV4T2YoZXhwZWN0ZWRZZWFyU3RyaW5nKSA9PT0gLTEpIHsKICAgICAgICAkRVJST1IoIkZvcm1hdHRlZCB5ZWFyIGRvZXNuJ3QgY29udGFpbiBleHBlY3RlZCB5ZWFyIOKAkyBleHBlY3RlZCAiICsKICAgICAgICAgICAgZXhwZWN0ZWRZZWFyU3RyaW5nICsgIiwgZ290ICIgKyBkYXRlU3RyaW5nICsgIi4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that format uses a proleptic Gregorian calendar with no year 0.", "path":"TestCases/intl402/ch12/12.3/12.3.2_FDT_7_a_iv.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBnZXR0ZXIgZm9yIEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLmZvcm1hdAogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsICJmb3JtYXQiKS5nZXQgLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK", "commentary":"", "description":"Tests that the getter for Intl.DateTimeFormat.prototype.format\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.3/12.3.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBiZWhhdmlvciBvZiBhIFJlY29yZCBpcyBub3QgYWZmZWN0ZWQgYnkgYWR2ZXJzYXJpYWwKICogICAgIGNoYW5nZXMgdG8gT2JqZWN0LnByb3RvdHlwZS4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50UHJvcGVydGllcyhbIndlZWtkYXkiLCAiZXJhIiwgInllYXIiLCAibW9udGgiLCAiZGF5IiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJpbkRTVCJdKTsKCnZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpOwp2YXIgdGltZSA9IGZvcm1hdC5mb3JtYXQoKTsKCg==", "commentary":"", "description":"Tests that the behavior of a Record is not affected by adversarial\n changes to Object.prototype.", "path":"TestCases/intl402/ch12/12.3/12.3.2_TLT_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUucmVzb2x2ZWRPcHRpb25zCiAqICAgICBoYXMgdGhlIHJpZ2h0IHByb3BlcnRpZXMuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp2YXIgYWN0dWFsID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKCnZhciBhY3R1YWwyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKTsKaWYgKGFjdHVhbDIgPT09IGFjdHVhbCkgewogICAgJEVSUk9SKCJyZXNvbHZlZE9wdGlvbnMgcmV0dXJuZWQgdGhlIHNhbWUgb2JqZWN0IHR3aWNlLiIpOwp9CgovLyBzb3VyY2U6IENMRFIgZmlsZSBjb21tb24vYmNwNDcvY2FsZW5kYXIueG1sOyB2ZXJzaW9uIENMRFIgMjEuCnZhciBjYWxlbmRhcnMgPSBbCiAgICAiYnVkZGhpc3QiLAogICAgImNoaW5lc2UiLAogICAgImNvcHRpYyIsCiAgICAiZXRoaW9hYSIsCiAgICAiZXRoaW9waWMiLAogICAgImdyZWdvcnkiLAogICAgImhlYnJldyIsCiAgICAiaW5kaWFuIiwKICAgICJpc2xhbWljIiwKICAgICJpc2xhbWljYyIsCiAgICAiaXNvODYwMSIsCiAgICAiamFwYW5lc2UiLAogICAgInBlcnNpYW4iLAogICAgInJvYyIKXTsKCi8vIHRoaXMgYXNzdW1lcyB0aGUgZGVmYXVsdCB2YWx1ZXMgd2hlcmUgdGhlIHNwZWNpZmljYXRpb24gcHJvdmlkZXMgdGhlbQptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgImxvY2FsZSIsIGlzQ2Fub25pY2FsaXplZFN0cnVjdHVyYWxseVZhbGlkTGFuZ3VhZ2VUYWcpOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgImNhbGVuZGFyIiwgY2FsZW5kYXJzKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJudW1iZXJpbmdTeXN0ZW0iLCBpc1ZhbGlkTnVtYmVyaW5nU3lzdGVtKTsKbXVzdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJ0aW1lWm9uZSIsIFt1bmRlZmluZWRdKTsKbXVzdE5vdEhhdmVQcm9wZXJ0eShhY3R1YWwsICJ3ZWVrZGF5Iik7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiZXJhIik7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAieWVhciIsIFsiMi1kaWdpdCIsICJudW1lcmljIl0pOwptdXN0SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1vbnRoIiwgWyIyLWRpZ2l0IiwgIm51bWVyaWMiLCAibmFycm93IiwgInNob3J0IiwgImxvbmciXSk7Cm11c3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiZGF5IiwgWyIyLWRpZ2l0IiwgIm51bWVyaWMiXSk7Cm11c3ROb3RIYXZlUHJvcGVydHkoYWN0dWFsLCAiaG91ciIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgIm1pbnV0ZSIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgInNlY29uZCIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgInRpbWVab25lTmFtZSIpOwptdXN0Tm90SGF2ZVByb3BlcnR5KGFjdHVhbCwgImhvdXIxMiIpOwoK", "commentary":"", "description":"Tests that the object returned by Intl.DateTimeFormat.prototype.resolvedOptions\n has the right properties.", "path":"TestCases/intl402/ch12/12.3/12.3.3.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLnJlc29sdmVkT3B0aW9ucywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype.resolvedOptions\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.3/12.3.3_L15.js" }, { "author":"Roozbeh Pournader", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAZGVzY3JpcHRpb24gVGVzdHMgdGhhdCBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZSBpcyBhbiBvYmplY3QgdGhhdAogKiBoYXMgYmVlbiBpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0LgogKiBAYXV0aG9yOiBSb296YmVoIFBvdXJuYWRlcgogKi8KCi8vIHRlc3QgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHRoYXQgd291bGQgZmFpbCBpZiAidGhpcyIgd2VyZSBub3QgYW4gb2JqZWN0Ci8vIGluaXRpYWxpemVkIGFzIGFuIEludGwuRGF0ZVRpbWVGb3JtYXQKaWYgKHR5cGVvZiBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXQoMCkgIT09ICJzdHJpbmciKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQncyBwcm90b3R5cGUgaXMgbm90IGFuIG9iamVjdCB0aGF0IGhhcyBiZWVuICIgKwogICAgICAgICJpbml0aWFsaXplZCBhcyBhbiBJbnRsLkRhdGVUaW1lRm9ybWF0Iik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype is an object that\nhas been initialized as an Intl.DateTimeFormat.", "path":"TestCases/intl402/ch12/12.3/12.3_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlIGZ1bmN0aW9ucyB0aHJvdyBhCiAqICAgICBUeXBlRXJyb3IgaWYgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCB2YWx1ZSBvciBhbiBvYmplY3QgdGhhdCBoYXNuJ3QgYmVlbgogKiAgICAgaW5pdGlhbGl6ZWQgYXMgYSBEYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgZnVuY3Rpb25zID0gewogICAgImZvcm1hdCBnZXR0ZXIiOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlLCAiZm9ybWF0IikuZ2V0LAogICAgcmVzb2x2ZWRPcHRpb25zOiBJbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5yZXNvbHZlZE9wdGlvbnMKfTsKdmFyIGludmFsaWRUYXJnZXRzID0gW3VuZGVmaW5lZCwgbnVsbCwgdHJ1ZSwgMCwgIkRhdGVUaW1lRm9ybWF0IiwgW10sIHt9XTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAoZnVuY3Rpb25OYW1lKSB7CiAgICB2YXIgZiA9IGZ1bmN0aW9uc1tmdW5jdGlvbk5hbWVdOwogICAgaW52YWxpZFRhcmdldHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7CiAgICAgICAgdmFyIGVycm9yOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIGYuY2FsbCh0YXJnZXQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkNhbGxpbmcgIiArIGZ1bmN0aW9uTmFtZSArICIgb24gIiArIHRhcmdldCArICIgd2FzIG5vdCByZWplY3RlZC4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgICAgICRFUlJPUigiQ2FsbGluZyAiICsgZnVuY3Rpb25OYW1lICsgIiBvbiAiICsgdGFyZ2V0ICsgIiB3YXMgcmVqZWN0ZWQgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype functions throw a\n TypeError if called on a non-object value or an object that hasn't been\n initialized as a DateTimeFormat.", "path":"TestCases/intl402/ch12/12.3/12.3_b.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQucHJvdG90eXBlCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUsIGZhbHNlLCBmYWxzZSwgWyJjb25zdHJ1Y3RvciIsICJmb3JtYXQiLCAicmVzb2x2ZWRPcHRpb25zIl0pOwoK", "commentary":"", "description":"Tests that Intl.DateTimeFormat.prototype\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch12/12.3/12.3_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IEludGwuRGF0ZVRpbWVGb3JtYXQgaW5zdGFuY2VzIGhhdmUgdGhlIHNwZWNpZmllZCBwcm9wZXJ0aWVzLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBvYmogPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpOwoKdmFyIHRvU3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsKaWYgKHRvU3RyaW5nVmFsdWUgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoIkludGwuRGF0ZVRpbWVGb3JtYXQgaW5zdGFuY2UgcHJvZHVjZXMgd3JvbmcgW1tDbGFzc11dIC0gdG9TdHJpbmcgcmV0dXJucyAiICsgdG9TdHJpbmdWYWx1ZSArICIuIik7Cn0KCg==", "commentary":"", "description":"Tests that Intl.DateTimeFormat instances have the specified properties.", "path":"TestCases/intl402/ch12/12.4/12.4_a.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgcmVqZWN0cyB2YWx1ZXMgdGhhdCBjYW4ndCBiZSBjb2VyY2VkIHRvIGFuIG9iamVjdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgp2YXIgaW52YWxpZFZhbHVlcyA9IFt1bmRlZmluZWQsIG51bGxdOwogCmludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5jYWxsKHZhbHVlLCAiIik7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkaWQgbm90IHJlamVjdCB0aGlzID0gIiArIHZhbHVlICsgIi4iKTsKICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSByZWplY3RlZCB0aGlzID0gIiArIHZhbHVlICsgIiB3aXRoIHdyb25nIGVycm9yICIgKyBlcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7Cgo=", "commentary":"", "description":"Tests that localeCompare rejects values that can't be coerced to an object.", "path":"TestCases/intl402/ch13/13.1/13.1.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgY29lcmNlcyB0aGlzIHRvIGEgc3RyaW5nLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gW3RydWUsIDUsICJoZWxsbyIsIHt0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gImdvb2QgYnllIjsgfX1dOwp2YXIgdGhhdFZhbHVlcyA9IFsidHJ1ZSIsICI1IiwgImhlbGxvIiwgImdvb2QgYnllIl07Cgp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHRoaXNWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBqOwogICAgZm9yIChqID0gMDsgaiA8IHRoYXRWYWx1ZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodGhpc1ZhbHVlc1tpXSwgdGhhdFZhbHVlc1tqXSk7CiAgICAgICAgaWYgKChyZXN1bHQgPT09IDApICE9PSAoaSA9PT0gaikpIHsKICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gMCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJsb2NhbGVDb21wYXJlIHRyZWF0cyAiICsgdGhpc1ZhbHVlc1tpXSArICIgYW5kICIgKyB0aGF0VmFsdWVzW2pdICsgIiBhcyBlcXVhbC4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRFUlJPUigibG9jYWxlQ29tcGFyZSB0cmVhdHMgIiArIHRoaXNWYWx1ZXNbaV0gKyAiIGFuZCAiICsgdGhhdFZhbHVlc1tqXSArICIgYXMgZGlmZmVyZW50LiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgo=", "commentary":"", "description":"Tests that localeCompare coerces this to a string.", "path":"TestCases/intl402/ch13/13.1/13.1.1_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgY29lcmNlcyB0aGF0IHRvIGEgc3RyaW5nLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciB0aGlzVmFsdWVzID0gWyJ0cnVlIiwgIjUiLCAiaGVsbG8iLCAiZ29vZCBieWUiXTsKdmFyIHRoYXRWYWx1ZXMgPSBbdHJ1ZSwgNSwgImhlbGxvIiwge3RvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAiZ29vZCBieWUiOyB9fV07Cgp2YXIgaTsKZm9yIChpID0gMDsgaSA8IHRoaXNWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgIHZhciBqOwogICAgZm9yIChqID0gMDsgaiA8IHRoYXRWYWx1ZXMubGVuZ3RoOyBqKyspIHsKICAgICAgICB2YXIgcmVzdWx0ID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmNhbGwodGhpc1ZhbHVlc1tpXSwgdGhhdFZhbHVlc1tqXSk7CiAgICAgICAgaWYgKChyZXN1bHQgPT09IDApICE9PSAoaSA9PT0gaikpIHsKICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gMCkgewogICAgICAgICAgICAgICAgJEVSUk9SKCJsb2NhbGVDb21wYXJlIHRyZWF0cyAiICsgdGhpc1ZhbHVlc1tpXSArICIgYW5kICIgKyB0aGF0VmFsdWVzW2pdICsgIiBhcyBlcXVhbC4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICRFUlJPUigibG9jYWxlQ29tcGFyZSB0cmVhdHMgIiArIHRoaXNWYWx1ZXNbaV0gKyAiIGFuZCAiICsgdGhhdFZhbHVlc1tqXSArICIgYXMgZGlmZmVyZW50LiIpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cgo=", "commentary":"", "description":"Tests that localeCompare coerces that to a string.", "path":"TestCases/intl402/ch13/13.1/13.1.1_3_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0cmVhdHMgYSBtaXNzaW5nCiAqICAgICAidGhhdCIgYXJndW1lbnQsIHVuZGVmaW5lZCwgYW5kICJ1bmRlZmluZWQiIGFzIGVxdWl2YWxlbnQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIHRoaXNWYWx1ZXMgPSBbImEiLCAidCIsICJ1IiwgInVuZGVmaW5lZCIsICJVTkRFRklORUQiLCAibmljaHQgZGVmaW5pZXJ0IiwgInh5eiIsICLmnKrlrprkuYkiXTsKCnZhciBpOwpmb3IgKGkgPSAwOyBpIDwgdGhpc1ZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgdmFyIHRoaXNWYWx1ZSA9IHRoaXNWYWx1ZXNbaV07CiAgICBpZiAodGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUoKSAhPT0gdGhpc1ZhbHVlLmxvY2FsZUNvbXBhcmUodW5kZWZpbmVkKSkgewogICAgICAgICRFUlJPUigiU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlIGRvZXMgbm90IHRyZWF0IG1pc3NpbmcgJ3RoYXQnIGFyZ3VtZW50IGFzIHVuZGVmaW5lZC4iKTsKICAgIH0KICAgIGlmICh0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSh1bmRlZmluZWQpICE9PSB0aGlzVmFsdWUubG9jYWxlQ29tcGFyZSgidW5kZWZpbmVkIikpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBkb2VzIG5vdCB0cmVhdCB1bmRlZmluZWQgJ3RoYXQnIGFyZ3VtZW50IGFzIFwidW5kZWZpbmVkXCIuIik7CiAgICB9Cn0KCg==", "commentary":"", "description":"Tests that String.prototype.localeCompare treats a missing\n \"that\" argument, undefined, and \"undefined\" as equivalent.", "path":"TestCases/intl402/ch13/13.1/13.1.1_3_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0aHJvd3MgdGhlIHNhbWUgZXhjZXB0aW9ucyBhcyBJbnRsLkNvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCnZhciBsb2NhbGVzID0gW251bGwsIFtOYU5dLCBbImkiXSwgWyJkZV9ERSJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB7bG9jYWxlTWF0Y2hlcjogbnVsbH0sCiAgICB7dXNhZ2U6ICJpbnZhbGlkIn0sCiAgICB7c2Vuc2l0aXZpdHk6ICJpbnZhbGlkIn0KXTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlcykgewogICAgdmFyIHJlZmVyZW5jZUVycm9yLCBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVmZXJlbmNlRXJyb3IgPSBlOwogICAgfQogICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIGVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24gd2FzIG5vdCB0aHJvd24gYnkgSW50bC5Db2xsYXRvciBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9CiAgICAKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9ICIiLmxvY2FsZUNvbXBhcmUoIiIsIGxvY2FsZXMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAkRVJST1IoIlN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB0aHJldyBleGNlcHRpb24gIiArIGVycm9yLm5hbWUgKwogICAgICAgICAgICAiIGZvciBsb2NhbGVzICIgKyBsb2NhbGVzICsgIjsgZXhwZWN0ZWQgIiArIHJlZmVyZW5jZUVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCm9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgdmFyIHJlZmVyZW5jZUVycm9yLCBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIGNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IoW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgIH0KICAgIGlmIChyZWZlcmVuY2VFcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuQ29sbGF0b3IgZm9yIG9wdGlvbnMgIiArCiAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIi4iKTsKICAgIH0KICAgIAogICAgdHJ5IHsKICAgICAgICB2YXIgcmVzdWx0ID0gIiIubG9jYWxlQ29tcGFyZSgiIiwgW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIGVycm9yID0gZTsKICAgIH0KICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3Igb3B0aW9ucyAiICsKICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSByZWZlcmVuY2VFcnJvci5uYW1lKSB7CiAgICAgICAgJEVSUk9SKCJTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgIiBmb3Igb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICB9Cn0pOwoK", "commentary":"", "description":"Tests that String.prototype.localeCompare throws the same exceptions as Intl.Collator.", "path":"TestCases/intl402/ch13/13.1/13.1.1_6_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSB1c2VzIHRoZSBzdGFuZGFyZAogKiAgICAgYnVpbHQtaW4gSW50bC5Db2xsYXRvciBjb25zdHJ1Y3Rvci4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnRhaW50RGF0YVByb3BlcnR5KEludGwsICJDb2xsYXRvciIpOwoiYSIubG9jYWxlQ29tcGFyZSgiYiIpOwo=", "commentary":"", "description":"Tests that String.prototype.localeCompare uses the standard\n built-in Intl.Collator constructor.", "path":"TestCases/intl402/ch13/13.1/13.1.1_6_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IGxvY2FsZUNvbXBhcmUgcHJvZHVjZXMgdGhlIHNhbWUgcmVzdWx0cyBhcyBJbnRsLkNvbGxhdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdmFyIHN0cmluZ3MgPSBbImQiLCAiTyIsICJvZCIsICJvZSIsICJvZiIsICLDtiIsICJvXHUwMzA4IiwgIlgiLCAieSIsICJaIiwgIlouIiwgIvCgrrfph47lrrYiLCAi5ZCJ6YeO5a62IiwgIiFBIiwgIkEiLCAiYiIsICJDIl07CnZhciBsb2NhbGVzID0gW3VuZGVmaW5lZCwgWyJkZSJdLCBbImRlLXUtY28tcGhvbmViayJdLCBbImVuIl0sIFsiamEiXSwgWyJzdiJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB1bmRlZmluZWQsCiAgICB7dXNhZ2U6ICJzZWFyY2gifSwKICAgIHtzZW5zaXRpdml0eTogImJhc2UiLCBpZ25vcmVQdW5jdHVhdGlvbjogdHJ1ZX0KXTsKCmxvY2FsZXMuZm9yRWFjaChmdW5jdGlvbiAobG9jYWxlcykgewogICAgb3B0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgdmFyIHJlZmVyZW5jZUNvbGxhdG9yID0gbmV3IEludGwuQ29sbGF0b3IobG9jYWxlcywgb3B0aW9ucyk7CiAgICAgICAgdmFyIHJlZmVyZW5jZVNvcnRlZCA9IHN0cmluZ3Muc2xpY2UoKS5zb3J0KHJlZmVyZW5jZUNvbGxhdG9yLmNvbXBhcmUpOwogICAgICAgIAogICAgICAgIHN0cmluZ3Muc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gYS5sb2NhbGVDb21wYXJlKGIsIGxvY2FsZXMsIG9wdGlvbnMpOyB9KTsKICAgICAgICB0cnkgewogICAgICAgICAgICB0ZXN0QXJyYXlzQXJlU2FtZShyZWZlcmVuY2VTb3J0ZWQsIHN0cmluZ3MpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZS5tZXNzYWdlICs9ICIgKFRlc3Rpbmcgd2l0aCBsb2NhbGVzICIgKyBsb2NhbGVzICsgIjsgb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLikiOwogICAgICAgICAgICB0aHJvdyBlOwogICAgICAgIH0KICAgIH0pOwp9KTsKCg==", "commentary":"", "description":"Tests that localeCompare produces the same results as Intl.Collator.", "path":"TestCases/intl402/ch13/13.1/13.1.1_7.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZQogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSwgdHJ1ZSwgZmFsc2UsIFtdLCAxKTsKCg==", "commentary":"", "description":"Tests that String.prototype.localeCompare\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch13/13.1/13.1.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IHRvTG9jYWxlU3RyaW5nIGhhbmRsZXMgInRoaXMgTnVtYmVyIHZhbHVlIiBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGludmFsaWRWYWx1ZXMgPSBbdW5kZWZpbmVkLCBudWxsLCAiNSIsIGZhbHNlLCB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gNTsgfX1dOwp2YXIgdmFsaWRWYWx1ZXMgPSBbNSwgTmFOLCAtMTIzNDU2Ny44OSwgLUluZmluaXR5XTsKCmludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgIHZhciBlcnJvcjsKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuY2FsbCh2YWx1ZSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkIG5vdCByZWplY3QgdGhpcyA9ICIgKyB2YWx1ZSArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09ICJUeXBlRXJyb3IiKSB7CiAgICAgICAgJEVSUk9SKCJOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHJlamVjdGVkIHRoaXMgPSAiICsgdmFsdWUgKyAiIHdpdGggd3JvbmcgZXJyb3IgIiArIGVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCi8vIGZvciB2YWxpZCB2YWx1ZXMsIGp1c3QgY2hlY2sgdGhhdCBhIE51bWJlciB2YWx1ZSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKLy8gTnVtYmVyIG9iamVjdCBnZXQgdGhlIHNhbWUgcmVzdWx0Lgp2YWxpZFZhbHVlcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkgewogICAgdmFyIENvbnN0cnVjdG9yID0gTnVtYmVyOyAvLyB0byBrZWVwIGpzaGludCBoYXBweQogICAgdmFyIHZhbHVlUmVzdWx0ID0gTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHZhbHVlKTsKICAgIHZhciBvYmplY3RSZXN1bHQgPSBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmNhbGwobmV3IENvbnN0cnVjdG9yKHZhbHVlKSk7CiAgICBpZiAodmFsdWVSZXN1bHQgIT09IG9iamVjdFJlc3VsdCkgewogICAgICAgICRFUlJPUigiTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBwcm9kdWNlcyBkaWZmZXJlbnQgcmVzdWx0cyBmb3IgTnVtYmVyIHZhbHVlICIgKwogICAgICAgICAgICB2YWx1ZSArICIgYW5kIGNvcnJlc3BvbmRpbmcgTnVtYmVyIG9iamVjdDogIiArIHZhbHVlUmVzdWx0ICsgIiB2cy4gIiArIG9iamVjdFJlc3VsdCArICIuIik7CiAgICB9Cn0pOwoK", "commentary":"", "description":"Tests that toLocaleString handles \"this Number value\" correctly.", "path":"TestCases/intl402/ch13/13.2/13.2.1_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgdGhyb3dzIHRoZSBzYW1lIGV4Y2VwdGlvbnMgYXMgSW50bC5OdW1iZXJGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGxvY2FsZXMgPSBbbnVsbCwgW05hTl0sIFsiaSJdLCBbImRlX0RFIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHtsb2NhbGVNYXRjaGVyOiBudWxsfSwKICAgIHtzdHlsZTogImludmFsaWQifSwKICAgIHtzdHlsZTogImN1cnJlbmN5In0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiw59QIn0sCiAgICB7bWF4aW11bVNpZ25pZmljYW50RGlnaXRzOiAtSW5maW5pdHl9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgcmVmZXJlbmNlRXJyb3IgPSBlOwogICAgfQogICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIkludGVybmFsIGVycm9yOiBFeHBlY3RlZCBleGNlcHRpb24gd2FzIG5vdCB0aHJvd24gYnkgSW50bC5OdW1iZXJGb3JtYXQgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLiIpOwogICAgfQogICAgCiAgICB0cnkgewogICAgICAgIHZhciByZXN1bHQgPSAoMCkudG9Mb2NhbGVTdHJpbmcobG9jYWxlcyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICIuIik7CiAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgIiBmb3IgbG9jYWxlcyAiICsgbG9jYWxlcyArICI7IGV4cGVjdGVkICIgKyByZWZlcmVuY2VFcnJvci5uYW1lICsgIi4iKTsKICAgIH0KfSk7CgpvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICB0cnkgewogICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQoW10sIG9wdGlvbnMpOwogICAgfSBjYXRjaCAoZSkgewogICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgIH0KICAgIGlmIChyZWZlcmVuY2VFcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuTnVtYmVyRm9ybWF0IGZvciBvcHRpb25zICIgKwogICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIuIik7CiAgICB9CiAgICAKICAgIHRyeSB7CiAgICAgICAgdmFyIHJlc3VsdCA9ICgwKS50b0xvY2FsZVN0cmluZyhbXSwgb3B0aW9ucyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgZXJyb3IgPSBlOwogICAgfQogICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAkRVJST1IoIk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgZGlkbid0IHRocm93IGV4Y2VwdGlvbiBmb3Igb3B0aW9ucyAiICsKICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgfSBlbHNlIGlmIChlcnJvci5uYW1lICE9PSByZWZlcmVuY2VFcnJvci5uYW1lKSB7CiAgICAgICAgJEVSUk9SKCJOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIHRocmV3IGV4Y2VwdGlvbiAiICsgZXJyb3IubmFtZSArCiAgICAgICAgICAgICIgZm9yIG9wdGlvbnMgIiArIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpICsgIjsgZXhwZWN0ZWQgIiArIHJlZmVyZW5jZUVycm9yLm5hbWUgKyAiLiIpOwogICAgfQp9KTsKCg==", "commentary":"", "description":"Tests that Number.prototype.toLocaleString throws the same exceptions as Intl.NumberFormat.", "path":"TestCases/intl402/ch13/13.2/13.2.1_4_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgdXNlcyB0aGUgc3RhbmRhcmQKICogICAgIGJ1aWx0LWluIEludGwuTnVtYmVyRm9ybWF0IGNvbnN0cnVjdG9yLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0SW50bC5qcyIpOwoKdGFpbnREYXRhUHJvcGVydHkoSW50bCwgIk51bWJlckZvcm1hdCIpOwooMC4wKS50b0xvY2FsZVN0cmluZygpOwo=", "commentary":"", "description":"Tests that Number.prototype.toLocaleString uses the standard\n built-in Intl.NumberFormat constructor.", "path":"TestCases/intl402/ch13/13.2/13.2.1_4_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgcHJvZHVjZXMgdGhlIHNhbWUgcmVzdWx0cyBhcyBJbnRsLk51bWJlckZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBudW1iZXJzID0gWzAsIC0wLCAxLCAtMSwgNS41LCAxMjMsIC0xMjMsIC0xMjMuNDUsIDEyMy40NDUwMSwgMC4wMDEyMzQsCiAgICAtMC4wMDAwMDAwMDEyMywgMC4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEyMywgMS4yLCAwLjAwMDAwMDAwMTIzNDQ1MDEsCiAgICAxMjM0NDUuMDEsIDEyMzQ0NTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCAtMTIzNDQ1MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsCiAgICBJbmZpbml0eSwgLUluZmluaXR5LCBOYU5dOwp2YXIgbG9jYWxlcyA9IFt1bmRlZmluZWQsIFsiZGUiXSwgWyJ0aC11LW51LXRoYWkiXSwgWyJlbiJdLCBbImphLXUtbnUtanBhbmZpbiJdLCBbImFyLXUtbnUtYXJhYiJdXTsKdmFyIG9wdGlvbnMgPSBbCiAgICB1bmRlZmluZWQsCiAgICB7c3R5bGU6ICJwZXJjZW50In0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiRVVSIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiSVFEIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiS01GIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7c3R5bGU6ICJjdXJyZW5jeSIsIGN1cnJlbmN5OiAiQ0xGIiwgY3VycmVuY3lEaXNwbGF5OiAic3ltYm9sIn0sCiAgICB7dXNlR3JvdXBpbmc6IGZhbHNlLCBtaW5pbXVtSW50ZWdlckRpZ2l0czogMywgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAxLCBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDN9Cl07Cgpsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciByZWZlcmVuY2VOdW1iZXJGb3JtYXQgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQobG9jYWxlcywgb3B0aW9ucyk7CiAgICAgICAgdmFyIHJlZmVyZW5jZUZvcm1hdHRlZCA9IG51bWJlcnMubWFwKHJlZmVyZW5jZU51bWJlckZvcm1hdC5mb3JtYXQpOwogICAgICAgIAogICAgICAgIHZhciBmb3JtYXR0ZWQgPSBudW1iZXJzLm1hcChmdW5jdGlvbiAoYSkgeyByZXR1cm4gYS50b0xvY2FsZVN0cmluZyhsb2NhbGVzLCBvcHRpb25zKTsgfSk7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBmb3JtYXR0ZWQpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZS5tZXNzYWdlICs9ICIgKFRlc3Rpbmcgd2l0aCBsb2NhbGVzICIgKyBsb2NhbGVzICsgIjsgb3B0aW9ucyAiICsKICAgICAgICAgICAgKG9wdGlvbnMgPyBKU09OLnN0cmluZ2lmeShvcHRpb25zKSA6IG9wdGlvbnMpICsgIi4pIjsKICAgICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Number.prototype.toLocaleString produces the same results as Intl.NumberFormat.", "path":"TestCases/intl402/ch13/13.2/13.2.1_5.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IE51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcKICogICAgIG1lZXRzIHRoZSByZXF1aXJlbWVudHMgZm9yIGJ1aWx0LWluIG9iamVjdHMgZGVmaW5lZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mCiAqICAgICBjaGFwdGVyIDE1IG9mIHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIFNwZWNpZmljYXRpb24uCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RCdWlsdEluT2JqZWN0LmpzIik7Cgp0ZXN0QnVpbHRJbk9iamVjdChOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLCB0cnVlLCBmYWxzZSwgW10sIDApOwoK", "commentary":"", "description":"Tests that Number.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch13/13.2/13.2.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIGhhbmRsZSAidGhpcyB0aW1lIHZhbHVlIiBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGludmFsaWRWYWx1ZXMgPSBbdW5kZWZpbmVkLCBudWxsLCA1LCAiNSIsIGZhbHNlLCB7dmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gNTsgfX1dOwoKT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZnVuY3Rpb25zKS5mb3JFYWNoKGZ1bmN0aW9uIChwKSB7CiAgICB2YXIgZiA9IGZ1bmN0aW9uc1twXTsKICAgIGludmFsaWRWYWx1ZXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUpIHsKICAgICAgICB2YXIgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIHJlc3VsdCA9IGYuY2FsbCh2YWx1ZSk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICBlcnJvciA9IGU7CiAgICAgICAgfQogICAgICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICRFUlJPUigiRGF0ZS5wcm90b3R5cGUuIiArIHAgKyAiIGRpZCBub3QgcmVqZWN0IHRoaXMgPSAiICsgdmFsdWUgKyAiLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gIlR5cGVFcnJvciIpIHsKICAgICAgICAgICAgJEVSUk9SKCJEYXRlLnByb3RvdHlwZS4iICsgcCArICIgcmVqZWN0ZWQgdGhpcyA9ICIgKyB2YWx1ZSArICIgd2l0aCB3cm9uZyBlcnJvciAiICsgZXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that Date.prototype.toLocaleString & Co. handle \"this time value\" correctly.", "path":"TestCases/intl402/ch13/13.3/13.3.0_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIGhhbmRsZSBub24tZmluaXRlIHZhbHVlcyBjb3JyZWN0bHkuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGludmFsaWRWYWx1ZXMgPSBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5XTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF07CiAgICBpbnZhbGlkVmFsdWVzLmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7CiAgICAgICAgdmFyIHJlc3VsdCA9IGYuY2FsbChuZXcgRGF0ZSh2YWx1ZSkpOwogICAgICAgIGlmIChyZXN1bHQgIT09ICJJbnZhbGlkIERhdGUiKSB7CiAgICAgICAgICAgICRFUlJPUigiRGF0ZS5wcm90b3R5cGUuIiArIHAgKyAiIGRpZCBub3QgcmV0dXJuIFwiSW52YWxpZCBEYXRlXCIgZm9yICIgKwogICAgICAgICAgICAgICAgdmFsdWUgKyAiIOKAkyBnb3QgIiArIHJlc3VsdCArICIgaW5zdGVhZC4iKTsKICAgICAgICB9CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Date.prototype.toLocaleString & Co. handle non-finite values correctly.", "path":"TestCases/intl402/ch13/13.3/13.3.0_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIHRocm93cyB0aGUgc2FtZSBleGNlcHRpb25zIGFzIEludGwuRGF0ZVRpbWVGb3JtYXQuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKdmFyIGZ1bmN0aW9ucyA9IHsKICAgIHRvTG9jYWxlU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZywKICAgIHRvTG9jYWxlRGF0ZVN0cmluZzogRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgdG9Mb2NhbGVUaW1lU3RyaW5nOiBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcKfTsKdmFyIGxvY2FsZXMgPSBbbnVsbCwgW05hTl0sIFsiaSJdLCBbImRlX0RFIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHtsb2NhbGVNYXRjaGVyOiBudWxsfSwKICAgIHt0aW1lWm9uZTogImludmFsaWQifSwKICAgIHtob3VyOiAibG9uZyJ9LAogICAge2Zvcm1hdE1hdGNoZXI6ICJpbnZhbGlkIn0KXTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF07CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICB2YXIgcmVmZXJlbmNlRXJyb3IsIGVycm9yOwogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciBmb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuRGF0ZVRpbWVGb3JtYXQgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiLiIpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICB0cnkgewogICAgICAgICAgICB2YXIgcmVzdWx0ID0gZi5jYWxsKG5ldyBEYXRlKCksIGxvY2FsZXMpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uIGZvciBsb2NhbGVzICIgKyBsb2NhbGVzICsgIi4iKTsKICAgICAgICB9IGVsc2UgaWYgKGVycm9yLm5hbWUgIT09IHJlZmVyZW5jZUVycm9yLm5hbWUpIHsKICAgICAgICAgICAgJEVSUk9SKCJEYXRlLnByb3RvdHlwZS4iICsgcCArICIgdGhyZXcgZXhjZXB0aW9uICIgKyBlcnJvci5uYW1lICsKICAgICAgICAgICAgICAgICIgZm9yIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7CiAgICAKICAgIG9wdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAob3B0aW9ucykgewogICAgICAgIHZhciByZWZlcmVuY2VFcnJvciwgZXJyb3I7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgdmFyIGZvcm1hdCA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KFtdLCBvcHRpb25zKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIHJlZmVyZW5jZUVycm9yID0gZTsKICAgICAgICB9CiAgICAgICAgaWYgKHJlZmVyZW5jZUVycm9yID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgJEVSUk9SKCJJbnRlcm5hbCBlcnJvcjogRXhwZWN0ZWQgZXhjZXB0aW9uIHdhcyBub3QgdGhyb3duIGJ5IEludGwuRGF0ZVRpbWVGb3JtYXQgZm9yIG9wdGlvbnMgIiArCiAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcHRpb25zKSArICIuIik7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHRyeSB7CiAgICAgICAgICAgIHZhciByZXN1bHQgPSBmLmNhbGwobmV3IERhdGUoKSwgW10sIG9wdGlvbnMpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgZXJyb3IgPSBlOwogICAgICAgIH0KICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiBkaWRuJ3QgdGhyb3cgZXhjZXB0aW9uIGZvciBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiLiIpOwogICAgICAgIH0gZWxzZSBpZiAoZXJyb3IubmFtZSAhPT0gcmVmZXJlbmNlRXJyb3IubmFtZSkgewogICAgICAgICAgICAkRVJST1IoIkRhdGUucHJvdG90eXBlLiIgKyBwICsgIiB0aHJldyBleGNlcHRpb24gIiArIGVycm9yLm5hbWUgKwogICAgICAgICAgICAgICAgIiBmb3Igb3B0aW9ucyAiICsgSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgKyAiOyBleHBlY3RlZCAiICsgcmVmZXJlbmNlRXJyb3IubmFtZSArICIuIik7CiAgICAgICAgfQogICAgfSk7Cn0pOwoK", "commentary":"", "description":"Tests that Date.prototype.toLocaleString & Co. throws the same exceptions as Intl.DateTimeFormat.", "path":"TestCases/intl402/ch13/13.3/13.3.0_6_1.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTMgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIHVzZSB0aGUgc3RhbmRhcmQKICogICAgIGJ1aWx0LWluIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3IuCiAqIEBhdXRob3IgTm9yYmVydCBMaW5kZW5iZXJnCiAqLwoKJElOQ0xVREUoInRlc3RJbnRsLmpzIik7Cgp0YWludERhdGFQcm9wZXJ0eShJbnRsLCAiRGF0ZVRpbWVGb3JtYXQiKTsKbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZygpOwpuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygpOwpuZXcgRGF0ZSgpLnRvTG9jYWxlVGltZVN0cmluZygpOwo=", "commentary":"", "description":"Tests that Date.prototype.toLocaleString & Co. use the standard\n built-in Intl.DateTimeFormat constructor.", "path":"TestCases/intl402/ch13/13.3/13.3.0_6_2.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYgQ28uIHByb2R1Y2VzIHRoZSBzYW1lIHJlc3VsdHMgYXMgSW50bC5EYXRlVGltZUZvcm1hdC4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEludGwuanMiKTsKCnZhciBmdW5jdGlvbnMgPSB7CiAgICB0b0xvY2FsZVN0cmluZzogW0RhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLAogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiLCBob3VyOiAibnVtZXJpYyIsIG1pbnV0ZTogIm51bWVyaWMiLCBzZWNvbmQ6ICJudW1lcmljIn1dLAogICAgdG9Mb2NhbGVEYXRlU3RyaW5nOiBbRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVEYXRlU3RyaW5nLAogICAgICAgIHt5ZWFyOiAibnVtZXJpYyIsIG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMifV0sCiAgICB0b0xvY2FsZVRpbWVTdHJpbmc6IFtEYXRlLnByb3RvdHlwZS50b0xvY2FsZVRpbWVTdHJpbmcsCiAgICAgICAge2hvdXI6ICJudW1lcmljIiwgbWludXRlOiAibnVtZXJpYyIsIHNlY29uZDogIm51bWVyaWMifV0KfTsKdmFyIGRhdGVzID0gW25ldyBEYXRlKCksIG5ldyBEYXRlKDApLCBuZXcgRGF0ZShEYXRlLnBhcnNlKCIxOTg5LTExLTA5VDE3OjU3OjAwWiIpKV07CnZhciBsb2NhbGVzID0gW3VuZGVmaW5lZCwgWyJkZSJdLCBbInRoLXUtY2EtZ3JlZ29yeS1udS10aGFpIl0sIFsiZW4iXSwgWyJqYS11LWNhLWphcGFuZXNlIl0sIFsiYXItdS1jYS1pc2xhbWljYy1udS1hcmFiIl1dOwp2YXIgb3B0aW9ucyA9IFsKICAgIHVuZGVmaW5lZCwKICAgIHtob3VyMTI6IGZhbHNlfSwKICAgIHttb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiwgaG91cjogIjItZGlnaXQiLCBtaW51dGU6ICIyLWRpZ2l0In0KXTsKCk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZ1bmN0aW9ucykuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgdmFyIGYgPSBmdW5jdGlvbnNbcF1bMF07CiAgICB2YXIgZGVmYXVsdHMgPSBmdW5jdGlvbnNbcF1bMV07CiAgICBsb2NhbGVzLmZvckVhY2goZnVuY3Rpb24gKGxvY2FsZXMpIHsKICAgICAgICBvcHRpb25zLmZvckVhY2goZnVuY3Rpb24gKG9wdGlvbnMpIHsKICAgICAgICAgICAgdmFyIGNvbnN0cnVjdG9yT3B0aW9ucyA9IG9wdGlvbnM7CiAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yT3B0aW9ucyA9IGRlZmF1bHRzOwogICAgICAgICAgICB9IGVsc2UgaWYgKG9wdGlvbnMuZGF5ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgIC8vIGZvciBzaW1wbGljaXR5LCBvdXIgb3B0aW9ucyBhYm92ZSBoYXZlIGVpdGhlciBib3RoIGRhdGUgYW5kIHRpbWUgb3IgbmVpdGhlcgogICAgICAgICAgICAgICAgY29uc3RydWN0b3JPcHRpb25zID0gT2JqZWN0LmNyZWF0ZShkZWZhdWx0cyk7CiAgICAgICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9wdGlvbnMpIHsKICAgICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgICAgICAgICAgICAgICBjb25zdHJ1Y3Rvck9wdGlvbnNbcHJvcF0gPSBvcHRpb25zW3Byb3BdOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRGF0ZVRpbWVGb3JtYXQgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NhbGVzLCBjb25zdHJ1Y3Rvck9wdGlvbnMpOwogICAgICAgICAgICB2YXIgcmVmZXJlbmNlRm9ybWF0dGVkID0gZGF0ZXMubWFwKHJlZmVyZW5jZURhdGVUaW1lRm9ybWF0LmZvcm1hdCk7CiAgICAgICAgICAgIAogICAgICAgICAgICB2YXIgZm9ybWF0dGVkID0gZGF0ZXMubWFwKGZ1bmN0aW9uIChhKSB7IHJldHVybiBmLmNhbGwoYSwgbG9jYWxlcywgb3B0aW9ucyk7IH0pOwogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgdGVzdEFycmF5c0FyZVNhbWUocmVmZXJlbmNlRm9ybWF0dGVkLCBmb3JtYXR0ZWQpOwogICAgICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICAgICBlLm1lc3NhZ2UgKz0gIiAoVGVzdGluZyB3aXRoIGxvY2FsZXMgIiArIGxvY2FsZXMgKyAiOyBvcHRpb25zICIgKwogICAgICAgICAgICAgICAgICAgIChvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBvcHRpb25zKSArICIuKSI7CiAgICAgICAgICAgICAgICB0aHJvdyBlOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9KTsKfSk7Cgo=", "commentary":"", "description":"Tests that Date.prototype.toLocaleString & Co. produces the same results as Intl.DateTimeFormat.", "path":"TestCases/intl402/ch13/13.3/13.3.0_7.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nCiAqICAgICBtZWV0cyB0aGUgcmVxdWlyZW1lbnRzIGZvciBidWlsdC1pbiBvYmplY3RzIGRlZmluZWQgYnkgdGhlIGludHJvZHVjdGlvbiBvZgogKiAgICAgY2hhcHRlciAxNSBvZiB0aGUgRUNNQVNjcmlwdCBMYW5ndWFnZSBTcGVjaWZpY2F0aW9uLgogKiBAYXV0aG9yIE5vcmJlcnQgTGluZGVuYmVyZwogKi8KCiRJTkNMVURFKCJ0ZXN0QnVpbHRJbk9iamVjdC5qcyIpOwoKdGVzdEJ1aWx0SW5PYmplY3QoRGF0ZS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcsIHRydWUsIGZhbHNlLCBbXSwgMCk7Cgo=", "commentary":"", "description":"Tests that Date.prototype.toLocaleString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch13/13.3/13.3.1_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==", "commentary":"", "description":"Tests that Date.prototype.toLocaleDateString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch13/13.3/13.3.2_L15.js" }, { "author":"Norbert Lindenberg", "code":"Ly8gQ29weXJpZ2h0IDIwMTIgTW96aWxsYSBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLyoqCiAqIEBkZXNjcmlwdGlvbiBUZXN0cyB0aGF0IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZwogKiAgICAgbWVldHMgdGhlIHJlcXVpcmVtZW50cyBmb3IgYnVpbHQtaW4gb2JqZWN0cyBkZWZpbmVkIGJ5IHRoZSBpbnRyb2R1Y3Rpb24gb2YKICogICAgIGNoYXB0ZXIgMTUgb2YgdGhlIEVDTUFTY3JpcHQgTGFuZ3VhZ2UgU3BlY2lmaWNhdGlvbi4KICogQGF1dGhvciBOb3JiZXJ0IExpbmRlbmJlcmcKICovCgokSU5DTFVERSgidGVzdEJ1aWx0SW5PYmplY3QuanMiKTsKCnRlc3RCdWlsdEluT2JqZWN0KERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZywgdHJ1ZSwgZmFsc2UsIFtdLCAwKTsKCg==", "commentary":"", "description":"Tests that Date.prototype.toLocaleTimeString\n meets the requirements for built-in objects defined by the introduction of\n chapter 15 of the ECMAScript Language Specification.", "path":"TestCases/intl402/ch13/13.3/13.3.3_L15.js" } ] } }