{"testsCollection":{"name":"Chapter - ch09","numTests":"128","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgcHJpbWl0aXZlIGNvbnZlcnNpb24gZnJvbSBvYmplY3QgaXMgYSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMDkvOS4xL1M5LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIG9wZXJhdG9yIE51bWJlci4gVGhlIG9wZXJhdG9yIGNhbGxzIFRvUHJpbWl0aXZlIHdpdGggaGludCBOdW1iZXIKICovCgovLyBDSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OwppZiAoTnVtYmVyKG9iamVjdCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgTnVtYmVyKG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChOdW1iZXIob2JqZWN0KSkpOwp9CgovLyBDSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiMCJ9fTsKaWYgKE51bWJlcihvYmplY3QpICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIwIn19OyBOdW1iZXIob2JqZWN0KSA9PT0gMC4gQWN0dWFsOiAnICsgKE51bWJlcihvYmplY3QpKSk7Cn0KCgo=","commentary":"Result of primitive conversion from object is a default value for the Object","description":"Using operator Number. The operator calls ToPrimitive with hint Number","path":"TestCases/ch09/9.1/S9.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgcHJpbWl0aXZlIGNvbnZlcnNpb24gZnJvbSBvYmplY3QgaXMgYSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMDkvOS4xL1M5LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIG9wZXJhdG9yIE51bWJlci4gVGhpcyBvcGVyYXRvciBjYWxscyBUb1ByaW1pdGl2ZSB3aXRoIGhpbnQgTnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmIChTdHJpbmcob2JqZWN0KSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBTdHJpbmcob2JqZWN0KSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoU3RyaW5nKG9iamVjdCkpKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoU3RyaW5nKG9iamVjdCkgIT09ICIwIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IFN0cmluZyhvYmplY3QpID09PSAiMCIuIEFjdHVhbDogJyArIChTdHJpbmcob2JqZWN0KSkpOwp9CgoK","commentary":"Result of primitive conversion from object is a default value for the Object","description":"Using operator Number. This operator calls ToPrimitive with hint Number","path":"TestCases/ch09/9.1/S9.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXN1bHQgb2YgcHJpbWl0aXZlIGNvbnZlcnNpb24gZnJvbSBvYmplY3QgaXMgYSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMDkvOS4xL1M5LjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzaW5nIG9wZXJhdG9yICIrIi4gVGhpcyBvcGVyYXRvciBmaXJzdGx5IGNhbGxzIFRvUHJpbWl0aXZlIGFuZCB0aGVuIGNhbGxzIFRvU3RyaW5nIG9yIFRvTnVtYmVyCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CmlmIChvYmplY3QgKyAiIiAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmplY3QgKyAiIiA9PT0gIjEiLiBBY3R1YWw6ICcgKyAob2JqZWN0ICsgIiIpKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKG9iamVjdCArIDAgIT09ICIxMCIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgb2JqZWN0ICsgMCA9PT0gIjEwIi4gQWN0dWFsOiAnICsgKG9iamVjdCArIDApKTsKfQoKCg==","commentary":"Result of primitive conversion from object is a default value for the Object","description":"Using operator \"+\". This operator firstly calls ToPrimitive and then calls ToString or ToNumber","path":"TestCases/ch09/9.1/S9.1_A1_T3.js"