{"ScriptPreparationCode":null,"TestCases":[{"Name":"SplitandMatch","Code":"const os_info=\u0060\r\nPRETTY_NAME=\u0022Debian GNU/Linux 10 (buster)\u0022\r\nNAME=\u0022Debian GNU/Linux\u0022\r\nVERSION_ID=\u002210\u0022\r\nVERSION=\u002210 (buster)\u0022\r\nVERSION_CODENAME=buster\r\nID=debian\r\nHOME_URL=\u0022https://www.debian.org/\u0022\r\nSUPPORT_URL=\u0022https://www.debian.org/support\u0022\r\nBUG_REPORT_URL=\u0022https://bugs.debian.org/\u0022\r\nVOLUMIO_BUILD_VERSION=\u002295bed0e5825b461169eaaff10b01e9aeecda25eb\u0022\r\nVOLUMIO_FE_VERSION=\u0022ed2e4c0b70494d6fd7e32a54185637d6ee8c59f5\u0022\r\nVOLUMIO_FE3_VERSION=\u0022f249d10bb7f812af7dbcb63cdffaecc92ebb0b5f\u0022\r\nVOLUMIO_BE_VERSION=\u00221c805a30bea144ace167da5eea23fab80577e5aa\u0022\r\nVOLUMIO_ARCH=\u0022armv7\u0022\r\nVOLUMIO_VARIANT=\u0022volumio\u0022\r\nVOLUMIO_TEST=\u0022FALSE\u0022\r\nVOLUMIO_BUILD_DATE=\u0022Thu Feb 27 01:56:20 UTC 2020\u0022\r\nVOLUMIO_VERSION=\u00223.00\u0022\r\nVOLUMIO_HARDWARE=\u0022orangepilite\u0022\r\nVOLUMIO_HASH=\u00221398018d1a9f99e792897adce084fb5d\u0022\r\n\u0060;\r\nvar file = os_info.split(\u0027\\n\u0027);\r\n\tvar releaseinfo = {\r\n\t\t\u0027systemversion\u0027: null,\r\n\t\t\u0027builddate\u0027: null,\r\n\t\t\u0027variant\u0027: null,\r\n\t\t\u0027hardware\u0027:null\r\n\t};\r\n\t//console.log(file);\r\n\tvar nLines = file.length;\r\n\tvar str;\r\n\tfor (var l = 0; l \u003C nLines; l\u002B\u002B) {\r\n\t\tif (file[l].match(/VOLUMIO_VERSION/i)) {\r\n\t\t\tstr = file[l].split(\u0027=\u0027);\r\n\t\t\treleaseinfo.systemversion = str[1].replace(/\\\u0022/gi, \u0022\u0022);\r\n\t\t}\r\n\t\tif (file[l].match(/VOLUMIO_BUILD_DATE/i)) {\r\n\t\t\tstr = file[l].split(\u0027=\u0027);\r\n\t\t\treleaseinfo.builddate = str[1].replace(/\\\u0022/gi, \u0022\u0022);\r\n\t\t}\r\n\t\tif (file[l].match(/VOLUMIO_VARIANT/i)) {\r\n\t\t\tstr = file[l].split(\u0027=\u0027);\r\n\t\t\treleaseinfo.variant = str[1].replace(/\\\u0022/gi, \u0022\u0022);\r\n\t\t}\r\n\t\tif (file[l].match(/VOLUMIO_HARDWARE/i)) {\r\n\t\t\tstr = file[l].split(\u0027=\u0027);\r\n\t\t\treleaseinfo.hardware = str[1].replace(/\\\u0022/gi, \u0022\u0022);\r\n\t\t}\r\n\t}\r\n","IsDeferred":false},{"Name":"RegExExec","Code":"const os_info=\u0060\r\nPRETTY_NAME=\u0022Debian GNU/Linux 10 (buster)\u0022\r\nNAME=\u0022Debian GNU/Linux\u0022\r\nVERSION_ID=\u002210\u0022\r\nVERSION=\u002210 (buster)\u0022\r\nVERSION_CODENAME=buster\r\nID=debian\r\nHOME_URL=\u0022https://www.debian.org/\u0022\r\nSUPPORT_URL=\u0022https://www.debian.org/support\u0022\r\nBUG_REPORT_URL=\u0022https://bugs.debian.org/\u0022\r\nVOLUMIO_BUILD_VERSION=\u002295bed0e5825b461169eaaff10b01e9aeecda25eb\u0022\r\nVOLUMIO_FE_VERSION=\u0022ed2e4c0b70494d6fd7e32a54185637d6ee8c59f5\u0022\r\nVOLUMIO_FE3_VERSION=\u0022f249d10bb7f812af7dbcb63cdffaecc92ebb0b5f\u0022\r\nVOLUMIO_BE_VERSION=\u00221c805a30bea144ace167da5eea23fab80577e5aa\u0022\r\nVOLUMIO_ARCH=\u0022armv7\u0022\r\nVOLUMIO_VARIANT=\u0022volumio\u0022\r\nVOLUMIO_TEST=\u0022FALSE\u0022\r\nVOLUMIO_BUILD_DATE=\u0022Thu Feb 27 01:56:20 UTC 2020\u0022\r\nVOLUMIO_VERSION=\u00223.00\u0022\r\nVOLUMIO_HARDWARE=\u0022orangepilite\u0022\r\nVOLUMIO_HASH=\u00221398018d1a9f99e792897adce084fb5d\u0022\r\n\u0060; \r\nconst osReleaseFile = os_info;\r\n const releaseInfo = {\r\n systemversion: \u0027VOLUMIO_VERSION\u0027,\r\n builddate: \u0027VOLUMIO_BUILD_DATE\u0027,\r\n variant: \u0027VOLUMIO_VARIANT\u0027,\r\n hardware: \u0027VOLUMIO_HARDWARE\u0027\r\n };\r\n\r\n for (const key in releaseInfo) {\r\n const needle = releaseInfo[key];\r\n const regEx = new RegExp(\u0060^${needle}=(.*)$\u0060, \u0027gm\u0027); // overkill\r\n const res = regEx.exec(osReleaseFile);\r\n // No need to check if we actually captured something, will be null\r\n if (res) {\r\n releaseInfo[key] = res[1].replace(/^\u0022|\u0022$/g, \u0027\u0027);\r\n }\r\n }","IsDeferred":false}]}