{"ScriptPreparationCode":"function keys(obj) {\r\n if (!obj) {\r\n return [];\r\n }\r\n if (Object.keys) {\r\n return Object.keys(obj);\r\n }\r\n var keyList = [];\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n keyList.push(key);\r\n }\r\n }\r\n return keyList;\r\n}\r\n\r\nfunction isEmptyObj(obj) {\r\n return !keys(obj).length;\r\n}\r\n\r\nfunction isEmptyObj2(obj) {\r\n if (!obj) {\r\n return true;\r\n }\r\n for (var key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nvar testObj = {\r\n \u0022siteId\u0022: \u002281ac2a67a958e7aebff3df41ee9797a9\u0022,\r\n \u0022installs\u0022: {\r\n \u0022HWCsI8jkLgwa\u0022: {\r\n \u0022appId\u0022: \u0022dvNRF2bh1fgh\u0022,\r\n \u0022scope\u0022: {},\r\n \u0022options\u0022: {\r\n \u0022theme\u0022: \u0022without\u0022\r\n }\r\n }\r\n },\r\n \u0022internal\u0022: {\r\n \u0022placementErrors\u0022: []\r\n }\r\n}","TestCases":[{"Name":"keys","Code":"isEmptyObj(testObj)","IsDeferred":false},{"Name":"for in","Code":"isEmptyObj2(testObj)","IsDeferred":false}]}