{"testsCollection":{"name":"Chapter - bestPractice","numTests":"20","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBkZWNsYXJhdGlvbiB3aXRoaW4gYW4gImlmIiBzdGF0ZW1lbnQgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggYmVzdFByYWN0aWNlL1NicF8xMi41X0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgZnVuY3Rpb24gd2l0aGluIGFuICJpZiIgc3RhdGVtZW50IHRoYXQgaXMgZGVjbGFyZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKiBAbmVnYXRpdmUKICovCgpmdW5jdGlvbigpewoKaWYgKHRydWUpIHsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn0gZWxzZSB7CiAgICBmdW5jdGlvbiBfX2Z1bmMoKXt9Owp9Cgp9OwoK","commentary":"Function declaration within an \"if\" statement is not allowed","description":"Declaring function within an \"if\" statement that is declared within the function declaration","negative":"","path":"TestCases/bestPractice/Sbp_12.5_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJkby13aGlsZSIgQmxvY2sgaXMgbm90IGFsbG93ZWQKICoKICogQHBhdGggYmVzdFByYWN0aWNlL1NicF8xMi42LjFfQTEzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYSAiZG8td2hpbGUiIGxvb3AgdGhhdCBpcyB3aXRoaW4gYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpdHNlbGYKICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24oKXsKCmRvewogICAgZnVuY3Rpb24gX19mdW5jKCl7fTsKfXdoaWxlKDApOwoKfTsKCg==","commentary":"FunctionDeclaration within a \"do-while\" Block is not allowed","description":"Declaring a function within a \"do-while\" loop that is within a function declaration itself","negative":"","path":"TestCases/bestPractice/Sbp_12.6.1_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJ3aGlsZSIgU3RhdGVtZW50IGlzIG5vdCBhbGxvd2VkCiAqCiAqIEBwYXRoIGJlc3RQcmFjdGljZS9TYnBfMTIuNi4yX0ExM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aGluIGEgIndoaWxlIiBTdGF0ZW1lbnQgdGhhdCBpcyBpbiBhIGZ1bmN0aW9uIGJvZHkgbGVhZHMgdG8gYW4gZXhjZXB0aW9uCiAqIEBuZWdhdGl2ZQogKi8KCmZ1bmN0aW9uKCl7Cgp3aGlsZSgwKXsKICAgIGZ1bmN0aW9uIF9fZnVuYygpe307Cn07Cgp9OwoK","commentary":"FunctionDeclaration within a \"while\" Statement is not allowed","description":"Checking if declaring a function within a \"while\" Statement that is in a function body leads to an exception","negative":"","path":"TestCases/bestPractice/Sbp_12.6.2_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGhpbiBhICJmb3ItaW4iIFN0YXRlbWVudCBpcyBub3QgYWxsb3dlZAogKgogKiBAcGF0aCBiZXN0UHJhY3RpY2UvU2JwXzEyLjYuNF9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoaW4gYSAiZm9yLWluIiBTdGF0ZW1lbnQgdGhhdCBpcyB3aXRoaW4gZnVuY3Rpb24gZGVjbGFyYXRpb24KICogQG5lZ2F0aXZlCiAqLwoKZnVuY3Rpb24oKXsKCmZvcih4IGluIHRoaXMpewogICAgZnVuY3Rpb24gX19mdW5jKCl7fTsKfTsKCn07Cgo=","commentary":"FunctionDeclaration within a \"for-in\" Statement is not allowed","description":"Declaring function within a \"for-in\" Statement that is within function declaration","negative":"","path":"TestCases/bestPractice/Sbp_12.6.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFc2NhcGVTZXF1ZW5jZSA6OiBIZXhFc2NhcGVTZXF1ZW5jZSA6OiB4IEhleERpZ2l0IEhleERpZ2l0CiAqCiAqIEBwYXRoIGJlc3RQcmFjdGljZS9TYnBfNy44LjRfQTYuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gSGV4RXNjYXBlU2VxdWVuY2UgOjogeDBHIGlzIGluY29ycmVjdAogKiBAbmVnYXRpdmUKICovCgovL0NIRUNLIwoiXHgwRyIKCg==","commentary":"EscapeSequence :: HexEscapeSequence :: x HexDigit HexDigit","description":"HexEscapeSequence :: x0G is incorrect","negative":"","path":"TestCases/bestPractice/Sbp_7.8.4_A6.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBIZXhFc2NhcGVTZXF1ZW5jZSA6OiB4IEhleERpZ2l0IGlzIGluY29ycmVjdAogKgogKiBAcGF0aCBiZXN0UHJhY3RpY2UvU2JwXzcuOC40X0E2LjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEhleERpZ2l0IDo6IDEKICogQG5lZ2F0aXZlCiAqLwoKLy9DSEVDSyMxCiJceDEiCgo=","commentary":"HexEscapeSequence :: x HexDigit is incorrect","description":"HexDigit :: 1","negat