aboutsummaryrefslogtreecommitdiffstats
path: root/website/json/11.6_Additive_Operators.json
blob: 4a98b8f041d2e7c9fa30ea446a64d57748c6ff34 (plain)
1
{"testsCollection":{"name":"Chapter - 11.6_Additive_Operators","numTests":"65","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiKyIgb3IgYmV0d2VlbiAiKyIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCAxMV9FeHByZXNzaW9ucy8xMS42X0FkZGl0aXZlX09wZXJhdG9ycy8xMS42LjFfVGhlX0FkZGl0aW9uX29wZXJhdG9yL1MxMS42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDkrXHUwMDA5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDkrXFx1MDAwOTEgPT09IDInKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCK1x1MDAwQjEiKSAhPT0gMikgewogICRFUlJPUignIzI6IDFcXHUwMDBCK1xcdTAwMEIxID09PSAyJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDK1x1MDAwQzEiKSAhPT0gMikgewogICRFUlJPUignIzM6IDFcXHUwMDBDK1xcdTAwMEMxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMCtcdTAwMjAxIikgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMCtcXHUwMDIwMSA9PT0gMicpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTArXHUwMEEwMSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTArXFx1MDBBMDEgPT09IDInKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBK1x1MDAwQTEiKSAhPT0gMikgewogICRFUlJPUignIzY6IDFcXHUwMDBBK1xcdTAwMEExID09PSAyJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBEK1x1MDAwRDEiKSAhPT0gMikgewogICRFUlJPUignIzc6IDFcXHUwMDBEK1xcdTAwMEQxID09PSAyJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOCtcdTIwMjgxIikgIT09IDIpIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOCtcXHUyMDI4MSA9PT0gMicpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjkrXHUyMDI5MSIpICE9PSAyKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjkrXFx1MjAyOTEgPT09IDInKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOStcdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDIpIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOStcXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAyJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"+\" or between \"+\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogMSArIDEgPT09IDIuIEFjdHVhbDogJyArICgxICsgMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKDEgKyB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggKyB5ICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggKyB5ID09PSAyLiBBY3R1YWw6ICcgKyAoeCArIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCArIG9iamVjdHkucHJvcCAhPT0gMikgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wID09PSAyLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wICsgb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x + y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCArIDE7CiAgJEVSUk9SKCcjMS4xOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggKyAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4ICsgMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSArIHk7CiAgJEVSUk9SKCcjMS4xOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgKyB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxICsgeSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoKCg==","commentary":"Operator x + y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEgPT09IDIuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gKyAxICE9PSAyKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICsgMSA9PT0gMi4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSArIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSArIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19ICsgMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gKyAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSArIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzU6IDEgKyB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMikgewogICRFUlJPUignIzY6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDIuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSArIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxICsge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgKyB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBEYXRlIG9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIGRhdGUgIT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKSkgewogICRFUlJPUignIzE6IHZhciBkYXRlID0gbmV3IERhdGUoKTsgZGF0ZSArIGRhdGUgPT09IGRhdGUudG9TdHJpbmcoKSArIGRhdGUudG9TdHJpbmcoKS4gQWN0dWFsOiAnICsgKGRhdGUgKyBkYXRlKSk7ICAKfQoKLy9DSEVDSyMyCnZhciBkYXRlID0gbmV3IERhdGUoKTsKaWYgKGRhdGUgKyAwICE9PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIpIHsKICAkRVJST1IoJyMyOiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyAwID09PSBkYXRlLnRvU3RyaW5nKCkgKyAiMCIuIEFjdHVhbDogJyArIChkYXRlICsgMCkpOyAgCn0KCi8vQ0hFQ0sjMwp2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7CmlmIChkYXRlICsgdHJ1ZSAhPT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOyBkYXRlICsgdHJ1ZSA9PT0gZGF0ZS50b1N0cmluZygpICsgInRydWUiLiBBY3R1YWw6ICcgKyAoZGF0ZSArIHRydWUpKTsgIAp9CgovL0NIRUNLIzQKdmFyIGRhdGUgPSBuZXcgRGF0ZSgpOwppZiAoZGF0ZSArIG5ldyBPYmplY3QoKSAhPT0gZGF0ZS50b1N0cmluZygpICsgIltvYmplY3QgT2JqZWN0XSIpIHsKICAkRVJST1IoJyM0OiB2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7IGRhdGUgKyBuZXcgT2JqZWN0KCkgPT09IGRhdGUudG9TdHJpbmcoKSArICJbb2JqZWN0IE9iamVjdF0iLiBBY3R1YWw6ICcgKyAoZGF0ZSArIG5ldyBPYmplY3QoKSkpOyAgCn0KCgo=","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Date object, evaluate ToPrimitive(value, String)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4ICsgeSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBGdW5jdGlvbiwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgovL0NIRUNLIzEKZnVuY3Rpb24gZjEoKXsKICByZXR1cm4gMDsKfQppZiAoZjEgKyAxICE9PSBmMS50b1N0cmluZygpICsgMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIGYxKCkge3JldHVybiAwO307IGYxICsgMSA9PT0gZjEudG9TdHJpbmcoKSArIDEnKTsKfQoKLy9DSEVDSyMyCmZ1bmN0aW9uIGYyKCl7CiAgcmV0dXJuIDA7Cn0KZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307CmlmICgxICsgZjIgIT09IDEgKyAxKSB7CiAgJEVSUk9SKCcjMjogZjF1bmN0aW9uIGYyKCkge3JldHVybiAwO30gZjIudmFsdWVPZiA9IGZ1bmN0aW9uKCkge3JldHVybiAxO307IDEgKyBmMiA9PT0gMSArIDEuIEFjdHVhbDogJyArICgxICsgZjIpKTsKfQoKLy9DSEVDSyMzCmZ1bmN0aW9uIGYzKCl7CiAgcmV0dXJuIDA7Cn0KZjMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoMSArIGYzICE9PSAxICsgMSkgewogICRFUlJPUignIzM6IGYxdW5jdGlvbiBmMygpIHtyZXR1cm4gMDt9IGYzLnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyAxICsgZjMgPT09IDEgKyAxLiBBY3R1YWw6ICcgKyAoMSArIGYzKSk7Cn0KCi8vQ0hFQ0sjNApmdW5jdGlvbiBmNCgpewogIHJldHVybiAwOwp9CmY0LnZhbHVlT2YgPSBmdW5jdGlvbigpIHtyZXR1cm4gLTE7fTsKZjQudG9TdHJpbmcgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OwppZiAoZjQgKyAxICE9PSAxIC0gMSkgewogICRFUlJPUignIzQ6IGYxdW5jdGlvbiBmNCgpIHtyZXR1cm4gMDt9OyBmMi52YWx1ZU9mID0gZnVuY3Rpb24oKSB7cmV0dXJuIC0xO307IGY0LnRvU3RyaW5nKCkgPSBmdW5jdGlvbigpIHtyZXR1cm4gMTt9OyBmNCArIDEgPT09IDEgLSAxLiBBY3R1YWw6ICcgKyAoZjQgKyAxKSk7Cn0KCg==","commentary":"Operator x + y uses [[Default Value]]","description":"If Type(value) is Function, evaluate ToPrimitive(value, Number)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCAxMV9FeHByZXNzaW9ucy8xMS42X0FkZGl0aXZlX09wZXJhdG9ycy8xMS42LjFfVGhlX0FkZGl0aW9uX29wZXJhdG9yL1MxMS42LjFfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCArIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4ICsgeSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4ICsgeSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggKyB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpICsgeCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSArIHggPT09IDIuIEFjdHVhbDogJyArICgoeCA9IDEpICsgeCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggKyAoeCA9IDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSAwOyB4ICsgKHggPSAxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHggKyAoeCA9IDEpKSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgKyB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSArIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpICsgeSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggKyAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4ICsgKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCArICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSArIHkgIT09IDIpIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpICsgeSA9PT0gMi4gQWN0dWFsOiAnICsgKCh5ID0gMSkgKyB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgYm9vbGVhbiBhbmQgQm9vbGVhbiBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHRydWUgKyB0cnVlICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHRydWUgPT09IDIuIEFjdHVhbDogJyArICh0cnVlICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMikgewogICRFUlJPUignIzM6IHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSA9PT0gMi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBCb29sZWFuKHRydWUpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive boolean and Boolean object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBwcmltaXRpdmUgbnVtYmVyIGFuZCBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICgxICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IDEgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmIChuZXcgTnVtYmVyKDEpICsgMSAhPT0gMikgewogICRFUlJPUignIzI6IG5ldyBOdW1iZXIoMSkgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIDEpKTsKfQoKLy9DSEVDSyMzCmlmICgxICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzM6IDEgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM0CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive number and Number object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBhbmQgVHlwZShQcmltaXRpdmUoeSkpIHZhcnkgYmV0d2VlbiBOdWxsIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKG51bGwgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogbnVsbCArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVsbCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG51bGwpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgbnVsbCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbnVsbCkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiB1bmRlZmluZWQgKyB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBudWxsICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG51bGwgPT09IDAuIEFjdHVhbDogJyArIChudWxsICsgbnVsbCkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Null and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgb3IgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgMSAhPT0gMikgewogICRFUlJPUignIzE6IHRydWUgKyAxID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzI6IDEgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAoMSArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIDEgIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIDEgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArICgxICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IE51bWJlcigxKSAhPT0gMikgewogICRFUlJPUignIzU6IHRydWUgKyBuZXcgTnVtYmVyKDEpID09PSAyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpICsgdHJ1ZSAhPT0gMikgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgKyB0cnVlID09PSAyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgIT09IDIpIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) or Boolean (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogMSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgxICsgbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgKyAxICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogbnVsbCArIDEgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgMSkpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBOdW1iZXIoMSkgKyBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IE51bWJlcigxKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgbnVsbCkpOwp9CgovL0NIRUNLIzQKaWYgKG51bGwgKyBuZXcgTnVtYmVyKDEpICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogbnVsbCArIG5ldyBOdW1iZXIoMSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIE51bWJlciAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oMSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiAxICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkICsgMSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAxID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyAxKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IE51bWJlcigxKSArIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkICsgbmV3IE51bWJlcigxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgTnVtYmVyKDEpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBVbmRlZmluZWQKICovCgovL0NIRUNLIzEKaWYgKGlzTmFOKHRydWUgKyB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodHJ1ZSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKHVuZGVmaW5lZCArIHRydWUpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkICsgdHJ1ZSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgdHJ1ZSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIHVuZGVmaW5lZCkpOwp9CgovL0NIRUNLIzQKaWYgKGlzTmFOKHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBCb29sZWFuKHRydWUpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgKyBuZXcgQm9vbGVhbih0cnVlKSkpOwp9Cgo=","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgbm90IFN0cmluZyBhbmQgVHlwZShQcmltaXRpdmUoeSkpIGlzIG5vdCBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyBUb051bWJlcih4KSArIFRvTnVtYmVyKHkpCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMV9UaGVfQWRkaXRpb25fb3BlcmF0b3IvUzExLjYuMV9BMy4xX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoUHJpbWl0aXZlKHgpKSBpcyBkaWZmZXJlbnQgZnJvbSBUeXBlKFByaW1pdGl2ZSh5KSkgYW5kIGJvdGggdHlwZXMgdmFyeSBiZXR3ZWVuIEJvb2xlYW4gKHByaW1pdGl2ZSBvciBvYmplY3QpIGFuZCBOdWxsCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6IHRydWUgKyBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAodHJ1ZSArIG51bGwpKTsKfQoKLy9DSEVDSyMyCmlmIChudWxsICsgdHJ1ZSAhPT0gMSkgewogICRFUlJPUignIzI6IG51bGwgKyB0cnVlID09PSAxLiBBY3R1YWw6ICcgKyAobnVsbCArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSArIG51bGwgPT09IDEuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSArIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDEpIHsKICAkRVJST1IoJyM0OiBudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDEuIEFjdHVhbDogJyArIChudWxsICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is not String and Type(Primitive(y)) is not String, then operator x + y returns ToNumber(x) + ToNumber(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.1_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDEuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzE6ICIxIiArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSArICIxIiAhPT0gIjExIikgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSArICIxIiA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzM6ICIxIiArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKCIxIiArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIjExIikgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gIjExIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCJ4IiArICIxIiAhPT0ieDEiKSB7CiAgJEVSUk9SKCcjNTogIngiICsgIjEiID09PSAieDEiLiBBY3R1YWw6ICcgKyAoIngiICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoIjEiICsgIngiICE9PSAiMXgiKSB7CiAgJEVSUk9SKCcjNjogIjEiICsgIngiID09PSAiMXgiLiBBY3R1YWw6ICcgKyAoIjEiICsgIngiKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between primitive string and String object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDEuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGFuZCBUeXBlKFByaW1pdGl2ZSh5KSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMTogKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoe30udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMjogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsge30pKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pICE9PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjMzogKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pID09PSAoZnVuY3Rpb24oKXtyZXR1cm4gMX0udG9TdHJpbmcoKSArIGZ1bmN0aW9uKCl7cmV0dXJuIDF9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKGZ1bmN0aW9uKCl7cmV0dXJuIDF9ICsgZnVuY3Rpb24oKXtyZXR1cm4gMX0pKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoKHt9ICsge30pICE9PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpKSB7CiAgJEVSUk9SKCcjNDogKHt9ICsge30pID09PSAoe30udG9TdHJpbmcoKSArIHt9LnRvU3RyaW5nKCkpLiBBY3R1YWw6ICcgKyAoKHt9ICsge30pKSk7Cn0KCgoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) and Type(Primitive(y)) vary between Object object and Function object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDIuMS5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMxOiAiMSIgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyMyOiAxICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIDEgIT09ICIxMSIpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgKyAxID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM0OiAxICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoMSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM1OiAiMSIgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgKyAiMSIgIT09ICIxMSIpIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpICsgIjEiID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSArIG5ldyBOdW1iZXIoMSkgIT09ICIxMSIpIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgKyBuZXcgTnVtYmVyKDEpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgKyBuZXcgU3RyaW5nKCIxIikgIT09ICIxMSIpIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpICsgbmV3IFN0cmluZygiMSIpID09PSAiMTEiLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSArIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKCJ4IiArIDEgIT09IngxIikgewogICRFUlJPUignIzk6ICJ4IiArIDEgPT09ICJ4MSIuIEFjdHVhbDogJyArICgieCIgKyAxKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKDEgKyAieCIgIT09ICIxeCIpIHsKICAkRVJST1IoJyMxMDogMSArICJ4IiA9PT0gIjF4Ii4gQWN0dWFsOiAnICsgKDEgKyAieCIpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDIuMi5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlICsgIjEiICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSArICIxIiA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjMjogIjEiICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKCIxIiArIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSArICIxIiAhPT0gInRydWUxIikgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpICsgIjEiID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzQ6ICIxIiArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAoIjEiICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlICsgbmV3IFN0cmluZygiMSIpICE9PSAidHJ1ZTEiKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInRydWUxIi4gQWN0dWFsOiAnICsgKHRydWUgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgKyB0cnVlICE9PSAiMXRydWUiKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpICsgdHJ1ZSA9PT0gIjF0cnVlIi4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSArIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSArIG5ldyBTdHJpbmcoIjEiKSAhPT0gInRydWUxIikgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpICsgbmV3IFN0cmluZygiMSIpID09PSAidHJ1ZTEiLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgKyBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgKyBuZXcgQm9vbGVhbih0cnVlKSAhPT0gIjF0cnVlIikgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSArIG5ldyBCb29sZWFuKHRydWUpID09PSAiMXRydWUiLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpICsgbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDIuMy5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmICgiMSIgKyB1bmRlZmluZWQgIT09ICIxdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6ICIxIiArIHVuZGVmaW5lZCA9PT0gIjF1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAoIjEiICsgdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAodW5kZWZpbmVkICsgIjEiICE9PSAidW5kZWZpbmVkMSIpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgKyAiMSIgPT09ICJ1bmRlZmluZWQxIi4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCArICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSArIHVuZGVmaW5lZCAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpICsgdW5kZWZpbmVkID09PSAiMXVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmICh1bmRlZmluZWQgKyBuZXcgU3RyaW5nKCIxIikgIT09ICJ1bmRlZmluZWQxIikgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCArIG5ldyBTdHJpbmcoIjEiKSA9PT0gInVuZGVmaW5lZDEiLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBJZiBUeXBlKFByaW1pdGl2ZSh4KSkgaXMgU3RyaW5nIG9yIFR5cGUoUHJpbWl0aXZlKHkpKSBpcyBTdHJpbmcsIHRoZW4gb3BlcmF0b3IgeCArIHkgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgVG9TdHJpbmcoeCkgZm9sbG93ZWQgYnkgVG9TdHJpbmcoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0EzLjJfVDIuNC5qcwogKiBAZGVzY3JpcHRpb24gVHlwZShQcmltaXRpdmUoeCkpIGlzIGRpZmZlcmVudCBmcm9tIFR5cGUoUHJpbWl0aXZlKHkpKSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzE6ICIxIiArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArICgiMSIgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCArICIxIiAhPT0gIm51bGwxIikgewogICRFUlJPUignIzI6IG51bGwgKyAiMSIgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgIjEiKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IFN0cmluZygiMSIpICsgbnVsbCAhPT0gIjFudWxsIikgewogICRFUlJPUignIzM6IG5ldyBTdHJpbmcoIjEiKSArIG51bGwgPT09ICIxbnVsbCIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgKyBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCArIG5ldyBTdHJpbmcoIjEiKSAhPT0gIm51bGwxIikgewogICRFUlJPUignIzQ6IG51bGwgKyBuZXcgU3RyaW5nKCIxIikgPT09ICJudWxsMSIuIEFjdHVhbDogJyArIChudWxsICsgbmV3IFN0cmluZygiMSIpKSk7Cn0KCg==","commentary":"If Type(Primitive(x)) is String or Type(Primitive(y)) is String, then operator x + y returns the result of concatenating ToString(x) followed by ToString(y)","description":"Type(Primitive(x)) is different from Type(Primitive(y)) and both types vary between String (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A3.2_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOICsgMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOICsgMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOICsgMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgKyBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxICsgTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgKyBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTmFOKSk7Cn0KCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If either operand is NaN, the result is NaN","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIG9wcG9zaXRlIHNpZ24gaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpICE9PSB0cnVlICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgLUluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSArIC1JbmZpbml0eSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of opposite sign is NaN","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBpbmZpbml0aWVzIG9mIHRoZSBzYW1lIHNpZ24gaXMgdGhlIGluZmluaXR5IG9mIHRoYXQgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5ICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAtSW5maW5pdHkpKTsKfQoKCgoK","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two infinities of the same sign is the infinity of that sign","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGFuIGluZmluaXR5IGFuZCBhIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgaW5maW5pdGUgb3BlcmFuZAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICsgMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5ICsgMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSArIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSArIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xICsgSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzMKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSArIDEgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyMzOiAtSW5maW5pdHkgKyAxID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTEgKyBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM0OiAtMSArIC1JbmZpbml0eSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgKyAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKyBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5ICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgKyBJbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNwppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzc6IC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSArIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzg6IC1OdW1iZXIuTUFYX1ZBTFVFICsgLUluZmluaXR5ID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSArIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of an infinity and a finite value is equal to the infinite operand","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBuZWdhdGl2ZSB6ZXJvcyBpcyAtMC4gVGhlIHN1bSBvZiB0d28gcG9zaXRpdmUgemVyb3MsIG9yIG9mIHR3byB6ZXJvcyBvZiBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtMCArIC0wICE9PSAtMCApIHsgIAogICRFUlJPUignIzEuMTogLTAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgLTApKTsKfSBlbHNlIHsKICBpZiAoMSAvICgtMCArIC0wKSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjE6IC0wICsgLTAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgwICsgLTAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMyLjE6IDAgKyAtMCA9PT0gMC4gQWN0dWFsOiAnICsgKDAgKyAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAwICsgLTAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMCArIDAgIT09IDAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wICsgMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wICsgMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCArIDAgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwICsgMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCArIDAgPT09IDAuIEFjdHVhbDogJyArICgwICsgMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgKyAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgKyAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two negative zeros is -0. The sum of two positive zeros, or of two zeros of opposite sign is +0","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIGEgemVybyBhbmQgYSBub256ZXJvIGZpbml0ZSB2YWx1ZSBpcyBlcXVhbCB0byB0aGUgbm9uemVybyBvcGVyYW5kCiAqLwoKLy9DSEVDSyMxCmlmICgxICsgLTAgIT09IDEgKSB7ICAKICAkRVJST1IoJyMxOiAxICsgLTAgPT09IDEuIEFjdHVhbDogJyArICgxICsgLTApKTsKfQoKLy9DSEVDSyMyCmlmICgxICsgMCAhPT0gMSApIHsgIAogICRFUlJPUignIzI6IDEgKyAwID09PSAxLiBBY3R1YWw6ICcgKyAoMSArIDApKTsKfSAKCi8vQ0hFQ0sjMwppZiAoLTAgKyAxICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgKyAxID09PSAxLiBBY3R1YWw6ICcgKyAoLTAgKyAxKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoMCArIDEgIT09IDEgKSB7ICAKICAkRVJST1IoJyM0OiAwICsgMSA9PT0gMS4gQWN0dWFsOiAnICsgKDAgKyAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgKyAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgKyAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgKyAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSArIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCArIE51bWJlci5NSU5fVkFMVUUgIT09IE51bWJlci5NSU5fVkFMVUUgKSB7ICAKICAkRVJST1IoJyM3OiAtMCArIE51bWJlci5NSU5fVkFMVUUgPT09IE51bWJlci5NSU5fVkFMVUUuIEFjdHVhbDogJyArICgtMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfQoKLy9DSEVDSyM4CmlmICgwICsgTnVtYmVyLk1JTl9WQUxVRSAhPT0gTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgKyBOdW1iZXIuTUlOX1ZBTFVFID09PSBOdW1iZXIuTUlOX1ZBTFVFLiBBY3R1YWw6ICcgKyAoMCArIE51bWJlci5NSU5fVkFMVUUpKTsKfSAKCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of a zero and a nonzero finite value is equal to the nonzero operand","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgc3VtIG9mIHR3byBub256ZXJvIGZpbml0ZSB2YWx1ZXMgb2YgdGhlIHNhbWUgbWFnbml0dWRlIGFuZCBvcHBvc2l0ZSBzaWduIGlzICswCiAqLwoKLy9DSEVDSyMxCmlmICgtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUlOX1ZBTFVFICsgTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiAtTnVtYmVyLk1JTl9WQUxVRSArIE51bWJlci5NSU5fVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMyCmlmICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjE6IC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4yOiAtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoKLy9DSEVDSyMzCmlmICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogLTEgLyBOdW1iZXIuTUFYX1ZBTFVFICsgMSAvIE51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtMSAvIE51bWJlci5NQVhfVkFMVUUgKyAxIC8gTnVtYmVyLk1BWF9WQUxVRSkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IC0xIC8gTnVtYmVyLk1BWF9WQUxVRSArIDEgLyBOdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The sum of two nonzero finite values of the same magnitude and opposite sign is +0","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIE51bWJlci5NQVhfVkFMVUUpKTsKfQoKLy9DSEVDSyMzCmlmICgxZSszMDggKyAxZSszMDggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IDFlKzMwOCArIDFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4ICsgMWUrMzA4KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoLTguOTllKzMwNyAtIDguOTllKzMwNyAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNDogLTguOTllKzMwNyAtIDguOTllKzMwNyA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoLTguOTllKzMwNyAtIDguOTllKzMwNykpOwp9Cgo=","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUaGUgcmVzdWx0IG9mIGFuIGFkZGl0aW9uIGlzIGRldGVybWluZWQgdXNpbmcgdGhlIHJ1bGVzIG9mIElFRUUgNzU0IGRvdWJsZS1wcmVjaXNpb24gYXJpdGhtZXRpY3MKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4xX1RoZV9BZGRpdGlvbl9vcGVyYXRvci9TMTEuNi4xX0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYWRkaXRpb24gb3BlcmF0b3IgaXMgbm90IGFsd2F5cyBhc3NvY2lhdGl2ZSAoIHggKyB5ICsgeiBpcyB0aGUgc2FtZSAoeCArIHkpICsgeiwgbm90IHggKyAoeSArIHopKQogKi8KCi8vQ0hFQ0sjMQppZiAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSAhPT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSB7CiAgJEVSUk9SKCcjMTogLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFLiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkpOwp9IAoKLy9DSEVDSyMyCmlmICgoLU51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSArIE51bWJlci5NQVhfVkFMVUUgPT09IC1OdW1iZXIuTUFYX1ZBTFVFICsgKE51bWJlci5NQVhfVkFMVUUgKyBOdW1iZXIuTUFYX1ZBTFVFKSkgewogICRFUlJPUignIzI6ICgtTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpICsgTnVtYmVyLk1BWF9WQUxVRSA9PT0gLU51bWJlci5NQVhfVkFMVUUgKyAoTnVtYmVyLk1BWF9WQUxVRSArIE51bWJlci5NQVhfVkFMVUUpLiBBY3R1YWw6ICcgKyAoKC1OdW1iZXIuTUFYX1ZBTFVFICsgTnVtYmVyLk1BWF9WQUxVRSkgKyBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoIjEiICsgMSArIDEgIT09ICgiMSIgKyAxKSArIDEpIHsKICAkRVJST1IoJyMzOiAiMSIgKyAxICsgMSA9PT0gKCIxIiArIDEpICsgMS4gQWN0dWFsOiAnICsgKCIxIiArIDEgKyAxKSk7Cn0gCgovL0NIRUNLIzQKaWYgKCgiMSIgKyAxKSArIDEgPT09ICIxIiArICgxICsgMSkpIHsKICAkRVJST1IoJyM0OiAoIjEiICsgMSkgKyAxICE9PSAiMSIgKyAoMSArIDEpJyk7Cn0KCg==","commentary":"The result of an addition is determined using the rules of IEEE 754 double-precision arithmetics","description":"The addition operator is not always associative ( x + y + z is the same (x + y) + z, not x + (y + z))","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.1_The_Addition_operator/S11.6.1_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBXaGl0ZSBTcGFjZSBhbmQgTGluZSBUZXJtaW5hdG9yIGJldHdlZW4gQWRkaXRpdmVFeHByZXNzaW9uIGFuZCAiLSIgb3IgYmV0d2VlbiAiLSIgYW5kIE11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbiBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCAxMV9FeHByZXNzaW9ucy8xMS42X0FkZGl0aXZlX09wZXJhdG9ycy8xMS42LjJfVGhlX1N1YnRyYWN0aW9uX29wZXJhdG9yL1MxMS42LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoIjFcdTAwMDktXHUwMDA5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMVxcdTAwMDktXFx1MDAwOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMyCmlmIChldmFsKCIxXHUwMDBCLVx1MDAwQjEiKSAhPT0gMCkgewogICRFUlJPUignIzI6IDFcXHUwMDBCLVxcdTAwMEIxID09PSAwJyk7ICAKfQoKLy9DSEVDSyMzCmlmIChldmFsKCIxXHUwMDBDLVx1MDAwQzEiKSAhPT0gMCkgewogICRFUlJPUignIzM6IDFcXHUwMDBDLVxcdTAwMEMxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbCgiMVx1MDAyMC1cdTAwMjAxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxXFx1MDAyMC1cXHUwMDIwMSA9PT0gMCcpOwp9CgovL0NIRUNLIzUKaWYgKGV2YWwoIjFcdTAwQTAtXHUwMEEwMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogMVxcdTAwQTAtXFx1MDBBMDEgPT09IDAnKTsKfQoKLy9DSEVDSyM2CmlmIChldmFsKCIxXHUwMDBBLVx1MDAwQTEiKSAhPT0gMCkgewogICRFUlJPUignIzY6IDFcXHUwMDBBLVxcdTAwMEExID09PSAwJyk7ICAKfQoKLy9DSEVDSyM3CmlmIChldmFsKCIxXHUwMDBELVx1MDAwRDEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IDFcXHUwMDBELVxcdTAwMEQxID09PSAwJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZXZhbCgiMVx1MjAyOC1cdTIwMjgxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiAxXFx1MjAyOC1cXHUyMDI4MSA9PT0gMCcpOwp9CgovL0NIRUNLIzkKaWYgKGV2YWwoIjFcdTIwMjktXHUyMDI5MSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogMVxcdTIwMjktXFx1MjAyOTEgPT09IDAnKTsKfQoKLy9DSEVDSyMxMAppZiAoZXZhbCgiMVx1MDAwOVx1MDAwQlx1MDAwQ1x1MDAyMFx1MDBBMFx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOS1cdTAwMDlcdTAwMEJcdTAwMENcdTAwMjBcdTAwQTBcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkxIikgIT09IDApIHsKICAkRVJST1IoJyMxMDogMVxcdTAwMDlcXHUwMDBCXFx1MDAwQ1xcdTAwMjBcXHUwMEEwXFx1MDAwQVxcdTAwMERcXHUyMDI4XFx1MjAyOS1cXHUwMDA5XFx1MDAwQlxcdTAwMENcXHUwMDIwXFx1MDBBMFxcdTAwMEFcXHUwMDBEXFx1MjAyOFxcdTIwMjkxID09PSAwJyk7Cn0KCg==","commentary":"White Space and Line Terminator between AdditiveExpression and \"-\" or between \"-\" and MultiplicativeExpression are allowed","description":"Checking by using eval","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMl9UaGVfU3VidHJhY3Rpb25fb3BlcmF0b3IvUzExLjYuMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFaXRoZXIgVHlwZSBpcyBub3QgUmVmZXJlbmNlIG9yIEdldEJhc2UgaXMgbm90IG51bGwKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAxOwppZiAoeCAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IDE7IHggLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIDEpKTsKfQoKLy9DSEVDSyMzCnZhciB5ID0gMTsKaWYgKDEgLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHkgPSAxOyAxIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLSB5KSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IDE7CnZhciB5ID0gMTsKaWYgKHggLSB5ICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSAxOyB2YXIgeSA9IDE7IHggLSB5ID09PSAwLiBBY3R1YWw6ICcgKyAoeCAtIHkpKTsKfQoKLy9DSEVDSyM1CnZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOwp2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsKb2JqZWN0eC5wcm9wID0gMTsKb2JqZWN0eS5wcm9wID0gMTsKaWYgKG9iamVjdHgucHJvcCAtIG9iamVjdHkucHJvcCAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmplY3R4ID0gbmV3IE9iamVjdCgpOyB2YXIgb2JqZWN0eSA9IG5ldyBPYmplY3QoKTsgb2JqZWN0eC5wcm9wID0gMTsgb2JqZWN0eS5wcm9wID0gMTsgb2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wID09PSAwLiBBY3R1YWw6ICcgKyAob2JqZWN0eC5wcm9wIC0gb2JqZWN0eS5wcm9wKSk7Cn0KCg==","commentary":"Operator x - y uses GetValue","description":"Either Type is not Reference or GetBase is not null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMl9UaGVfU3VidHJhY3Rpb25fb3BlcmF0b3IvUzExLjYuMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHgpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgeCAtIDE7CiAgJEVSUk9SKCcjMS4xOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKHggLSAxKSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB4IC0gMSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(x) is null, throw ReferenceError","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIEdldFZhbHVlCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMl9UaGVfU3VidHJhY3Rpb25fb3BlcmF0b3IvUzExLjYuMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBHZXRCYXNlKHkpIGlzIG51bGwsIHRocm93IFJlZmVyZW5jZUVycm9yCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgMSAtIHk7CiAgJEVSUk9SKCcjMS4xOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKDEgLSB5KSk7ICAKfQpjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiAxIC0geSB0aHJvdyBSZWZlcmVuY2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQoK","commentary":"Operator x - y uses GetValue","description":"If GetBase(y) is null, throw ReferenceError","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSB1c2VzIFtbRGVmYXVsdCBWYWx1ZV1dCiAqCiAqIEBwYXRoIDExX0V4cHJlc3Npb25zLzExLjZfQWRkaXRpdmVfT3BlcmF0b3JzLzExLjYuMl9UaGVfU3VidHJhY3Rpb25fb3BlcmF0b3IvUzExLjYuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKLy9DSEVDSyMxCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMyOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEgPT09IDAuIEFjdHVhbDogJyArICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmICh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMzoge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IC0gMSA9PT0gMC4gQWN0dWFsOiAnICsgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAtIDEpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgaWYgKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fSAtIDEpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IC0gMSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gLSAxIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQppZiAoMSAtIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzU6IDEgLSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAhPT0gMCkgewogICRFUlJPUignIzY6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gPT09IDAuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwogICRFUlJPUignIzcuMTogMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19KSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19IHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgMSAtIHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgJEVSUk9SKCcjOC4xOiAxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgxIC0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IDEgLSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator x - y uses [[Default Value]]","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBUb051bWJlcihmaXJzdCBleHByZXNzaW9uKSBpcyBjYWxsZWQgZmlyc3QsIGFuZCB0aGVuIFRvTnVtYmVyKHNlY29uZCBleHByZXNzaW9uKQogKgogKiBAcGF0aCAxMV9FeHByZXNzaW9ucy8xMS42X0FkZGl0aXZlX09wZXJhdG9ycy8xMS42LjJfVGhlX1N1YnRyYWN0aW9uX29wZXJhdG9yL1MxMS42LjJfQTIuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgd2l0aCAidGhyb3ciCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfSB9Owp2YXIgeSA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieSI7IH0gfTsKdHJ5IHsKICAgeCAtIHk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9IH07IHZhciB5ID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfSB9OyB4IC0geSB0aHJvdyAieCIuIEFjdHVhbDogJyArICh4IC0geSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IFRvTnVtYmVyKGZpcnN0IGV4cHJlc3Npb24pIGlzIGNhbGxlZCBmaXJzdCwgYW5kIHRoZW4gVG9OdW1iZXIoc2Vjb25kIGV4cHJlc3Npb24pJyk7CiAgIH0gZWxzZSB7CiAgICAgaWYgKGUgIT09ICJ4IikgewogICAgICAgJEVSUk9SKCcjMS4zOiB2YXIgeCA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyB0aHJvdyAieCI7IH0gfTsgdmFyIHkgPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9IH07IHggLSB5IHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"ToNumber(first expression) is called first, and then ToNumber(second expression)","description":"Checking with \"throw\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggIj0iCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gMDsgCmlmICgoeCA9IDEpIC0geCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gMDsgKHggPSAxKSAtIHggPT09IDAuIEFjdHVhbDogJyArICgoeCA9IDEpIC0geCkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSAwOyAKaWYgKHggLSAoeCA9IDEpICE9PSAtMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gMDsgeCAtICh4ID0gMSkgPT09IC0xLiBBY3R1YWw6ICcgKyAoeCAtICh4ID0gMSkpKTsKfQoKCg==","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"=\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EyLjRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggInRocm93IgogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgIngiOyB9Owp2YXIgeSA9IGZ1bmN0aW9uICgpIHsgdGhyb3cgInkiOyB9Owp0cnkgewogICB4KCkgLSB5KCk7CiAgICRFUlJPUignIzEuMTogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKHgoKSAtIHkoKSkpOwp9IGNhdGNoIChlKSB7CiAgIGlmIChlID09PSAieSIpIHsKICAgICAkRVJST1IoJyMxLjI6IEZpcnN0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkIGZpcnN0LCBhbmQgdGhlbiBzZWNvbmQgZXhwcmVzc2lvbicpOwogICB9IGVsc2UgewogICAgIGlmIChlICE9PSAieCIpIHsKICAgICAgICRFUlJPUignIzEuMzogdmFyIHggPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ4IjsgfTsgdmFyIHkgPSBmdW5jdGlvbiAoKSB7IHRocm93ICJ5IjsgfTsgeCgpIC0geSgpIHRocm93ICJ4Ii4gQWN0dWFsOiAnICsgKGUpKTsKICAgICB9CiAgIH0KfQoK","commentary":"First expression is evaluated first, and then second expression","description":"Checking with \"throw\"","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBGaXJzdCBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBmaXJzdCwgYW5kIHRoZW4gc2Vjb25kIGV4cHJlc3Npb24KICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EyLjRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHdpdGggdW5kZWNsYXJhdGVkIHZhcmlhYmxlcwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHggLSAoeCA9IDEpOwogICRFUlJPUignIzEuMTogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArICh4IC0gKHggPSAxKSkpOyAgCn0KY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCAtICh4ID0gMSkgdGhyb3cgUmVmZXJlbmNlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9Cn0KCi8vQ0hFQ0sjMgppZiAoKHkgPSAxKSAtIHkgIT09IDApIHsKICAkRVJST1IoJyMyOiAoeSA9IDEpIC0geSA9PT0gMC4gQWN0dWFsOiAnICsgKCh5ID0gMSkgLSB5KSk7Cn0KCgo=","commentary":"First expression is evaluated first, and then second expression","description":"Checking with undeclarated variables","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A2.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QxLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBib29sZWFuIGFuZCBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAodHJ1ZSAtIHRydWUgIT09IDApIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive boolean and Boolean object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QxLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBudW1iZXIgYW5kIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKDEgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogMSAtIDEgPT09IDAuIEFjdHVhbDogJyArICgxIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBOdW1iZXIoMSkgLSAxICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogbmV3IE51bWJlcigxKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gMSkpOwp9CgovL0NIRUNLIzMKaWYgKDEgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogMSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgTnVtYmVyKDEpICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IE51bWJlcigxKSkpOwp9CgoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive number and Number object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QxLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIHByaW1pdGl2ZSBzdHJpbmcgYW5kIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzE6ICIxIiAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtICIxIikpOwp9CgovL0NIRUNLIzIKaWYgKG5ldyBTdHJpbmcoIjEiKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoIjEiKSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzM6ICIxIiAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKGlzTmFOKCJ4IiAtICIxIikgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiAieCIgLSAiMSIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCJ4IiAtICIxIikpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKCIxIiAtICJ4IikgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiAiMSIgLSAieCIgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKCIxIiAtICJ4IikpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between primitive string and String object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QxLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE51bGwgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4obnVsbCAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBudWxsIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChudWxsIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gbnVsbCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSBudWxsID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4odW5kZWZpbmVkIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHVuZGVmaW5lZCAtIHVuZGVmaW5lZCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG51bGwgIT09IDApIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbnVsbCA9PT0gMC4gQWN0dWFsOiAnICsgKG51bGwgLSBudWxsKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Null and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QxLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgYW5kIFR5cGUoeSkgdmFyeSBiZXR3ZWVuIE9iamVjdCBvYmplY3QgYW5kIEZ1bmN0aW9uIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oe30gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIHt9KSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oZnVuY3Rpb24oKXtyZXR1cm4gMX0gLSBmdW5jdGlvbigpe3JldHVybiAxfSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChmdW5jdGlvbigpe3JldHVybiAxfSAtIGZ1bmN0aW9uKCl7cmV0dXJuIDF9KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oe30gLSB7fSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiB7fSAtIHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSAtIHt9KSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) and Type(y) vary between Object object and Function object","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T1.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjEuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gMSAhPT0gMCkgewogICRFUlJPUignIzE6IHRydWUgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgxIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzI6IDEgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgQm9vbGVhbih0cnVlKSAtIDEgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIDEpKTsKfQoKLy9DSEVDSyM0CmlmICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArICgxIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IE51bWJlcigxKSAhPT0gMCkgewogICRFUlJPUignIzU6IHRydWUgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAodHJ1ZSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgTnVtYmVyKDEpIC0gdHJ1ZSAhPT0gMCkgewogICRFUlJPUignIzY6IG5ldyBOdW1iZXIoMSkgLSB0cnVlID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBOdW1iZXIoMSkpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IDAuIEFjdHVhbDogJyArIChuZXcgTnVtYmVyKDEpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjIuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgU3RyaW5nIChwcmltaXRpdmUgYW5kIG9iamVjdCkKICovCgovL0NIRUNLIzEKaWYgKCIxIiAtIDEgIT09IDApIHsKICAkRVJST1IoJyMxOiAiMSIgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyMyOiAxIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtICIxIikpOwp9CgovL0NIRUNLIzMKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIDEgIT09IDApIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgLSAxID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDEgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM0OiAxIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAoMSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKCIxIiAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM1OiAiMSIgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzYKaWYgKG5ldyBOdW1iZXIoMSkgLSAiMSIgIT09IDApIHsKICAkRVJST1IoJyM2OiBuZXcgTnVtYmVyKDEpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtICIxIikpOwp9CgovL0NIRUNLIzcKaWYgKG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBOdW1iZXIoMSkgIT09IDApIHsKICAkRVJST1IoJyM3OiBuZXcgU3RyaW5nKCIxIikgLSBuZXcgTnVtYmVyKDEpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IE51bWJlcigxKSkpOwp9CgovL0NIRUNLIzgKaWYgKG5ldyBOdW1iZXIoMSkgLSBuZXcgU3RyaW5nKCIxIikgIT09IDApIHsKICAkRVJST1IoJyM4OiBuZXcgTnVtYmVyKDEpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKGlzTmFOKCJ4IiAtIDEpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogIngiIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoIngiIC0gMSkpOwp9CgovL0NIRUNLIzEwCmlmIChpc05hTigxIC0gIngiKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiAxIC0gIngiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gIngiKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjMuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoMSAtIG51bGwgIT09IDEpIHsKICAkRVJST1IoJyMxOiAxIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtIDEgIT09IC0xKSB7CiAgJEVSUk9SKCcjMjogbnVsbCAtIDEgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgTnVtYmVyKDEpIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcigxKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IE51bWJlcigxKSAhPT0gLTEpIHsKICAkRVJST1IoJyM0OiBudWxsIC0gbmV3IE51bWJlcigxKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IE51bWJlcigxKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjQuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gTnVtYmVyIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigxIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IDEgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKDEgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAxKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHVuZGVmaW5lZCAtIDEgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIDEpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgTnVtYmVyKDEpIC0gdW5kZWZpbmVkKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBOdW1iZXIoMSkgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgTnVtYmVyKDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBOdW1iZXIoMSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjUuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgQm9vbGVhbiAocHJpbWl0aXZlIGFuZCBvYmplY3QpCiAqLwoKLy9DSEVDSyMxCmlmICh0cnVlIC0gIjEiICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtICIxIiA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSAiMSIpKTsKfQoKLy9DSEVDSyMyCmlmICgiMSIgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogIjEiIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKCIxIiAtIHRydWUpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgQm9vbGVhbih0cnVlKSAtICIxIiAhPT0gMCkgewogICRFUlJPUignIzM6IG5ldyBCb29sZWFuKHRydWUpIC0gIjEiID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSAiMSIpKTsKfQoKLy9DSEVDSyM0CmlmICgiMSIgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzQ6ICIxIiAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAoIjEiIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoKLy9DSEVDSyM1CmlmICh0cnVlIC0gbmV3IFN0cmluZygiMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdHJ1ZSAtIG5ldyBTdHJpbmcoIjEiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHRydWUgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChuZXcgU3RyaW5nKCIxIikgLSB0cnVlICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogbmV3IFN0cmluZygiMSIpIC0gdHJ1ZSA9PT0gMC4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIHRydWUpKTsKfQoKLy9DSEVDSyM3CmlmIChuZXcgQm9vbGVhbih0cnVlKSAtIG5ldyBTdHJpbmcoIjEiKSAhPT0gMCkgewogICRFUlJPUignIzc6IG5ldyBCb29sZWFuKHRydWUpIC0gbmV3IFN0cmluZygiMSIpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoKLy9DSEVDSyM4CmlmIChuZXcgU3RyaW5nKCIxIikgLSBuZXcgQm9vbGVhbih0cnVlKSAhPT0gMCkgewogICRFUlJPUignIzg6IG5ldyBTdHJpbmcoIjEiKSAtIG5ldyBCb29sZWFuKHRydWUpID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygiMSIpIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjYuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgVW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTigiMSIgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogIjEiIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgiMSIgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTih1bmRlZmluZWQgLSAiMSIpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogdW5kZWZpbmVkIC0gIjEiID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCIxIikgLSB1bmRlZmluZWQpKTsKfQoKLy9DSEVDSyM0CmlmIChpc05hTih1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IFN0cmluZygiMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSBuZXcgU3RyaW5nKCIxIikpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjcuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gU3RyaW5nIChwcmltaXRpdmUgb3Igb2JqZWN0KSBhbmQgTnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAoIjEiIC0gbnVsbCAhPT0gMSkgewogICRFUlJPUignIzE6ICIxIiAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICgiMSIgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobnVsbCAtICIxIiAhPT0gLTEpIHsKICAkRVJST1IoJyMyOiBudWxsIC0gIjEiID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSAiMSIpKTsKfQoKLy9DSEVDSyMzCmlmIChuZXcgU3RyaW5nKCIxIikgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IFN0cmluZygiMSIpIC0gbnVsbCA9PT0gMS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSAtIG51bGwpKTsKfQoKLy9DSEVDSyM0CmlmIChudWxsIC0gbmV3IFN0cmluZygiMSIpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgU3RyaW5nKCIxIikgPT09IC0xLiBBY3R1YWw6ICcgKyAobnVsbCAtIG5ldyBTdHJpbmcoIjEiKSkpOwp9Cgo=","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjguanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIFVuZGVmaW5lZAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4odHJ1ZSAtIHVuZGVmaW5lZCkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB0cnVlIC0gdW5kZWZpbmVkID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh0cnVlIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4odW5kZWZpbmVkIC0gdHJ1ZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiB1bmRlZmluZWQgLSB0cnVlID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh1bmRlZmluZWQgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4obmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSB1bmRlZmluZWQgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBCb29sZWFuKHRydWUpIC0gdW5kZWZpbmVkKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4odW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogdW5kZWZpbmVkIC0gbmV3IEJvb2xlYW4odHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHVuZGVmaW5lZCAtIG5ldyBCb29sZWFuKHRydWUpKSk7Cn0KCg==","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSByZXR1cm5zIFRvTnVtYmVyKHgpIC0gVG9OdW1iZXIoeSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0EzX1QyLjkuanMKICogQGRlc2NyaXB0aW9uIFR5cGUoeCkgaXMgZGlmZmVyZW50IGZyb20gVHlwZSh5KSBhbmQgYm90aCB0eXBlcyB2YXJ5IGJldHdlZW4gQm9vbGVhbiAocHJpbWl0aXZlIG9yIG9iamVjdCkgYW5kIE51bGwKICovCgovL0NIRUNLIzEKaWYgKHRydWUgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdHJ1ZSAtIG51bGwgPT09IDEuIEFjdHVhbDogJyArICh0cnVlIC0gbnVsbCkpOwp9CgovL0NIRUNLIzIKaWYgKG51bGwgLSB0cnVlICE9PSAtMSkgewogICRFUlJPUignIzI6IG51bGwgLSB0cnVlID09PSAtMS4gQWN0dWFsOiAnICsgKG51bGwgLSB0cnVlKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogbmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsID09PSAxLiBBY3R1YWw6ICcgKyAobmV3IEJvb2xlYW4odHJ1ZSkgLSBudWxsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAobnVsbCAtIG5ldyBCb29sZWFuKHRydWUpICE9PSAtMSkgewogICRFUlJPUignIzQ6IG51bGwgLSBuZXcgQm9vbGVhbih0cnVlKSA9PT0gLTEuIEFjdHVhbDogJyArIChudWxsIC0gbmV3IEJvb2xlYW4odHJ1ZSkpKTsKfQoK","commentary":"Operator x - y returns ToNumber(x) - ToNumber(y)","description":"Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A3_T2.9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBlaXRoZXIgb3BlcmFuZCBpcyBOYU4sIHRoZSByZXN1bHQgaXMgTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihOdW1iZXIuTmFOIC0gMSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMTogTmFOIC0gMSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoTmFOIC0gMSkpOwp9CgovL0NIRUNLIzIKaWYgKGlzTmFOKDEgLSBOdW1iZXIuTmFOKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAxIC0gTmFOID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICgxIC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjMzogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNDogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4oTnVtYmVyLk5hTiAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNTogTmFOIC0gSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTiAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5hTikgIT09IHRydWUgKSB7CiAgJEVSUk9SKCcjNjogSW5maW5pdHkgLSBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTmFOKSk7Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"If either operand is NaN, the result is NaN","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiBvcHBvc2l0ZSBzaWduIGlzIHRoZSBpbmZpbml0eSBvZiBtaW51ZW5kIHNpZ24KICovCgovL0NIRUNLIzEKaWYgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAtIE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gLUluZmluaXR5ID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gLUluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMjogLUluZmluaXR5IC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCgoKCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of opposite sign is the infinity of minuend sign","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiB0d28gaW5maW5pdGllcyBvZiB0aGUgc2FtZSBzaWduIGlzIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4oTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMxOiBJbmZpbml0eSAtIEluZmluaXR5ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIEluZmluaXR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gdHJ1ZSApIHsKICAkRVJST1IoJyMyOiAtSW5maW5pdHkgLSAtSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKC1JbmZpbml0eSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of two infinities of the same sign is NaN","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZGlmZmVyZW5jZSBvZiBhbiBpbmZpbml0eSBhbmQgYSBmaW5pdGUgdmFsdWUgaXMgZXF1YWwgdG8gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIC0gMSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzE6IEluZmluaXR5IC0gMSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChJbmZpbml0eSAtIDEpKTsKfQoKLy9DSEVDSyMyCmlmICgtMSAtIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICkgewogICRFUlJPUignIzI6IC0xIC0gSW5maW5pdHkgPT09IC1JbmZpbml0eS4gQWN0dWFsOiAnICsgKC0xIC0gSW5maW5pdHkpKTsKfQoKLy9DSEVDSyMzCmlmIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgLSAxICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjMzogLUluZmluaXR5IC0gMSA9PT0gLUluZmluaXR5LiBBY3R1YWw6ICcgKyAoLUluZmluaXR5IC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKC0xIC0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNDogLTEgLSAtSW5maW5pdHkgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTEgLSAtSW5maW5pdHkpKTsKfQoKLy9DSEVDSyM1CmlmIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgLSBOdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNTogSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKEluZmluaXR5IC0gTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzYKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgKSB7CiAgJEVSUk9SKCcjNjogLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSA9PT0gSS1uZmluaXR5LiBBY3R1YWw6ICcgKyAoLU51bWJlci5NQVhfVkFMVUUgLSBJbmZpbml0eSkpOwp9CgovL0NIRUNLIzcKaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSAtIE51bWJlci5NQVhfVkFMVUUgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM3OiAtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFID09PSAtSW5maW5pdHkuIEFjdHVhbDogJyArICgtSW5maW5pdHkgLSBOdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoLU51bWJlci5NQVhfVkFMVUUgLSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSApIHsKICAkRVJST1IoJyM4OiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1JbmZpbml0eSkpOwp9CgoKCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"The difference of an infinity and a finite value is equal to infinity of appropriate sign","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgdHdvIHplcm9lcyBhbmQgdGhlIGZhY3QgdGhhdCBhIC0gYiA9IGEgKyAoLWIpCiAqLwoKLy9DSEVDSyMxCmlmICgtMCAtIC0wICE9PSAwICkgeyAgCiAgJEVSUk9SKCcjMS4xOiAtMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoLTAgLSAtMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gLTApICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogLTAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKDAgLSAtMCAhPT0gMCApIHsgIAogICRFUlJPUignIzIuMTogMCAtIC0wID09PSAwLiBBY3R1YWw6ICcgKyAoMCAtIC0wKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoMCAtIC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMyLjI6IDAgLSAtMCA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKC0wIC0gMCAhPT0gLTAgKSB7ICAKICAkRVJST1IoJyMzLjE6IC0wIC0gMCA9PT0gMC4gQWN0dWFsOiAnICsgKC0wIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKC0wIC0gMCkgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMy4yOiAtMCAtIDAgPT09IC0gMC4gQWN0dWFsOiArMCcpOwogIH0KfQoKLy9DSEVDSyM0CmlmICgwIC0gMCAhPT0gMCApIHsgIAogICRFUlJPUignIzQuMTogMCAtIDAgPT09IDAuIEFjdHVhbDogJyArICgwIC0gMCkpOwp9IGVsc2UgewogIGlmICgxIC8gKDAgLSAwKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0LjI6IDAgLSAwID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCg==","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of two zeroes and the fact that a - b = a + (-b)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2luZyB0aGUgcnVsZSBvZiBzdW0gb2YgYSB6ZXJvIGFuZCBhIG5vbnplcm8gZmluaXRlIHZhbHVlIGFuZCB0aGUgZmFjdCB0aGF0IGEgLSBiID0gYSArICgtYikKICovCgovL0NIRUNLIzEKaWYgKDEgLSAtMCAhPT0gMSApIHsgIAogICRFUlJPUignIzE6IDEgLSAtMCA9PT0gMS4gQWN0dWFsOiAnICsgKDEgLSAtMCkpOwp9CgovL0NIRUNLIzIKaWYgKDEgLSAwICE9PSAxICkgeyAgCiAgJEVSUk9SKCcjMjogMSAtIDAgPT09IDEuIEFjdHVhbDogJyArICgxIC0gMCkpOwp9IAoKLy9DSEVDSyMzCmlmICgtMCAtIDEgIT09IC0xICkgeyAgCiAgJEVSUk9SKCcjMzogLTAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKC0wIC0gMSkpOwp9CgovL0NIRUNLIzQKaWYgKDAgLSAxICE9PSAtMSApIHsgIAogICRFUlJPUignIzQ6IDAgLSAxID09PSAtMS4gQWN0dWFsOiAnICsgKDAgLSAxKSk7Cn0gCgovL0NIRUNLIzUKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAtMCAhPT0gTnVtYmVyLk1BWF9WQUxVRSApIHsgIAogICRFUlJPUignIzU6IE51bWJlci5NQVhfVkFMVUUgLSAtMCA9PT0gTnVtYmVyLk1BWF9WQUxVRS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtMCkpOwp9CgovL0NIRUNLIzYKaWYgKE51bWJlci5NQVhfVkFMVUUgLSAwICE9PSBOdW1iZXIuTUFYX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNjogTnVtYmVyLk1BWF9WQUxVRSAtIDAgPT09IE51bWJlci5NQVhfVkFMVUUuIEFjdHVhbDogJyArIChOdW1iZXIuTUFYX1ZBTFVFIC0gMCkpOwp9IAoKLy9DSEVDSyM3CmlmICgtMCAtIE51bWJlci5NSU5fVkFMVUUgIT09IC1OdW1iZXIuTUlOX1ZBTFVFICkgeyAgCiAgJEVSUk9SKCcjNzogLTAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKC0wIC0gTnVtYmVyLk1JTl9WQUxVRSkpOwp9CgovL0NIRUNLIzgKaWYgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFICE9PSAtTnVtYmVyLk1JTl9WQUxVRSApIHsgIAogICRFUlJPUignIzg6IDAgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAtTnVtYmVyLk1JTl9WQUxVRS4gQWN0dWFsOiAnICsgKDAgLSBOdW1iZXIuTUlOX1ZBTFVFKSk7Cn0gCgo=","commentary":"Operator x - y produces the same result as x + (-y)","description":"Using the rule of sum of a zero and a nonzero finite value and the fact that a - b = a + (-b)","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgbWF0aGVtYXRpY2FsIGRpZmZlcmVuY2Ugb2YgdHdvIG5vbnplcm8gZmluaXRlIHZhbHVlcyBvZiB0aGUgc2FtZSBtYWduaXR1ZGUgYW5kIHNhbWUgc2lnbiBpcyArMAogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMxLjE6IE51bWJlci5NSU5fVkFMVUUgLSBOdW1iZXIuTUlOX1ZBTFVFID09PSAwLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk1JTl9WQUxVRSAtIE51bWJlci5NSU5fVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvIChOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMS4yOiBOdW1iZXIuTUlOX1ZBTFVFIC0gTnVtYmVyLk1JTl9WQUxVRSA9PT0gKyAwLiBBY3R1YWw6IC0wJyk7CiAgfQp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgIT09ICswKSB7ICAKICAkRVJST1IoJyMyLjI6IC1OdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IDAuIEFjdHVhbDogJyArICgtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyAoLU51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjMi4xOiAtTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFID09PSArIDAuIEFjdHVhbDogLTAnKTsKICB9Cn0KCi8vQ0hFQ0sjMwppZiAoMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSAhPT0gKzApIHsgIAogICRFUlJPUignIzMuMTogMSAvIE51bWJlci5NQVhfVkFMVUUgLSAxIC8gTnVtYmVyLk1BWF9WQUxVRSA9PT0gMC4gQWN0dWFsOiAnICsgKDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUpKTsKfSBlbHNlIHsKICBpZiAoMSAvICgxIC8gTnVtYmVyLk1BWF9WQUxVRSAtIDEgLyBOdW1iZXIuTUFYX1ZBTFVFKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMzLjI6IDEgLyBOdW1iZXIuTUFYX1ZBTFVFIC0gMSAvIE51bWJlci5NQVhfVkFMVUUgPT09ICsgMC4gQWN0dWFsOiAtMCcpOwogIH0KfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"The mathematical difference of two nonzero finite values of the same magnitude and same sign is +0","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8vIFRoaXMgY29kZSBpcyBnb3Zlcm5lZCBieSB0aGUgQlNEIGxpY2Vuc2UgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KCi8qKgogKiBPcGVyYXRvciB4IC0geSBwcm9kdWNlcyB0aGUgc2FtZSByZXN1bHQgYXMgeCArICgteSkKICoKICogQHBhdGggMTFfRXhwcmVzc2lvbnMvMTEuNl9BZGRpdGl2ZV9PcGVyYXRvcnMvMTEuNi4yX1RoZV9TdWJ0cmFjdGlvbl9vcGVyYXRvci9TMTEuNi4yX0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiB0aGUgbWFnbml0dWRlIGlzIHRvbyBsYXJnZSB0byByZXByZXNlbnQsIHRoZSBvcGVyYXRpb24gb3ZlcmZsb3dzIGFuZCB0aGUgcmVzdWx0IGlzIHRoZW4gYW4gaW5maW5pdHkgb2YgYXBwcm9wcmlhdGUgc2lnbgogKi8KCi8vQ0hFQ0sjMQppZiAoTnVtYmVyLk1BWF9WQUxVRSAtIC1OdW1iZXIuTUFYX1ZBTFVFICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIuTUFYX1ZBTFVFIC0gLU51bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKE51bWJlci5NQVhfVkFMVUUgLSAtTnVtYmVyLk1BWF9WQUxVRSkpOwp9CgovL0NIRUNLIzIKaWYgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gTnVtYmVyLk1BWF9WQUxVRSAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogLU51bWJlci5NQVhfVkFMVUUgLSB1bWJlci5NQVhfVkFMVUUgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC1OdW1iZXIuTUFYX1ZBTFVFIC0gdW1iZXIuTUFYX1ZBTFVFKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoMWUrMzA4IC0gLTFlKzMwOCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMzogMWUrMzA4IC0gLTFlKzMwOCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoMWUrMzA4IC0gLTFlKzMwOCkpOwp9CgovL0NIRUNLIzQKaWYgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzQ6IC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcgPT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKC04Ljk5ZSszMDcgLSA4Ljk5ZSszMDcpKTsKfQoK","commentary":"Operator x - y produces the same result as x + (-y)","description":"If the magnitude is too large to represent, the operation overflows and the result is then an infinity of appropriate sign","path":"TestCases/11_Expressions/11.6_Additive_Operators/11.6.2_The_Subtraction_operator/S11.6.2_A4_T8.js"}]}}