diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index eb1eba3..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = { - "env": { - "browser": true, - "node": true, - "commonjs": true, - "es2021": true - }, - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - root: true, -} diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..ef14d6a --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,12 @@ +{ + "env": { + "browser": true, + "node": true, + "commonjs": true, + "es2021": true + }, + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "root": true +} diff --git a/src/data/colorSet.json b/bin/colorSet.json similarity index 100% rename from src/data/colorSet.json rename to bin/colorSet.json diff --git a/jest.config.json b/jest.config.json new file mode 100644 index 0000000..390d6b2 --- /dev/null +++ b/jest.config.json @@ -0,0 +1,21 @@ +{ + "testRegex": "(/tests/.*(test|spec))\\.tsx?$", + "globals": { + "ts-jest": {} + }, + "transformIgnorePatterns": ["/node_modules/"], + "coverageThreshold": { + "global": { + "branches": 10, + "functions": 10, + "lines": 10, + "statements": 10 + } + }, + "coverageReporters": ["text", "lcov"], + "coverageDirectory": "./tests/coverage", + "collectCoverageFrom": [ + "./src/**/*.{js,jsx,ts,tsx}", + "!**/tests/**" + ] +} diff --git a/package-lock.json b/package-lock.json index e69bfdb..1c5a110 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "color-2-name", - "version": "1.2.0", + "version": "1.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "color-2-name", - "version": "1.2.0", + "version": "1.3.0", "license": "ISC", "devDependencies": { "@babel/core": "^7.23.6", @@ -15,10 +15,13 @@ "@jest/globals": "^29.7.0", "@rollup/plugin-terser": "^0.4.4", "@types/jest": "^29.5.11", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@typescript-eslint/eslint-plugin": "^6.15.0", "@typescript-eslint/parser": "^6.14.0", "babel-jest": "^29.7.0", + "benny": "^3.7.1", + "color-2-name": "^1.2.0", + "colord": "^2.9.3", "concurrently": "^8.2.2", "esbuild": "^0.19.10", "eslint": "^8.55.0", @@ -60,6 +63,48 @@ "node": ">=6.0.0" } }, + "node_modules/@arrows/array": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/array/-/array-1.4.1.tgz", + "integrity": "sha512-MGYS8xi3c4tTy1ivhrVntFvufoNzje0PchjEz6G/SsWRgUKxL4tKwS6iPdO8vsaJYldagAeWMd5KRD0aX3Q39g==", + "dev": true, + "dependencies": { + "@arrows/composition": "^1.2.2" + } + }, + "node_modules/@arrows/composition": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@arrows/composition/-/composition-1.2.2.tgz", + "integrity": "sha512-9fh1yHwrx32lundiB3SlZ/VwuStPB4QakPsSLrGJFH6rCXvdrd060ivAZ7/2vlqPnEjBkPRRXOcG1YOu19p2GQ==", + "dev": true + }, + "node_modules/@arrows/dispatch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@arrows/dispatch/-/dispatch-1.0.3.tgz", + "integrity": "sha512-v/HwvrFonitYZM2PmBlAlCqVqxrkIIoiEuy5bQgn0BdfvlL0ooSBzcPzTMrtzY8eYktPyYcHg8fLbSgyybXEqw==", + "dev": true, + "dependencies": { + "@arrows/composition": "^1.2.2" + } + }, + "node_modules/@arrows/error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@arrows/error/-/error-1.0.2.tgz", + "integrity": "sha512-yvkiv1ay4Z3+Z6oQsUkedsQm5aFdyPpkBUQs8vejazU/RmANABx6bMMcBPPHI4aW43VPQmXFfBzr/4FExwWTEA==", + "dev": true + }, + "node_modules/@arrows/multimethod": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/multimethod/-/multimethod-1.4.1.tgz", + "integrity": "sha512-AZnAay0dgPnCJxn3We5uKiB88VL+1ZIF2SjZohLj6vqY2UyvB/sKdDnFP+LZNVsTC5lcnGPmLlRRkAh4sXkXsQ==", + "dev": true, + "dependencies": { + "@arrows/array": "^1.4.1", + "@arrows/composition": "^1.2.2", + "@arrows/error": "^1.0.2", + "fast-deep-equal": "^3.1.3" + } + }, "node_modules/@babel/code-frame": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", @@ -3975,6 +4020,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -4197,6 +4251,45 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "node_modules/benny": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/benny/-/benny-3.7.1.tgz", + "integrity": "sha512-USzYxODdVfOS7JuQq/L0naxB788dWCiUgUTxvN+WLPt/JfcDURNNj8kN/N+uK6PDvuR67/9/55cVKGPleFQINA==", + "dev": true, + "dependencies": { + "@arrows/composition": "^1.0.0", + "@arrows/dispatch": "^1.0.2", + "@arrows/multimethod": "^1.1.6", + "benchmark": "^2.1.4", + "common-tags": "^1.8.0", + "fs-extra": "^10.0.0", + "json2csv": "^5.0.6", + "kleur": "^4.1.4", + "log-update": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/benny/node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -4416,6 +4509,18 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -4446,6 +4551,12 @@ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, + "node_modules/color-2-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/color-2-name/-/color-2-name-1.2.0.tgz", + "integrity": "sha512-bosUXNjvM1hms/rKEGMd/NfyYetrJrWUzfyN5Ip22mkPqj8Iuruu0lQjqGPyfOwWodqEIWqQTh4ViHd4Bqjf5g==", + "dev": true + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4461,6 +4572,30 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -8162,6 +8297,25 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json2csv": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-5.0.7.tgz", + "integrity": "sha512-YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "commander": "^6.1.0", + "jsonparse": "^1.3.1", + "lodash.get": "^4.4.2" + }, + "bin": { + "json2csv": "bin/json2csv.js" + }, + "engines": { + "node": ">= 10", + "npm": ">= 6.13.0" + } + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -8186,6 +8340,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -8250,12 +8413,83 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-update/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -8736,6 +8970,12 @@ "node": ">=8" } }, + "node_modules/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", + "dev": true + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9022,6 +9262,19 @@ "node": ">=10" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -9354,6 +9607,56 @@ "node": ">=8" } }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/smob": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", @@ -10031,6 +10334,48 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@arrows/array": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/array/-/array-1.4.1.tgz", + "integrity": "sha512-MGYS8xi3c4tTy1ivhrVntFvufoNzje0PchjEz6G/SsWRgUKxL4tKwS6iPdO8vsaJYldagAeWMd5KRD0aX3Q39g==", + "dev": true, + "requires": { + "@arrows/composition": "^1.2.2" + } + }, + "@arrows/composition": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@arrows/composition/-/composition-1.2.2.tgz", + "integrity": "sha512-9fh1yHwrx32lundiB3SlZ/VwuStPB4QakPsSLrGJFH6rCXvdrd060ivAZ7/2vlqPnEjBkPRRXOcG1YOu19p2GQ==", + "dev": true + }, + "@arrows/dispatch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@arrows/dispatch/-/dispatch-1.0.3.tgz", + "integrity": "sha512-v/HwvrFonitYZM2PmBlAlCqVqxrkIIoiEuy5bQgn0BdfvlL0ooSBzcPzTMrtzY8eYktPyYcHg8fLbSgyybXEqw==", + "dev": true, + "requires": { + "@arrows/composition": "^1.2.2" + } + }, + "@arrows/error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@arrows/error/-/error-1.0.2.tgz", + "integrity": "sha512-yvkiv1ay4Z3+Z6oQsUkedsQm5aFdyPpkBUQs8vejazU/RmANABx6bMMcBPPHI4aW43VPQmXFfBzr/4FExwWTEA==", + "dev": true + }, + "@arrows/multimethod": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/multimethod/-/multimethod-1.4.1.tgz", + "integrity": "sha512-AZnAay0dgPnCJxn3We5uKiB88VL+1ZIF2SjZohLj6vqY2UyvB/sKdDnFP+LZNVsTC5lcnGPmLlRRkAh4sXkXsQ==", + "dev": true, + "requires": { + "@arrows/array": "^1.4.1", + "@arrows/composition": "^1.2.2", + "@arrows/error": "^1.0.2", + "fast-deep-equal": "^3.1.3" + } + }, "@babel/code-frame": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", @@ -12712,6 +13057,12 @@ "es-shim-unscopables": "^1.0.0" } }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, "babel-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", @@ -12884,6 +13235,41 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", + "dev": true, + "requires": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "benny": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/benny/-/benny-3.7.1.tgz", + "integrity": "sha512-USzYxODdVfOS7JuQq/L0naxB788dWCiUgUTxvN+WLPt/JfcDURNNj8kN/N+uK6PDvuR67/9/55cVKGPleFQINA==", + "dev": true, + "requires": { + "@arrows/composition": "^1.0.0", + "@arrows/dispatch": "^1.0.2", + "@arrows/multimethod": "^1.1.6", + "benchmark": "^2.1.4", + "common-tags": "^1.8.0", + "fs-extra": "^10.0.0", + "json2csv": "^5.0.6", + "kleur": "^4.1.4", + "log-update": "^4.0.0" + }, + "dependencies": { + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true + } + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -13029,6 +13415,15 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, "cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -13052,6 +13447,12 @@ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", "dev": true }, + "color-2-name": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/color-2-name/-/color-2-name-1.2.0.tgz", + "integrity": "sha512-bosUXNjvM1hms/rKEGMd/NfyYetrJrWUzfyN5Ip22mkPqj8Iuruu0lQjqGPyfOwWodqEIWqQTh4ViHd4Bqjf5g==", + "dev": true + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -13067,6 +13468,24 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -15777,6 +16196,17 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "json2csv": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-5.0.7.tgz", + "integrity": "sha512-YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==", + "dev": true, + "requires": { + "commander": "^6.1.0", + "jsonparse": "^1.3.1", + "lodash.get": "^4.4.2" + } + }, "json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -15793,6 +16223,12 @@ "universalify": "^2.0.0" } }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, "kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -15842,12 +16278,67 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, "lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -16200,6 +16691,12 @@ } } }, + "platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", + "dev": true + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -16399,6 +16896,16 @@ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", "dev": true }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -16639,6 +17146,43 @@ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, "smob": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", diff --git a/package.json b/package.json index 57acb39..b3f52f5 100644 --- a/package.json +++ b/package.json @@ -1,23 +1,16 @@ { "name": "color-2-name", - "version": "1.2.0", + "version": "1.3.0", "author": "Erik ", "license": "ISC", - "main": "./lib/esm/index.js", - "types": "./lib/@types/index.d.ts", + "main": "./lib/cjs/index.js", "unpkg": "lib/browser/color-2-name.js", "jsdelivr": "lib/browser/color-2-name.js", "type": "module", "exports": { ".": { - "require": { - "default": "./lib/cjs/index.js", - "types": "./lib/cjs/@types/index.d.ts" - }, - "import": { - "default": "./lib/esm/index.js", - "types": "./lib/@types/index.d.ts" - }, + "require": "./lib/cjs/index.js", + "import": "./lib/esm/index.js", "browser": "./lib/browser/color-2-name.js", "umd": "./lib/umd/color-2-name.js" } @@ -27,10 +20,9 @@ "scripts": { "gen-colorSet": "node ./lib/colorSetUtils.mjs colorSet", "build": "rimraf lib && concurrently npm:module-*", - "benchmark": "tsc --outDir bench --skipLibCheck --esModuleInterop ./tests/benchmark.ts && node ./bench/benchmark.js", "test": "jest --silent=false --coverage", "lint": "eslint ./src --fix && prettier --write ./src", - "module-tsc": "tsc", + "module-tsc": "tsc --declaration --emitDeclarationOnly --outDir lib/@types --rootDir src", "module-rollup": "rollup -c", "module-browser": "esbuild src/index.ts --outfile=lib/browser/color-2-name.js --allow-overwrite --bundle --minify --sourcemap" }, @@ -78,7 +70,7 @@ "@jest/globals": "^29.7.0", "@rollup/plugin-terser": "^0.4.4", "@types/jest": "^29.5.11", - "@types/node": "^20.10.4", + "@types/node": "^20.10.5", "@typescript-eslint/eslint-plugin": "^6.15.0", "@typescript-eslint/parser": "^6.14.0", "babel-jest": "^29.7.0", @@ -95,12 +87,5 @@ "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-typescript2": "^0.36.0", "typescript": "^5.3.3" - }, - "jest": { - "globals": { - "ts-jest": { - "tsConfig": "tsconfig.test.json" - } - } } } diff --git a/readme.md b/readme.md index fe9fe25..b35b1e2 100644 --- a/readme.md +++ b/readme.md @@ -1,19 +1,10 @@ # color-2-name -
- - version - - - version - - - build - - - workflows - -
+[![](https://img.shields.io/npm/v/color-2-name.svg?label=npm%20version)](https://www.npmjs.com/package/color-2-name) +[![](https://badgen.net/npm/types/color-2-name)](https://github.com/erikyo/color-2-name/blob/main/LICENSE) +![](https://badgen.net/bundlephobia/minzip/color-2-name) +[![](https://img.shields.io/npm/l/color-2-name)](https://github.com/erikyo/color-2-name/blob/main/LICENSE) +![](https://github.com/erikyo/color-2-name/actions/workflows/node.js.yml/badge.svg) Find the name of the color given a hex, rgb and hsl string! @@ -37,15 +28,15 @@ It uses the Euclidean distance formula to calculate the distance between colors Designed with the performance in mind, it is 20 times faster than the self-proclaimed fastest color conversion plugin! -| Library | Operations/sec | Size
(minified) | Size
(gzipped) | Dependencies | Type declarations | -|-------------------------------------|-------------------------------------------------------| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- | -| color-2-name 🚀 | 12 768 ops/s, ±0.49% | [![](https://badgen.net/bundlephobia/min/color-2-name?color=6ead0a&label=)](https://bundlephobia.com/result?p=color-2-name) | [![](https://badgen.net/bundlephobia/minzip/color-2-name?color=6ead0a&label=)](https://bundlephobia.com/result?p=color-2-name) | [![](https://badgen.net/bundlephobia/dependency-count/color-2-name?color=6ead0a&label=)](https://bundlephobia.com/result?p=color-2-name) | [![](https://badgen.net/npm/types/color-2-name?color=6ead0a&label=)](https://bundlephobia.com/result?p=color-2-name) | -| colord | 598 ops/s, ±0.55% (95.32% slower) | [![](https://badgen.net/bundlephobia/min/colord?color=orange&label=)](https://bundlephobia.com/result?p=colord) | [![](https://badgen.net/bundlephobia/minzip/colord?color=orange&label=)](https://bundlephobia.com/result?p=colord) | [![](https://badgen.net/bundlephobia/dependency-count/colord?color=orange&label=)](https://bundlephobia.com/result?p=colord) | [![](https://badgen.net/npm/types/colord?color=orange&label=)](https://bundlephobia.com/result?p=colord) | -- The performance results were generated on a common Intel i5 by running `npm run benchmark` in the library folder. See [tests/benchmark.ts](https://github.com/erikyo/color-2-name/blob/master/tests/benchmark.ts). +| Library | Operations/sec | Size
(minified) | Size
(gzipped) | +|--------------------------------------------------------------------|---------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| [color-2-name](#color-2-name) v1.3.0 🚀 | 🟢 11 955 ops/s, ±0.29% | [![color-2-name](https://snyk.io/advisor/npm-package/color-2-name/badge.svg)](https://snyk.io/advisor/npm-package/color-2-name) | [![](https://badgen.net/bundlephobia/minzip/color-2-name?color=yellow&label=)](https://bundlephobia/package/color-2-name) | +| [colord](https://www.npmjs.com/package/colord) v2.9.3 | 🔴 765 ops/s, ±0.39% ( 93.6% slower) | [![colord](https://snyk.io/advisor/npm-package/colord/badge.svg)](https://snyk.io/advisor/npm-package/colord) | [![](https://badgen.net/bundlephobia/minzip/colord?color=6ead0a&label=)](https://bundlephobia.com/result?p=colord) + [plugins](https://github.com/omgovich/colord/tree/master/src/plugins) | + +- The performance results were generated on a common Intel i5 by running `npm run benchmark` in the library folder. See [tests/benchmark.testts](https://github.com/erikyo/color-2-name/blob/master/tests/benchmark.testts). - For the test we are generating 50 random colors to make sure that no internal mechanism is benefited - The Size for the `colord` package is meant without the color definitions while `color-2-name` already has everything you need bundled inside - ## Installation ### Module @@ -70,16 +61,21 @@ color2Name.closest('#abcdef') ### Browser -To load `color-2-name` in as a browser script add it to the header or footer like below +To run the script in the browser, add the `color-2-name` add it to the header or footer like below ```js - + ``` + +#### The script is available at: +- [unpkg](https://www.unpkg.com/color-2-name) - https://www.unpkg.com/color-2-name +- [jsdelivr](https://cdn.jsdelivr.net/npm/color-2-name@latest) - https://cdn.jsdelivr.net/npm/color-2-name@latest + --- This Package includes the following functions: @@ -89,8 +85,8 @@ This Package includes the following functions: - [rgbToHex()](#rgbToHex) - [isLight()](#isLight) - [isDark()](#isDark) -- [isLightOrDark()](#isLightOrDark) - [closestRGB()](#closestRGB) +- [getColor()](#getColor) ### 💡closest() @@ -205,10 +201,6 @@ Check if the color is light (optically closer to white) Check if the color is dark (optically closer to black) -#### 💡isLightOrDark() - -Returns light or dark whether the color is lighter or darker - #### 💡closestRGB() returns the closest RGB color @@ -223,8 +215,6 @@ Examples: // note: the rgb value is converted without take into account the alpha channel isLight('#fff') // true isDark('#fff') // false -isLightOrDark('#abc') // light -isLightOrDark('#345') // dark closestRGB('#FF1234') // red ``` diff --git a/rollup.config.js b/rollup.config.js index 63d9f06..67dbc10 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,20 +1,3 @@ -/** - * @license - * Copyright 2019 Google LLC. All Rights Reserved. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================================= - */ - import node from 'rollup-plugin-node-resolve'; import typescript from 'rollup-plugin-typescript2'; import terser from "@rollup/plugin-terser"; @@ -37,7 +20,7 @@ export default [ config({ output: { format: 'umd', - name: 'color2name', + name: 'color-2-name', file: 'lib/umd/color-2-name.js' } }), @@ -55,22 +38,23 @@ export default [ ], output: { format: 'umd', - name: 'color2name', + name: 'color-2-name', file: 'lib/umd/color-2-name.min.js' } }), config({ output: { + name: 'color-2-name', format: 'cjs', - name: 'color2name', - file: 'lib/cjs/color-2-name.cjs' + dir: 'lib/cjs/', + preserveModules: true, + sourcemap: true } }), config({ output: { format: 'esm', preserveModules: true, - preserveModulesRoot: 'src', sourcemap: true, dir: 'lib/esm/' } diff --git a/spack.config.js b/spack.config.js deleted file mode 100644 index 49ab36d..0000000 --- a/spack.config.js +++ /dev/null @@ -1,87 +0,0 @@ -const { config } = require("@swc/core/spack"); - -// import path module -const path = require("path"); - -module.exports = config({ - entry: { - isoToLanguage: path.join("src", "index.ts"), - }, - options: { - sourceMaps: true, - module: { - type: "umd", - noInterop: false, - globals: { - default: "color-2-name" - }, - strict: false, - strictMode: true, - lazy: false - }, - minify: true, - jsc: { - target: "es5", - loose: false, - minify: { - compress: { - arguments: false, - arrows: true, - booleans: true, - booleans_as_integers: false, - collapse_vars: true, - comparisons: true, - computed_props: true, - conditionals: true, - dead_code: true, - directives: true, - drop_console: false, - drop_debugger: true, - evaluate: true, - expression: false, - hoist_funs: false, - hoist_props: true, - hoist_vars: false, - if_return: true, - join_vars: true, - keep_classnames: false, - keep_fargs: true, - keep_fnames: false, - keep_infinity: false, - loops: true, - negate_iife: true, - properties: true, - reduce_funcs: false, - reduce_vars: false, - side_effects: true, - switches: true, - typeofs: true, - unsafe: false, - unsafe_arrows: false, - unsafe_comps: false, - unsafe_Function: false, - unsafe_math: false, - unsafe_symbols: false, - unsafe_methods: false, - unsafe_proto: false, - unsafe_regexp: false, - unsafe_undefined: false, - unused: true, - const_to_let: true, - pristine_globals: true - }, - mangle: { - toplevel: false, - keep_classnames: false, - keep_fnames: false, - keep_private_props: false, - ie8: false, - safari10: false - } - } - }, - }, - output: { - path: path.join('lib', 'umd'), - }, -}); diff --git a/src/color-utils.ts b/src/color-utils.ts index 78e60ed..82db550 100644 --- a/src/color-utils.ts +++ b/src/color-utils.ts @@ -1,6 +1,6 @@ import colorSet from "./data/colorSet"; import { RGBCOLORDEF } from "./types"; -import { valuesToRgb } from "./rgb-utils"; +import { RGB } from "./rgb-utils"; import { valuesToHex } from "./hex-utils"; import { valuesToHsl } from "./hsl-utils"; @@ -10,18 +10,17 @@ import { valuesToHsl } from "./hsl-utils"; * @param {string} searchedColor -the name of the color to search for * @param {Array} set - the colorSet to search in */ -function getColor(searchedColor: string, set: RGBCOLORDEF[] | undefined = colorSet as RGBCOLORDEF[]) { +export function getColor(searchedColor: string, set: RGBCOLORDEF[] | undefined = colorSet as RGBCOLORDEF[]) { const found: RGBCOLORDEF | undefined = set.find((color: RGBCOLORDEF) => color[3] === searchedColor); if (typeof found !== "undefined") { const [r, g, b] = found; return { hex: valuesToHex({ r, g, b }), - rgb: valuesToRgb({ r, g, b }), + rgb: RGB({ r, g, b }), hsl: valuesToHsl({ r, g, b }), }; } + throw new Error(`Error: invalid color ${searchedColor} or empty colorSet`); } - -export default getColor; diff --git a/src/common.ts b/src/common.ts index 3f1e02e..7891623 100644 --- a/src/common.ts +++ b/src/common.ts @@ -1,23 +1,22 @@ // Regular expressions to match different color formats -import { COLORSTRING, RGBCOLORDEF, RGBVALUE } from "./types"; -import { hexToRgb, parseHex } from "./hex-utils"; -import { getRgbValues, parseRgb } from "./rgb-utils"; -import { hslToRgb, parseHsl } from "./hsl-utils"; +import { RGBCOLORDEF } from "./types"; /** The maximum distance possible between colors */ export const MAXDISTANCE = 441.6729559300637; /** A regex to match hex colors */ -export const hexRegex: RegExp = /^#([\da-f]{6,}|[\da-f]{3,})/i; +export const hexRegex: RegExp = /^#([\da-f]{3,8})/i; /** A regex to match rgb colors */ export const rgbRegex: RegExp = /^rgba?\(([^)]+)\)/i; /** A regex to match hsl colors */ export const hslRegex: RegExp = /^hsla?\(([^)]+)\)/i; -/** A regex to match strings that are only int numbers */ -export const isNumeric: RegExp = /^[0-9]*$/; +/** A regex to match strings that are only valid numbers with and without decimals and the number can be negative and without the 0 in the beginning */ +export const isNumeric: RegExp = /^-?\d*\.?\d+$/i; +/** Remove comments from string */ +export const stripComments: RegExp = /(\/\*[^*]*\*\/)|(\/\/[^*]*)/g; /** - * This set is used in order to detect if the color is bright or dark + * This set is used to detect if the color is bright or dark * * @note the set has been corrected to get pure RGB values (eg. pure red, pure green) in the "bright" area */ @@ -27,7 +26,7 @@ export const BLACKANDWHITE: RGBCOLORDEF[] = [ ]; /** - * This set is used in order to detect the nearest rgb color + * This set is used to detect the nearest rgb color */ export const RGBSET: RGBCOLORDEF[] = [ [255, 0, 0, "red"], @@ -42,90 +41,152 @@ export const RGBSET: RGBCOLORDEF[] = [ * * @param {string} rawValues - the value inside the rgb(.*) css color definition * - * @return {Array} the array of rgb values finded inside the passed string + * @return {Array} the array of rgb values found inside the passed string */ export function splitValues(rawValues: string): string[] { - if (rawValues.includes(",")) { - return rawValues.split(/[,\\/]/).map((val) => val.trim()); - } - - return rawValues - .split(/[ \\/]/) - .map((val) => val.trim()) - .filter(Boolean); + return rawValues.split(rawValues.includes(",") ? "," : " ").map((s) => s.trim()); } /** * If the value is an angle in degrees, convert it to the 0-360 range * - * @param {string} value - the degrees to convert into a number - * @param {number} multiplier - the number that represent the maximum - default is 100 + * @param {string} angle - the degrees to convert into a number * * @return {number} the converted value */ -export function normalizeDegree(value: string, multiplier: number = 360): number { - let angle = parseFloat(value); - while (angle < 0) { - angle += 360; +export function normalizeDegrees(angle: string): number { + // Strip label and convert to degrees (if necessary) + let degAngle = parseFloat(angle) || 0; + if (angle.indexOf("deg") > -1) { + degAngle = parseFloat(angle.substring(0, angle.length - 3)); + } else if (angle.indexOf("rad") > -1) { + degAngle = Math.round(parseFloat(angle.substring(0, angle.length - 3)) * (180 / Math.PI)); + } else if (angle.indexOf("turn") > -1) { + degAngle = Math.round(parseFloat(angle.substring(0, angle.length - 4)) * 360); } - while (angle > 360) { - angle -= 360; + + while (degAngle < 0) { + degAngle += 360; } - return (angle / 360) * multiplier; + + // Make sure it's a number between 0 and 360 + if (degAngle >= 360) degAngle %= 360; + + return degAngle; } /** - * Takes a string with a css value that could be a number or percentage or an angle in degrees and returns the corresponding 8bit value + * Returns a value that is limited between a minimum and maximum value. * - * @param {string} value - a valid value for the css color definition (like 255, "100%", "324deg", etc) - * @param {string} value - a valid value for the css color definition (like 255, "100%", "324deg", etc) + * @param {number} value - The value to be limited. + * @param {number} min - The minimum allowed value (default is 0). + * @param {number} max - The maximum allowed value (default is 0). + * @return {number} The limited value. + */ +export function limitValue(value: number, min: number = 0, max: number = 0): number { + return Math.min(Math.max(Math.round(value), min), max); +} + +/** + * Calculates the value based on a given string and multiplier. * - * @example convertToInt8('100%'); // 255 + * @param {string} valueString - The string representing the value to be calculated. + * @param {number} multiplier - The multiplier to be applied to the calculated value. + * @return {number} The calculated value. + */ +export function calculateValue(valueString: string, multiplier: number): number { + // Regular expression to match the calc() function and extract the numerical value + const regex = /calc\(([^)]+)\)/; + + // Match the calc() function in the CSS string + const match = valueString.match(regex); + + if (match) { + // Extract the content inside the calc() function + valueString = match[1]; + } + + // Return a default value or handle the case where calc() is not found + return convertToInt8(valueString, multiplier); +} + +/** + * Removes comments from the input string and extracts the content between the first opening parenthesis + * and the last closing parenthesis. * - * @return {string} the corresponding value in 8 bit format + * @param {string} string - The input string. + * @return {string} The content between the first opening parenthesis and the last closing parenthesis. */ -export function convertToInt8(value: string, multiplier: number = 255): number { - value = value.trim(); - if (isNumeric.test(value)) { - // If the value is an int number return it as number - return parseInt(value, 10); - } else if (value.endsWith("%")) { - // If the value is a percentage, divide it by 100 to get a value from 0 to 1 - // and then multiply it by 255 to get a value from 0 to 255 - return (parseFloat(value) / 100) * multiplier; - } else if (value.endsWith("deg")) { - return normalizeDegree(value, 255); - } else { - // If the value is not a percentage or an angle in degrees, it is invalid - throw new Error(`Invalid value: ${value}`); +export function cleanDefinition(string: string): string { + // Remove comments from the string + const cleanString = string.replace(stripComments, ""); + + // Find the positions of the first opening and the last closing parentheses + const firstParenthesisIndex = cleanString.indexOf("("); + const lastParenthesisIndex = cleanString.lastIndexOf(")"); + + // Extract the content between the parentheses + return cleanString.slice(firstParenthesisIndex + 1, lastParenthesisIndex).trim(); +} + +/** + * Normalizes a percentage value by dividing it by 100 and multiplying it by a given multiplier. + * + * @param {string} value - The percentage value to be normalized. + * @param {number} multiplier - The number to multiply the normalized percentage by. + * @return {number} The normalized percentage value. + */ +export function normalizePercentage(value: string, multiplier: number): number { + return (parseFloat(value) / 100) * multiplier; +} + +/** + * Calculates the color value fallbacks for a given value. + * + * @param {string} value - The color value to calculate fallbacks for. + * @param {string} [err] - An optional error message to display. + * @return {number} - The calculated color value fallbacks. + */ +export function colorValueFallbacks(value: string, err?: string): number { + if (value === "infinity") { + console.warn(err || `Positive infinity value has been set to 255: ${value}`); + return 255; } + + if (value === "currentColor") console.warn(err || `The "currentColor" value has been set to 0: ${value}`); + if (value === "transparent") console.warn(err || `The "transparent" value has been set to 0: ${value}`); + if (value === "NaN") console.warn(err || `"NaN" value has been set to 0: ${value}`); + if (value === "-infinity") console.warn(err || `"Negative" infinity value has been set to 0: ${value}`); + if (value === "none") console.warn(err || `The none keyword is invalid in legacy color syntax: ${value}`); + return 0; } /** - * This function takes a string representing a color (color) and uses regular expressions to check if it matches any of the following formats: hex, hex+alpha, RGB, RGBA, HSL, or HSLA. - * If the color string matches one of these formats, the function returns an object with the type of color and the value of the color. - * If the color string does not match any of the formats, the function throws an error. + * Takes a string with a css value that could be a number or percentage or an angle in degrees and returns the corresponding 8bit value + * + * @param {string} value - a valid value for the css color definition (like 255, "100%", "324deg", etc.) * + * @param multiplier - the number that represent the maximum - default is 255 decimal - 100 hex * - * @param {string} colorString - the color string to test and convert to rgb values + * @example convertToInt8('100%'); // 255 * - * @return {Object|Error} the object with rgb values of that color + * @return {string} the corresponding value in 8-bit format */ -export function parseColor(colorString: string): RGBVALUE { - // Check if the color string matches any of the regular expressions - const colorParsers = [ - { regex: hexRegex, parser: parseHex, converter: hexToRgb }, - { regex: rgbRegex, parser: parseRgb, converter: getRgbValues }, - { regex: hslRegex, parser: parseHsl, converter: hslToRgb }, - ]; - for (const { regex, parser, converter } of colorParsers) { - if (regex.test(colorString)) { - const result = parser(colorString as COLORSTRING); - if (result.length > 0) { - return converter(result); - } - } +export function convertToInt8(value: string, multiplier: number = 255): number { + value = value ? value?.trim() : "0"; + if (isNumeric.test(value)) { + // limit the min and the max value + return limitValue(parseFloat(value) || 0, 0, multiplier); + } else if (value.endsWith("%")) { + // If the value is a percentage, divide it by 100 to get a value from 0 to 1 + // and then multiply it by 255 to get a value from 0 to 255 + return normalizePercentage(value, multiplier) || 0; + } else if (value.endsWith("deg") || value.endsWith("rad") || value.endsWith("turn")) { + return normalizeDegrees(value); + } else if (value.startsWith("calc")) { + // get the value from the calc function + return limitValue(calculateValue(value, multiplier), 0, multiplier); } - // If the color string does not match any of the regular expressions, return an error - throw new Error(`Invalid color: ${colorString}`); + // If the value is not a percentage or an angle in degrees, it is invalid + return colorValueFallbacks(value, `Invalid value: ${value}`); } diff --git a/src/hex-utils.ts b/src/hex-utils.ts index 0eb2ef0..56f00a3 100644 --- a/src/hex-utils.ts +++ b/src/hex-utils.ts @@ -1,4 +1,5 @@ import { COLORSTRING, HEX, RGBVALUE } from "./types"; +import { fallbackRGB } from "./rgb-utils"; /** * It returns an object with the hex values of the 3 digit hex color @@ -11,6 +12,16 @@ export function shortHexToLongHex(value: string): string[] { return Array.from(value).map((v: string) => (v + v).toUpperCase()); } +/** + * Checks if a given string represents a hexadecimal number. + * + * @param {string} num - The string to be checked. + * @return {boolean} Returns true if the string is a valid hexadecimal number, false otherwise. + */ +export function isHex(num: string): boolean { + return Boolean(num.match(/^[0-9a-f]+$/i)); +} + /** * Get the hex value of the color and convert it to an Object of R G And B values (still in hex format) * @@ -20,42 +31,52 @@ export function shortHexToLongHex(value: string): string[] { */ export function parseHex(value: COLORSTRING): string[] { // remove # at the beginning of the hex color - const hexColor: string = Array.from(value)[0] === "#" ? value.substring(1) : value; + const hexColor: string = value.substring(1); /** * then if the number of digits is greater than 2 (so it's something like 123 or abc456) * breakdown the string into an object that contains the r g and b values in hex */ - if (hexColor.length > 2) { - if (hexColor.length < 6) { - // >=6 is the long notation - return shortHexToLongHex(hexColor); - } else { - const hex = hexColor.match(/../g); - return hex != null ? [hex[0].toUpperCase(), hex[1].toUpperCase(), hex[2].toUpperCase()] : []; + let hexArray: string[] = []; + if (hexColor) { + if (hexColor.length === 3 || hexColor.length === 4) { + hexArray = shortHexToLongHex(hexColor); + } else if (hexColor.length === 6 || hexColor.length === 8) { + // match the hex value in groups of 2 + hexArray = (hexColor.match(/../g) || []).map((value: string) => value); } } - return []; + if (hexArray.length) { + hexArray?.forEach((value, index) => { + if (isHex(value)) { + hexArray[index] = value.toUpperCase(); + } else { + console.warn(`Invalid Hex value: ${value}`); + } + }); + + return hexArray; + } + + console.warn(`Invalid Hex: ${value}`); + return fallbackRGB(hexArray); } /** * Converts a Hex color to rgb * - * @param {string} hex without the "#" + * @param {string} hex a tuple of hex values * * @return {string} the rgb color values for the given hex color */ export function hexToRgb(hex: string[]): RGBVALUE { // Extract the RGB values from the hex string - if (hex.length >= 2) { - return { - r: parseInt(hex[0], 16), - g: parseInt(hex[1], 16), - b: parseInt(hex[2], 16), - }; - } - throw new Error(`Invalid Hex color: ${hex.join(", ")}`); + return { + r: parseInt(hex[0], 16), + g: parseInt(hex[1], 16), + b: parseInt(hex[2], 16), + }; } /** @@ -78,8 +99,5 @@ export function toHex(int8: number): string { */ export function valuesToHex(rgb: RGBVALUE): HEX { // Extract the RGB values from the hex string - if (typeof rgb?.r === "number" && typeof rgb?.g === "number" && typeof rgb?.b === "number") { - return `#${toHex(rgb?.r)}${toHex(rgb?.g)}${toHex(rgb?.b)}`; - } - return "#errorr"; + return `#${toHex(rgb?.r)}${toHex(rgb?.g)}${toHex(rgb?.b)}`; } diff --git a/src/hsl-utils.ts b/src/hsl-utils.ts index b872454..63d0162 100644 --- a/src/hsl-utils.ts +++ b/src/hsl-utils.ts @@ -1,6 +1,11 @@ -import { hslRegex, normalizeDegree, splitValues } from "./common"; +import { cleanDefinition, colorValueFallbacks, convertToInt8, normalizeDegrees, splitValues } from "./common"; import { HSLVALUE, RGBVALUE } from "./types"; +export function fallbackHSL(hsl: string[], err: string = `Invalid HSL color`): string[] { + console.warn(err); + return [hsl[0] ?? 0, hsl[1] ?? 0, hsl[2]]; +} + /** * Get the values of the hsl string * @@ -8,17 +13,18 @@ import { HSLVALUE, RGBVALUE } from "./types"; * @return {string[]} the values of the hsl string */ export function parseHsl(hslAsString: string): string[] { - const hslvalue = hslAsString.match(hslRegex); - if (hslvalue != null) { - const hsl: string[] = splitValues(hslvalue[1]); + const hslvalue = cleanDefinition(hslAsString); - if (hsl.length >= 2) { - return [hsl[0], hsl[1], hsl[2]]; - } + let hsl: string[] = splitValues(hslvalue); + + if (hsl.length !== 3 && hsl.length !== 4) { + hsl = fallbackHSL(hsl); } - throw new Error(`Can't parse hsl color: ${hslAsString}`); + return [hsl[0], hsl[1], hsl[2]]; } +const angleError = (value: string): string => `Invalid angle: ${value} - The none keyword is invalid in legacy color syntax `; + /** * This function takes an array of strings and returns and object with the hsl values converted into INT8 (0-255) * @@ -26,14 +32,20 @@ export function parseHsl(hslAsString: string): string[] { * */ export function getHslValues(hsl: string[]): HSLVALUE { - if (hsl.length >= 2) { - return { - h: normalizeDegree(hsl[0]), - s: parseInt(hsl[1], 10), - l: parseInt(hsl[2], 10), - }; - } - throw new Error(`Invalid hsl color: ${hsl.join(", ")}`); + return { + h: colorValueFallbacks(hsl[0], angleError(hsl[0])) || Math.round(normalizeDegrees(hsl[0])) || 0, + s: colorValueFallbacks(hsl[1]) || convertToInt8(hsl[1], 100) || 0, + l: colorValueFallbacks(hsl[2]) || convertToInt8(hsl[2], 100) || 0, + }; +} + +function getHue(c: number, x: number, h: number): [number, number, number] { + if (h < 60) return [c, x, 0]; + if (h < 120) return [x, c, 0]; + if (h < 180) return [0, c, x]; + if (h < 240) return [0, x, c]; + if (h < 300) return [x, 0, c]; + return [c, 0, x]; } /** @@ -43,48 +55,16 @@ export function getHslValues(hsl: string[]): HSLVALUE { * @return {Object} rgb value */ export function hslToRgb(hslColor: string[]): RGBVALUE { - if (hslColor === null || hslColor.length < 2) { - throw new Error(`Invalid hsl color: ${hslColor.join(", ")}`); - } + const hsl = getHslValues(hslColor), + s = hsl.s / 100, + l = hsl.l / 100; - const hsl = getHslValues(hslColor); + const c = (1 - Math.abs(2 * l - 1)) * s; + const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1)); + const m = l - c / 2; - // Must be fractions of 1 - hsl.s /= 100; - hsl.l /= 100; + let [r, g, b] = getHue(c, x, hsl.h); - const c = (1 - Math.abs(2 * hsl.l - 1)) * hsl.s; - const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1)); - const m = hsl.l - c / 2; - let r = 0; - let g = 0; - let b = 0; - - if (hsl.h >= 0 && hsl.h < 60) { - r = c; - g = x; - b = 0; - } else if (hsl.h >= 60 && hsl.h < 120) { - r = x; - g = c; - b = 0; - } else if (hsl.h >= 120 && hsl.h < 180) { - r = 0; - g = c; - b = x; - } else if (hsl.h >= 180 && hsl.h < 240) { - r = 0; - g = x; - b = c; - } else if (hsl.h >= 240 && hsl.h < 300) { - r = x; - g = 0; - b = c; - } else if (hsl.h >= 300 && hsl.h < 360) { - r = c; - g = 0; - b = x; - } r = Math.round((r + m) * 255); g = Math.round((g + m) * 255); b = Math.round((b + m) * 255); @@ -146,5 +126,18 @@ export function valuesToHsl({ r, g, b }: RGBVALUE): string { s = +(s * 100).toFixed(1); l = +(l * 100).toFixed(1); - return `hsl(${h},${s}%,${l}%)`; + return HSL({ h, s, l }); +} + +/** + * Converts an HSL color object to a string representation. + * + * @param {Object} hsl - Object containing the HSL color values. + * @param {number} hsl.h - The hue value of the color. + * @param {number} hsl.s - The saturation value of the color. + * @param {number} hsl.l - The lightness value of the color. + * @return {string} The HSL color as a string. + */ +function HSL(hsl: { h: number; s: number; l: number }): string { + return `hsl(${hsl.h},${hsl.s}%,${hsl.l}%)`; } diff --git a/src/index.ts b/src/index.ts index 28994e5..f6478c5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,12 +1,13 @@ import colorSet from "./data/colorSet"; -import { BLACKANDWHITE, parseColor, rgbRegex, RGBSET } from "./common"; -import { valuesToHex } from "./hex-utils"; +import { BLACKANDWHITE, hexRegex, hslRegex, rgbRegex, RGBSET } from "./common"; +import { hexToRgb, parseHex, valuesToHex } from "./hex-utils"; import { getRgbValues, parseRgb } from "./rgb-utils"; -import { valuesToHsl } from "./hsl-utils"; -import { COLORDEF, COLORSTRING, HEX, RGBCOLORDEF, RGBDEF, RGBVALUE } from "./types"; +import { hslToRgb, parseHsl } from "./hsl-utils"; +import type { COLORDEF, COLORSTRING, HEX, RGBCOLORDEF, RGBDEF, RGBVALUE } from "./types"; +import { getColor } from "./color-utils"; /** - * Given a color string it returns the closest corresponding name of the color. + * Given a color string, it returns the closest corresponding name of the color. * Uses the Euclidean distance formula to calculate the distance between colors in the RGB color space. * * @param {string} color - the color string you want to find the closest color name @@ -30,30 +31,26 @@ function closest(color: string | COLORSTRING, set: RGBCOLORDEF[] | undefined = c } const rgbColorValues = Object.values(parseColor(color)); - if (rgbColorValues.length > 2) { - for (const tested of set) { - const gap = distance(rgbColorValues as RGBDEF, tested, true); - if (gap < closestGap) { - closestGap = gap; - closestColor.name = tested[3]; - closestColor.color = `rgb(${String(tested[0])},${String(tested[1])},${String(tested[2])})`; - } + // Find the closest color in the color set + for (const tested of set) { + const gap = distance(rgbColorValues as RGBDEF, tested, true); + if (gap < closestGap) { + closestGap = gap; + closestColor.name = tested[3]; + closestColor.color = `rgb(${String(tested[0])},${String(tested[1])},${String(tested[2])})`; + } - // TODO: add a minimum acceptable value in order to speed up the calculation. for example #ff0001 should return red since is very very close to red - if (gap === 0) { - break; - } + // TODO: add a minimum acceptable value in order to speed up the calculation. for example #ff0001 should return red since is very very close to red + if (gap === 0) { + break; } } if (args?.info) { - const rgbValue = parseColor(closestColor.color); - const hexValue = valuesToHex(rgbValue as RGBVALUE); - const hslValue = valuesToHsl(rgbValue as RGBVALUE); + const colorValue = getColor(closestColor.name, set); return { + ...colorValue, ...closestColor, - hex: hexValue, - hsl: hslValue, gap: Math.sqrt(closestGap), }; } @@ -87,19 +84,6 @@ function isDark(color: string): boolean { return closest(color, BLACKANDWHITE).name === "black"; } -/** - * Given a color returns if the color is light or dark (by dark is meant more mathematically closer to black) - * - * @param {string} color - The color to check - * - * @returns {string} light when the color is close to white, dark otherwise - * - * @example isLightOrDark('#fff'); // 'light' - */ -function isLightOrDark(color: string): string { - return isLight(color) ? "light" : "dark"; -} - /** * Given a color returns if the color is closer to "red", "green" or "blue". * @@ -146,12 +130,37 @@ function rgbToHex(rgbString: string): HEX | Error { // if is a rgb string if (rgbRegex.test(rgbString)) { const rgb = parseRgb(rgbString); - if (rgb.length > 0) { - const RgbValues = getRgbValues(rgb); - return valuesToHex(RgbValues); - } + const RgbValues = getRgbValues(rgb); + return valuesToHex(RgbValues); } throw new Error(`Invalid color: ${rgbString}`); } -export { closest, rgbToHex, distance, isLight, isDark, isLightOrDark, closestRGB }; +/** + * This function takes a string representing a color (color) and uses regular expressions to check if it matches any of the following formats: hex, hex+alpha, RGB, RGBA, HSL, or HSLA. + * If the color string matches one of these formats, the function returns an object with the type of color and the value of the color. + * If the color string does not match any of the formats, the function throws an error. + * + * @param {string} colorString - the color string to test and convert to rgb values + * + * @return {Object|Error} the object with rgb values of that color + */ +export function parseColor(colorString: string): RGBVALUE { + // Check if the color string matches any of the regular expressions + const colorParsers = [ + { regex: hexRegex, parser: parseHex, converter: hexToRgb }, + { regex: rgbRegex, parser: parseRgb, converter: getRgbValues }, + { regex: hslRegex, parser: parseHsl, converter: hslToRgb }, + ]; + for (const { regex, parser, converter } of colorParsers) { + if (regex.test(colorString)) { + const result = parser(colorString as COLORSTRING); + return converter(result); + } + } + + // If the color string does not match any of the regular expressions, return an error + throw new Error(`Invalid color: ${colorString}`); +} + +export { closest, rgbToHex, distance, isLight, isDark, closestRGB, getColor }; diff --git a/src/rgb-utils.ts b/src/rgb-utils.ts index d5ad10a..035e35e 100644 --- a/src/rgb-utils.ts +++ b/src/rgb-utils.ts @@ -1,6 +1,11 @@ -import { convertToInt8, rgbRegex, splitValues } from "./common"; +import { cleanDefinition, convertToInt8, limitValue, splitValues } from "./common"; import { RGBVALUE } from "./types"; +export function fallbackRGB(rgb: string[], err: string = `Invalid RGB color`): string[] { + console.warn(err); + return [rgb[0] ?? 0, rgb[1] ?? 0, rgb[2]]; +} + /** * Get the values of the rgb string * @@ -9,15 +14,15 @@ import { RGBVALUE } from "./types"; * @return {Array} the values of the rgb string as Array of strings that represent the rgb color */ export function parseRgb(rgbAsString: string): string[] { - const rgbvalue = rgbAsString.match(rgbRegex); - if (rgbvalue != null) { - const rgb: string[] = splitValues(rgbvalue[1]); + const rgbvalue = cleanDefinition(rgbAsString); - if (rgb.length >= 2) { - return [rgb[0], rgb[1], rgb[2]]; - } + const rgb: string[] = splitValues(rgbvalue); + + if (rgb.length !== 3 && rgb.length !== 4) { + return fallbackRGB(rgb, `Too few values to define rgb: ${rgbAsString} -> ${rgbvalue}`); + } else { + return [rgb[0], rgb[1], rgb[2]]; } - throw new Error(`Can't parse rgb color: ${rgbAsString}`); } /** @@ -28,14 +33,12 @@ export function parseRgb(rgbAsString: string): string[] { * @return {Object} an object that contains the r, g and b values as INT8 */ export function getRgbValues(rgb: string[]): RGBVALUE { - if (rgb.length >= 2) { - return { - r: convertToInt8(rgb[0]), - g: convertToInt8(rgb[1]), - b: convertToInt8(rgb[2]), - }; - } - throw new Error(`Invalid rgb color: ${rgb.join(", ")}`); + // use the channel key as the new array key + return { + r: limitValue(Math.round(convertToInt8(rgb[0])), 0, 255) || 0, + g: limitValue(Math.round(convertToInt8(rgb[1])), 0, 255) || 0, + b: limitValue(Math.round(convertToInt8(rgb[2])), 0, 255) || 0, + }; } /** @@ -45,6 +48,6 @@ export function getRgbValues(rgb: string[]): RGBVALUE { * * @return {string} a string representation of the rgb values */ -export function valuesToRgb(rgb: RGBVALUE): string { +export function RGB(rgb: RGBVALUE): string { return `rgb(${rgb.r},${rgb.g},${rgb.b})`; } diff --git a/src/types.ts b/src/types.ts index c5e4f50..b5fd7ef 100644 --- a/src/types.ts +++ b/src/types.ts @@ -4,7 +4,7 @@ */ export type RGB = `rgb(${string},${string},${string})`; export type HSL = `hsl(${string},${string},${string})`; -export type HEX = `#${string}`; +export type HEX = `#${string}` | string; export type WithAlpha = O & { a: number }; export type RGBA = WithAlpha; diff --git a/tests/bench/benchmark.js.map b/tests/bench/benchmark.js.map new file mode 100644 index 0000000..d70b86a --- /dev/null +++ b/tests/bench/benchmark.js.map @@ -0,0 +1 @@ +{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["benchmark.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAA;AACrB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;AAErB,IAAM,WAAW,GAAG,cAAM,OAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAvD,CAAuD,CAAA;AAEjF,IAAM,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAM,OAAA,WAAW,EAAE,EAAb,CAAa,CAAC,CAAA;AAE9D,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAA;AAE7C,CAAC,CAAC,KAAK,CACL,kCAAkC,EAElC,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;IAClB,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,OAAO,CAAC,CAAC,CAAC,EAAV,CAAU,CAAC,CAAA;AACpC,CAAC,CAAC,EAEF,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IACd,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAnC,CAAmC,CAAC,CAAA;AAC7D,CAAC,CAAC,EAEF,CAAC,CAAC,KAAK,EAAE,EACT,CAAC,CAAC,QAAQ,EAAE,CACb,CAAC,IAAI,CAAE;IACN,gCAAgC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAA;IACrC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,CAAA;QAC/C,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAA;AAChB,CAAC,CAAE,CAAA"} \ No newline at end of file diff --git a/tests/benchmark.ts b/tests/bench/benchmark.ts similarity index 51% rename from tests/benchmark.ts rename to tests/bench/benchmark.ts index 9889483..bd85e77 100644 --- a/tests/benchmark.ts +++ b/tests/bench/benchmark.ts @@ -1,13 +1,12 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ import b from 'benny' import { colord, extend } from 'colord' -import namesPlugin from 'colord/plugins/names' -import {closest} from "../src"; +import namesPlugin from "colord/plugins/names" +import {closest} from "color-2-name" import * as fs from "fs"; extend([namesPlugin]) -const randomColor = () => '#' + Math.floor(Math.random() * 16777215).toString(16) +const randomColor = () => '#' + [1,2,3].map(() => Math.floor(Math.random() * 255 ).toString(16).padStart(2, "0") ).join("") const randoms = new Array(50).fill(0).map(() => randomColor()) @@ -26,11 +25,12 @@ b.suite( b.cycle(), b.complete() -) - -// get the benchmark folder path -const path = process.cwd() + '/bench' -if (fs.existsSync(path)) { - console.log('Removing bench folder at ' + path) - fs.rmSync(path, {recursive: true}) -} +).then( () => { + // get the benchmark folder path + const path = process.cwd() + '/bench' + if (fs.existsSync(path)) { + console.log('Removing bench folder at ' + path) + fs.rmSync(path, {recursive: true}) + } + process.exit() +} ) diff --git a/tests/bench/package-lock.json b/tests/bench/package-lock.json new file mode 100644 index 0000000..090867d --- /dev/null +++ b/tests/bench/package-lock.json @@ -0,0 +1,438 @@ +{ + "name": "color-2-name-bench", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "color-2-name-bench", + "version": "1.0.0", + "dependencies": { + "benny": "^3.7.1", + "color-2-name": "../../", + "colord": "^2.9.3" + } + }, + "../..": { + "version": "1.3.0", + "license": "ISC", + "devDependencies": { + "@babel/core": "^7.23.6", + "@babel/preset-env": "^7.23.6", + "@babel/preset-typescript": "^7.23.3", + "@jest/globals": "^29.7.0", + "@rollup/plugin-terser": "^0.4.4", + "@types/jest": "^29.5.11", + "@types/node": "^20.10.5", + "@typescript-eslint/eslint-plugin": "^6.15.0", + "@typescript-eslint/parser": "^6.14.0", + "babel-jest": "^29.7.0", + "benny": "^3.7.1", + "color-2-name": "^1.2.0", + "colord": "^2.9.3", + "concurrently": "^8.2.2", + "esbuild": "^0.19.10", + "eslint": "^8.55.0", + "eslint-config-standard": "^17.1.0", + "eslint-plugin-n": "^16.3.1", + "eslint-plugin-promise": "^6.1.1", + "jest": "^29.7.0", + "prettier": "^2.8.8", + "rimraf": "^4.1.2", + "rollup": "^4.9.1", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-typescript2": "^0.36.0", + "typescript": "^5.3.3" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/@arrows/array": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/array/-/array-1.4.1.tgz", + "integrity": "sha512-MGYS8xi3c4tTy1ivhrVntFvufoNzje0PchjEz6G/SsWRgUKxL4tKwS6iPdO8vsaJYldagAeWMd5KRD0aX3Q39g==", + "dependencies": { + "@arrows/composition": "^1.2.2" + } + }, + "node_modules/@arrows/composition": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@arrows/composition/-/composition-1.2.2.tgz", + "integrity": "sha512-9fh1yHwrx32lundiB3SlZ/VwuStPB4QakPsSLrGJFH6rCXvdrd060ivAZ7/2vlqPnEjBkPRRXOcG1YOu19p2GQ==" + }, + "node_modules/@arrows/dispatch": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@arrows/dispatch/-/dispatch-1.0.3.tgz", + "integrity": "sha512-v/HwvrFonitYZM2PmBlAlCqVqxrkIIoiEuy5bQgn0BdfvlL0ooSBzcPzTMrtzY8eYktPyYcHg8fLbSgyybXEqw==", + "dependencies": { + "@arrows/composition": "^1.2.2" + } + }, + "node_modules/@arrows/error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@arrows/error/-/error-1.0.2.tgz", + "integrity": "sha512-yvkiv1ay4Z3+Z6oQsUkedsQm5aFdyPpkBUQs8vejazU/RmANABx6bMMcBPPHI4aW43VPQmXFfBzr/4FExwWTEA==" + }, + "node_modules/@arrows/multimethod": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@arrows/multimethod/-/multimethod-1.4.1.tgz", + "integrity": "sha512-AZnAay0dgPnCJxn3We5uKiB88VL+1ZIF2SjZohLj6vqY2UyvB/sKdDnFP+LZNVsTC5lcnGPmLlRRkAh4sXkXsQ==", + "dependencies": { + "@arrows/array": "^1.4.1", + "@arrows/composition": "^1.2.2", + "@arrows/error": "^1.0.2", + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/benchmark": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", + "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", + "dependencies": { + "lodash": "^4.17.4", + "platform": "^1.3.3" + } + }, + "node_modules/benny": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/benny/-/benny-3.7.1.tgz", + "integrity": "sha512-USzYxODdVfOS7JuQq/L0naxB788dWCiUgUTxvN+WLPt/JfcDURNNj8kN/N+uK6PDvuR67/9/55cVKGPleFQINA==", + "dependencies": { + "@arrows/composition": "^1.0.0", + "@arrows/dispatch": "^1.0.2", + "@arrows/multimethod": "^1.1.6", + "benchmark": "^2.1.4", + "common-tags": "^1.8.0", + "fs-extra": "^10.0.0", + "json2csv": "^5.0.6", + "kleur": "^4.1.4", + "log-update": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/color-2-name": { + "resolved": "../..", + "link": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/json2csv": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-5.0.7.tgz", + "integrity": "sha512-YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "commander": "^6.1.0", + "jsonparse": "^1.3.1", + "lodash.get": "^4.4.2" + }, + "bin": { + "json2csv": "bin/json2csv.js" + }, + "engines": { + "node": ">= 10", + "npm": ">= 6.13.0" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + } + } +} diff --git a/tests/bench/package.json b/tests/bench/package.json new file mode 100644 index 0000000..c27bd51 --- /dev/null +++ b/tests/bench/package.json @@ -0,0 +1,19 @@ +{ + "name": "color-2-name-bench", + "version": "1.0.0", + "description": "run the color-2-name benchmark", + "main": "benchmark.js", + "type": "module", + "scripts": { + "benchmark": "tsc -p ./tsconfig.benchmark.json && node ./bench/benchmark.js" + }, + "dependencies": { + "benny": "^3.7.1", + "color-2-name": "../../" + }, + "repository": { + "type": "git", + "url": "https://github.com/erikyo/color2name.git" + }, + "private": true +} diff --git a/tests/bench/tsconfig.benchmark.json b/tests/bench/tsconfig.benchmark.json new file mode 100644 index 0000000..f80daea --- /dev/null +++ b/tests/bench/tsconfig.benchmark.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "strict": false, // Enable the strictest settings like strictNullChecks & noImplicitAny. + "isolatedModules": true, // Disallow features that require cross-file information for emitting. + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "skipDefaultLibCheck": true, + "outDir": "./bench", + "rootDir": ".", + "esModuleInterop": true, + }, + "include": [ + "*.ts", + "node_modules/@types" + ] +} diff --git a/tests/colors.test.ts b/tests/colors.test.ts deleted file mode 100644 index db65d16..0000000 --- a/tests/colors.test.ts +++ /dev/null @@ -1,204 +0,0 @@ -/** - * COMMON FUNCTIONS TESTING: - */ -import {convertToInt8, parseColor} from "../src/common"; -import {hexToRgb, parseHex, shortHexToLongHex, toHex, valuesToHex} from "../src/hex-utils"; -import {getRgbValues, parseRgb, valuesToRgb} from "../src/rgb-utils"; -import {getHslValues, hslToRgb, parseHsl, valuesToHsl} from "../src/hsl-utils"; - - -describe('COMMON', () => { - - // HEX - it('Returns the correct rgb representation of the given HEX color', () => { - expect(parseColor('#000')).toMatchObject({r: 0, g: 0, b: 0}) - expect(parseColor('#000000')).toMatchObject({r: 0, g: 0, b: 0}) - expect(parseColor('#ff0000')).toMatchObject({r: 255, g: 0, b: 0}) - expect(parseColor('#f00')).toMatchObject({r: 255, g: 0, b: 0}) - expect(parseColor('#ffffff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('#fff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('#ffff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('#fffff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('#fffffff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('#ffffffffffffffffffffffffffff')).toMatchObject({r: 255, g: 255, b: 255}) - expect(() => parseColor('blue')).toThrowError() - }) - - // RGB - it('Returns the correct rgb representation of the given RGB color', () => { - expect(parseColor('rgb(255,255,255)')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('rgb(255, 255, 255,.5)')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('rgb(255 255 255)')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('rgb(255 255 255 / .5)')).toMatchObject({r: 255, g: 255, b: 255}) - expect(parseColor('rgba(255 255 255 / 0.1)')).toMatchObject({r: 255, g: 255, b: 255}) - }) - - // HSL - it('Returns the correct rgb representation of the given HSL color', () => { - expect(parseColor('hsl(0,0%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) - expect(parseColor('hsl(255,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) - expect(parseColor('hsl(0,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) - expect(parseColor('hsl(127,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) - }) - - it('Returns the INT8 value of the css value', () => { - expect(convertToInt8('0')).toBe(0) - expect(convertToInt8('100')).toBe(100) - expect(convertToInt8('0%')).toBe(0) - expect(convertToInt8('100%')).toBe(255) - expect(convertToInt8('0deg')).toBe(0) - expect(convertToInt8('180deg')).toBe(127.5) - expect(convertToInt8('360deg')).toBe(255) - expect(convertToInt8('720deg')).toBe(255) - expect(convertToInt8('-360deg')).toBe(0) - expect(() => convertToInt8('five')).toThrowError() - }) -}) - -/** - * HEX FUNCTIONS TESTING: - */ -describe('HEX', () => { - it('Returns an Object with the triplets of hex color values', () => { - expect(shortHexToLongHex('')).toMatchObject([]) - expect(shortHexToLongHex('00')).toMatchObject(['00', '00']) - expect(shortHexToLongHex('000')).toMatchObject(['00', '00', '00']) - expect(shortHexToLongHex('0000')).toMatchObject(['00', '00', '00', '00']) - expect(shortHexToLongHex('F00')).toMatchObject(['FF', '00', '00']) - expect(shortHexToLongHex('123')).toMatchObject(['11', '22', '33']) - expect(shortHexToLongHex('123')).toMatchObject(['11', '22', '33']) - }) - - it('Returns an Object with the HEX values r g b given a color in hex notation', () => { - expect(parseHex('#000')).toMatchObject(['00', '00', '00']) - expect(parseHex('#FF0000')).toMatchObject(['FF', '00', '00']) - expect(parseHex('#1234ab')).toMatchObject(['12', '34', 'AB']) - expect(parseHex('123')).toMatchObject(['11', '22', '33']) - expect(parseHex('1234ab')).toMatchObject(['12', '34', 'AB']) - expect(parseHex('#123')).toMatchObject(['11', '22', '33']) - expect(parseHex('#1234')).toMatchObject(['11', '22', '33', '44']) - expect(parseHex('#00')).toMatchObject([]) - expect(parseHex('#')).toMatchObject([]) - expect(parseHex('000')).toMatchObject(['00', '00', '00']) - }) - - it('Returns transformation of the hex object into a RGB object', () => { - expect(hexToRgb(['0', '0', '0'])).toMatchObject({ r: 0, g: 0, b: 0 }) - expect(hexToRgb(['FF', '00', '00'])).toMatchObject({ r: 255, g: 0, b: 0 }) - expect(hexToRgb(['FF', 'FF', 'FF'])).toMatchObject({ r: 255, g: 255, b: 255 }) - expect(() => hexToRgb(['FFFFFF'])).toThrowError() - }) - - it('Return the int8 to hex conversion', () => { - expect(toHex(0)).toBe("00") - expect(toHex(127)).toBe("7f") - expect(toHex(255)).toBe("ff" ) - }) -}) - - -/** - * RGB FUNCTIONS TESTING: - */ -describe('RGB', () => { - it('Returns an Object with the r,g and b color values of a rgb color', () => { - expect(parseRgb('rgb(0,0,0)')).toMatchObject(['0', '0', '0']) - expect(parseRgb('rgb(255,255,255)')).toMatchObject(['255', '255', '255']) - expect(parseRgb('rgb(255,255,255,1)')).toMatchObject(['255', '255', '255']) - expect(parseRgb('rgba(255,255,255,1)')).toMatchObject(['255', '255', '255']) - expect(parseRgb('rgb(50%,100%,100%,1)')).toMatchObject(['50%', '100%', '100%']) - }) - - it('Returns an array with the rgb values given a rgb string of a css color', () => { - expect(parseRgb('rgb(0,0,0, 0.1)')).toMatchObject(["0","0","0"]) - expect(parseRgb('rgb(100% 100% 100%)')).toMatchObject(["100%","100%","100%"]) - expect(parseRgb('rgb(160 160 160 / .55)')).toMatchObject(["160","160","160"]) - expect(() => parseRgb('hsl(50%,100%,100%,1)')).toThrowError() - expect(() => parseRgb('#000')).toThrowError() - }) - - it('Returns an Object with the rgb int8 values given and array of values', () => { - expect(getRgbValues(["0","0","0"])).toMatchObject({r: 0, g: 0, b: 0}) - expect(() => getRgbValues(["0"])).toThrowError("Invalid rgb color: 0") - }) - - it('Returns an hex values given a rgb values', () => { - expect(valuesToHex({ r: 0, g: 0, b: 0 })).toBe("#000000") - expect(valuesToHex({ r: 0, g: 0, b: 'a' })).toBe('#errorr') - expect(valuesToHex({ r: 0, g: '0', b: 255 })).toBe('#errorr') - expect(valuesToHex({ r: 'asd' })).toBe('#errorr') - expect(valuesToHex({ b: false })).toBe('#errorr') - expect(valuesToHex({ g: undefined })).toBe('#errorr') - }) -}) - -/** - * HSL FUNCTIONS TESTING: - */ -describe('HSL', () => { - it('Returns an Object with the r,g and b color values of a hsl color', () => { - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(0,0%,100%)'))) - ).toBe('rgb(255,255,255)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(60,100%,100%)'))) - ).toBe('rgb(255,255,255)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(120,100%,100%)'))) - ).toBe('rgb(255,255,255)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(180,100%,100%)'))) - ).toBe('rgb(255,255,255)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(240,33%,38%)'))) - ).toBe('rgb(65,65,129)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(300,66%,66%)'))) - ).toBe('rgb(226,111,226)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(400,66%,66%)'))) - ).toBe('rgb(226,187,111)') - - expect( - valuesToRgb(hslToRgb(parseHsl('hsl(-150,66%,66%)'))) - ).toBe('rgb(111,168,226)') - - expect( - () => valuesToRgb( - hslToRgb(parseHsl('rgb(100,100%,100%)')) - ) - ).toThrowError() - }) - - it('Returns an Object with the r,g and b color values of a hsl color', () => { - expect( - getHslValues(["255", "100%", "100%"]) - ).toMatchObject({h:255, s:100, l:100}) - - expect( - () => getHslValues(["100"]) - ).toThrowError() - }) - - it('Returns an Object with the r,g and b color values of a hsl color', () => { - expect( - hslToRgb(["255", "100%", "100%"]) - ).toMatchObject({r:255, g:255, b:255}) - - expect( - () => hslToRgb([255]) - ).toThrowError() - }) - - it('Returns a String with the hsl color values of a rgb color', () => { - expect( - valuesToHsl({r:255, g:0, b:255}) - ).toBe('hsl(300,100%,50%)') - }) -}) diff --git a/tests/colors_hex.test.ts b/tests/colors_hex.test.ts new file mode 100644 index 0000000..ef552c4 --- /dev/null +++ b/tests/colors_hex.test.ts @@ -0,0 +1,80 @@ +/** + * COMMON FUNCTIONS TESTING: + */ + +import {hexToRgb, parseHex, shortHexToLongHex, toHex} from "../src/hex-utils"; +import {hex_invalid_tests, hex_valid_tests} from "./fixtures/hex_colors"; +import {RGB} from "../src/rgb-utils"; +import {parseColor} from "../src/"; +import {normalizeRGB} from "./fixtures/functions"; +import {COLORSTRING} from "../src/types"; +import {normalizeDegrees} from "../src/common"; +import {hsl_invalid_tests} from "./fixtures/hsl_colors"; +import {hslToRgb, parseHsl} from "../src/hsl-utils"; + +describe('HEX COMMON', () => { + + // HEX + it('Returns the correct rgb representation of the given HEX color', () => { + expect(parseColor('#000')).toMatchObject({r: 0, g: 0, b: 0}) + expect(parseColor('#000000')).toMatchObject({r: 0, g: 0, b: 0}) + expect(parseColor('#ff0000')).toMatchObject({r: 255, g: 0, b: 0}) + expect(parseColor('#f00')).toMatchObject({r: 255, g: 0, b: 0}) + expect(parseColor('#ffffff')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('#fff')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('#ffff')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('#ffffff')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('#ffffffff')).toMatchObject({r: 255, g: 255, b: 255}) + }) +}) + +/** + * HEX FUNCTIONS TESTING: + */ +describe('HEX', () => { + it('Returns an Object with the triplets of hex color values', () => { + expect(shortHexToLongHex('')).toMatchObject([]) + expect(shortHexToLongHex('00')).toMatchObject(['00', '00']) + expect(shortHexToLongHex('000')).toMatchObject(['00', '00', '00']) + expect(shortHexToLongHex('0000')).toMatchObject(['00', '00', '00', '00']) + expect(shortHexToLongHex('F00')).toMatchObject(['FF', '00', '00']) + expect(shortHexToLongHex('123')).toMatchObject(['11', '22', '33']) + expect(shortHexToLongHex('123')).toMatchObject(['11', '22', '33']) + }) + + describe('HEX Color Parsing and Conversion', () => { + hex_valid_tests.forEach(([hexString, expectedRgbString, description]) => { + it(description || `Parses HEX: ${hexString} to RGB: ${expectedRgbString}`, () => { + expect(RGB(hexToRgb(parseHex(hexString as COLORSTRING)))).toBe(normalizeRGB(expectedRgbString)); + }); + }); + }); + + describe('Invalid HEX Color Parsing', () => { + console.warn = jest.fn(); + hex_invalid_tests.forEach(([hexString, expectedErrorMessage]) => { + it(`Fails to Parse Invalid HEX: ${hexString} ${expectedErrorMessage}`, () => { + RGB(hexToRgb(parseHex(hexString as COLORSTRING))) + expect(console.warn).toBeCalled(); + }); + }); + }); + + it('Returns transformation of the hex object into a RGB object', () => { + expect(hexToRgb(['0', '0', '0'])).toMatchObject({ r: 0, g: 0, b: 0 }) + expect(hexToRgb(['FF', '00', '00'])).toMatchObject({ r: 255, g: 0, b: 0 }) + expect(hexToRgb(['FF', 'FF', 'FF'])).toMatchObject({ r: 255, g: 255, b: 255 }) + }) + + it('Return the int8 to hex conversion', () => { + expect(toHex(0)).toBe("00") + expect(toHex(127)).toBe("7f") + expect(toHex(255)).toBe("ff" ) + }) + + it('Return the int8 to hex conversion', () => { + expect(normalizeDegrees("90deg")).toBe(90) + expect(normalizeDegrees("90rad")).toBe(117) + expect(normalizeDegrees("2turn")).toBe(0 ) + }) +}) diff --git a/tests/colors_hsl.test.ts b/tests/colors_hsl.test.ts new file mode 100644 index 0000000..8d7f7c9 --- /dev/null +++ b/tests/colors_hsl.test.ts @@ -0,0 +1,57 @@ +/** + * COMMON FUNCTIONS TESTING: + */ +import {convertToInt8} from "../src/common"; +import {parseColor} from "../src"; +import {parseHsl, hslToRgb} from "../src/hsl-utils"; +import {hsl_invalid_tests, hsl_valid_tests} from "./fixtures/hsl_colors"; +import {normalizeRGB} from "./fixtures/functions"; +import {RGB} from "../src/rgb-utils"; + + +describe('HSL COMMON', () => { + + // HSL + it('Returns the correct rgb representation of the given HSL color', () => { + expect(parseColor('hsl(0,0%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) + expect(parseColor('hsl(255,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) + expect(parseColor('hsl(0,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) + expect(parseColor('hsl(127,100%,100%)')).toMatchObject({ r: 255, g: 255, b: 255 }) + }) + + it('Returns the INT8 value of the css value', () => { + expect(convertToInt8('0')).toBe(0) + expect(convertToInt8('100')).toBe(100) + expect(convertToInt8('0%')).toBe(0) + expect(convertToInt8('100%')).toBe(255) + expect(convertToInt8('0deg')).toBe(0) + expect(convertToInt8('180deg')).toBe(180) + expect(convertToInt8('360deg')).toBe(0) + expect(convertToInt8('720deg')).toBe(0) + expect(convertToInt8('-360deg')).toBe(0) + }) +}) + +/** + * HSL FUNCTIONS TESTING: + */ +describe('HSL', () => { + + describe('HSL Color Parsing and Conversion', () => { + hsl_valid_tests.forEach(([hslString, expectedRgbString, description]) => { + it(description || `Parses HSL: ${hslString} to RGB: ${expectedRgbString}`, () => { + expect(RGB(hslToRgb(parseHsl(hslString)))).toBe(normalizeRGB(expectedRgbString)); + }); + }); + }); + + describe('Invalid HSL Color Parsing', () => { + console.warn = jest.fn(); + hsl_invalid_tests.forEach(([hslString, expectedErrorMessage]) => { + it(`Fails to Parse Invalid HSL: ${hslString} ${expectedErrorMessage}`, () => { + RGB(hslToRgb(parseHsl(hslString))) + expect(console.warn).toBeCalled(); + }); + }); + }); +}) diff --git a/tests/colors_rgb.test.ts b/tests/colors_rgb.test.ts new file mode 100644 index 0000000..e19d70a --- /dev/null +++ b/tests/colors_rgb.test.ts @@ -0,0 +1,44 @@ +/** + * COMMON FUNCTIONS TESTING: + */ + +import {getRgbValues, parseRgb, RGB} from "../src/rgb-utils"; +import {rgb_invalid_tests, rgb_valid_tests} from "./fixtures/rgb_colors"; +import {normalizeRGB} from "./fixtures/functions"; +import {parseColor} from "../src"; + +describe('RGB COMMON', () => { + + // RGB + it('Returns the correct rgb representation of the given RGB color', () => { + expect(parseColor('rgb(255,255,255)')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('rgb(255, 255, 255,.5)')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('rgb(255 255 255)')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('rgb(255 255 255 / .5)')).toMatchObject({r: 255, g: 255, b: 255}) + expect(parseColor('rgba(255 255 255 / 0.1)')).toMatchObject({r: 255, g: 255, b: 255}) + }) +}) + +/** + * RGB FUNCTIONS TESTING: + */ +describe('RGB', () => { + + describe('RGB Color Parsing and Conversion', () => { + rgb_valid_tests.forEach(([rgbString, expectedRgbString, description]) => { + it(description || `Parses RGB: ${rgbString} to RGB: ${expectedRgbString}`, () => { + expect(RGB(getRgbValues(parseRgb(rgbString)))).toBe(normalizeRGB(expectedRgbString)); + }); + }); + }); + + describe('Invalid RGB Color Parsing', () => { + console.warn = jest.fn(); + rgb_invalid_tests.forEach(([rgbString, expectedErrorMessage]) => { + it(`Fails to Parse Invalid RGB: ${rgbString} ${expectedErrorMessage}`, () => { + RGB(getRgbValues(parseRgb(rgbString))) + expect(console.warn).toBeCalled(); + }); + }); + }); +}) diff --git a/tests/index.test.ts b/tests/core.test.ts similarity index 60% rename from tests/index.test.ts rename to tests/core.test.ts index fe8f32c..6b688ea 100644 --- a/tests/index.test.ts +++ b/tests/core.test.ts @@ -1,21 +1,7 @@ -import colorSet from '../src/data/colorSet' -// import buildColorSet from '../colorSetUtils.mjs' - -import {closest, closestRGB, distance, isDark, isLight, isLightOrDark, rgbToHex} from '../src' -import {MAXDISTANCE} from '../src/common' -import getColor from "../src/color-utils"; - -describe('Main name-2-color functions', () => { - - it('Returns the correct numbers of color', () => { - expect(colorSet.length).toBeGreaterThan(140) - }) - - // it('Can rebuild the original Color Set, disabled since doesn't work with ts test suite', () => { - // expect( buildColorSet() ).toMatchObject(colorSet) - // }) - -}) +import {closest, closestRGB, distance, getColor, isDark, isLight, rgbToHex} from "../src"; +import {MAXDISTANCE} from "../src/common"; +import {valuesToHex} from "../src/hex-utils"; +import {jest} from "@jest/globals"; describe('Color Conversions functions', () => { it('Returns the correct distance between colors', () => { @@ -38,11 +24,16 @@ describe('Color Conversions functions', () => { it('Returns the correct name of the color', () => { // HEX + console.warn = jest.fn(); + + expect(() => closest('blue')).toThrow() + expect(closest('#3fdaf4')).toMatchObject({ name: 'turquoise' }) expect(closest('#000000')).toMatchObject({ name: 'black' }) expect(closest('#ff0000')).toMatchObject({ name: 'red' }) expect(closest('#ffffff')).toMatchObject({ name: 'white'}) expect(closest('#fffffe')).toMatchObject({ name: 'white'}) //RGB + expect(closest('rgb(300,255,255)')).toMatchObject({ name: 'white'}) expect(closest('rgb(255,255,255)')).toMatchObject({ name: 'white'}) expect(closest('rgba(255,255,255,0.1)')).toMatchObject({ name: 'white'}) expect(closest('rgba(255,255,255,.1)')).toMatchObject({ name: 'white'}) @@ -52,7 +43,7 @@ describe('Color Conversions functions', () => { // INFO expect(closest('rgb(255,0,255)', undefined, {info: true})).toMatchObject({ name: 'magenta', hex: '#ff00ff', gap: 0 }) // INFO FUNKY CONFIGURATION - expect(closest('#FFF', undefined, {info: "YES"})).toMatchObject({ name: 'white', hex: '#ffffff' }) + expect(closest('#FFF', undefined, {info: "YES" as unknown as boolean})).toMatchObject({ name: 'white', hex: '#ffffff' }) // INFO DISABLED expect(closest('hsl(255,0%,100%)', undefined, {info: false})).toMatchObject({ name: 'white' }) // THROW ERR @@ -84,14 +75,6 @@ describe('Color Conversions functions', () => { expect(isDark('hsl(0,0%,0%)')).toBe(true) expect(isDark('hsla(0,0%,0%,10%)')).toBe(true) - expect(isLightOrDark('#111')).toBe('dark') - expect(isLightOrDark('#aaa')).toBe('light') - expect(isLightOrDark('#F00')).toBe('dark') - expect(isLightOrDark('#FF0000')).toBe('dark') - expect(isLightOrDark('#0F0')).toBe('dark') - expect(isLightOrDark('#00F')).toBe('dark') - expect(isLightOrDark('#0FF')).toBe('light') - expect(closestRGB('#a22')).toBe('red') expect(closestRGB('#2a2')).toBe('green') expect(closestRGB('#22a')).toBe('blue') @@ -102,17 +85,21 @@ describe('Color Conversions functions', () => { expect(() => rgbToHex('#AHAHAH')).toThrow("Invalid color: #AHAHAH") expect(() => rgbToHex(1)).toThrow("Invalid color: 1") }) -}) -describe('Name to color, basically the exact opposite of the repo name. Useful in case we need to revert the process', () => { - it('Returns an Object with the hex, rgb and hsl value of the color (by name)', () => { - expect( getColor('white') ).toMatchObject({"hex": "#ffffff", "hsl": "hsl(0,0%,100%)", "rgb": "rgb(255,255,255)"}) - expect( getColor('red') ).toMatchObject({"hex": "#ff0000", "hsl": "hsl(0,100%,50%)", "rgb": "rgb(255,0,0)"}) - expect( getColor('tomato') ).toMatchObject({"hex": "#ff6347", "hsl": "hsl(9,100%,63.9%)", "rgb": "rgb(255,99,71)"}) - expect( getColor('yellowgreen') ).toMatchObject({"hex": "#9acd32", "hsl": "hsl(80,60.8%,50%)", "rgb": "rgb(154,205,50)"}) - expect( getColor('greenyellow') ).toMatchObject({"hex": "#adff2f", "hsl": "hsl(84,100%,59.2%)", "rgb": "rgb(173,255,47)"}) - expect( getColor('darkblue') ).toMatchObject({"hex": "#00008b", "hsl": "hsl(240,100%,27.3%)", "rgb": "rgb(0,0,139)"}) - expect( () => getColor('asdasdasd') ).toThrowError() - expect( () => getColor('white', []) ).toThrowError() - } ) -} ) + it('Fails with error parsing wrong rgb values', () => { + expect(valuesToHex({ r: 255, g: 255, b: 255})).toBe('#ffffff') + }) + + it('Get color function', () => { + expect(getColor('red')).toMatchObject({ + hex: "#ff0000" + }) + expect(getColor('green')).toMatchObject({ + hex: "#008000" + }) + expect(getColor('blue')).toMatchObject({ + hex: "#0000ff" + }) + expect(() => getColor(null)).toThrow("Error: invalid color null or empty colorSet") + }) +}) diff --git a/tests/fixtures/functions.ts b/tests/fixtures/functions.ts new file mode 100644 index 0000000..4b58103 --- /dev/null +++ b/tests/fixtures/functions.ts @@ -0,0 +1,13 @@ +export function normalizeRGB(rgba: string): string { + // Extract the individual components (red, green, blue, alpha) from the RGBA string + const match = rgba.match(/(\d+),\s*(\d+),\s*(\d+),\s*([\d.]+)/); + + if (!match) { + return rgba.replace(/ /g, ''); + } + + const [, red, green, blue] = match; + + // Construct the RGB color string + return `rgb(${red},${green},${blue})`; +} diff --git a/tests/fixtures/hex_colors.ts b/tests/fixtures/hex_colors.ts new file mode 100644 index 0000000..53d0229 --- /dev/null +++ b/tests/fixtures/hex_colors.ts @@ -0,0 +1,23 @@ +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-computed-hex-color.html +export const hex_valid_tests = [ + ["#fff", "rgb(255, 255, 255)", "Valid 3-digit hex"], + ["#ffff", "rgb(255, 255, 255)", "Valid 4-digit hex"], + ["#ffffff", "rgb(255, 255, 255)", "Valid 6-digit hex"], + ["#ffffffff", "rgb(255, 255, 255)", "Valid 8-digit hex"], + ["#FFCc99", "rgb(255, 204, 153)", "Valid 6-digit hex"], + ["#369", "rgb(51, 102, 153)", "Valid 3-digit hex"], +]; + +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-invalid-hex-color.html +export const hex_invalid_tests = [ + ["#", "Should not parse invalid hex"], + ["#f", "Should not parse invalid hex"], + ["#ff", "Should not parse invalid hex"], + ["#ffg", "Should not parse invalid hex"], + ["#fffg", "Should not parse invalid hex"], + ["#fffff", "Should not parse invalid hex"], + ["#fffffg", "Should not parse invalid hex"], + ["#fffffff", "Should not parse invalid hex"], + ["#fffffffg", "Should not parse invalid hex"], + ["#fffffffff", "Should not parse invalid hex"], +]; diff --git a/tests/fixtures/hsl_colors.ts b/tests/fixtures/hsl_colors.ts new file mode 100644 index 0000000..c7a2658 --- /dev/null +++ b/tests/fixtures/hsl_colors.ts @@ -0,0 +1,3768 @@ +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-computed-hsl.html +export const hsl_valid_tests = [ + ["hsl(120 30% 50%)", "rgb(89, 166, 89)"], + ["hsl(120 30% 50% / 0.5)", "rgba(89, 166, 89, 0.5)"], + ["hsl(120 30% 50% / 50%)", "rgba(89, 166, 89, 0.5)"], + ["hsl(none none none)", "rgb(0, 0, 0)"], + ["hsl(0 0% 0%)", "rgb(0, 0, 0)"], + ["hsl(none none none / none)", "rgba(0, 0, 0, 0)"], + ["hsl(0 0% 0% / 0)", "rgba(0, 0, 0, 0)"], + ["hsla(none none none)", "rgb(0, 0, 0)"], + ["hsla(0 0% 0%)", "rgb(0, 0, 0)"], + ["hsla(none none none / none)", "rgba(0, 0, 0, 0)"], + ["hsla(0 0% 0% / 0)", "rgba(0, 0, 0, 0)"], + ["hsl(120 none none)", "rgb(0, 0, 0)"], + ["hsl(120 0% 0%)", "rgb(0, 0, 0)"], + ["hsl(120 80% none)", "rgb(0, 0, 0)"], + ["hsl(120 80% 0%)", "rgb(0, 0, 0)"], + ["hsl(120 none 50%)", "rgb(128, 128, 128)"], + ["hsl(120 0% 50%)", "rgb(128, 128, 128)"], + ["hsl(120 100% 50% / none)", "rgba(0, 255, 0, 0)"], + ["hsl(120 100% 50% / 0)", "rgba(0, 255, 0, 0)"], + ["hsl(120 100% 50% / 0%)", "rgba(0, 255, 0, 0)"], + ["hsl(none 100% 50%)", "rgb(255, 0, 0)"], + ["hsl(0 100% 50%)", "rgb(255, 0, 0)"], + + ["HSL(0, 0%, 0%)", "rgb(0, 0, 0)", "Capitalization should not affect parsing"], + ["hsL(0, 100%, 50%)", "rgb(255, 0, 0)", "Capitalization should not affect parsing"], + ["hsl(60, 100%, 37.5%)", "rgb(191, 191, 0)", "Valid numbers should be parsed"], + ["hsl(780, 100%, 37.5%)", "rgb(191, 191, 0)", "Angles are represented as a part of a circle and wrap around"], + ["hsl(-300, 100%, 37.5%)", "rgb(191, 191, 0)", "Angles are represented as a part of a circle and wrap around"], + ["hsl(300, 50%, 50%)", "rgb(191, 64, 191)", "Valid numbers should be parsed"], + ["hsl(30deg, 100%, 100%)", "rgb(255, 255, 255)", "Angles are accepted in HSL/HSLA"], + ["hsl(0, 0%, 0%, 0%)", "rgba(0, 0, 0, 0)", "HSL and HSLA are synonyms"], + ["HSLA(-300, 100%, 37.5%, 1)", "rgb(191, 191, 0)", "Angles are represented as a part of a circle and wrap around"], + ["hsLA(-300, 100%, 37.5%, 12)", "rgb(191, 191, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["hsla(-300, 100%, 37.5%, 0.2)", "rgba(191, 191, 0, 0.2)", "Angles are represented as a part of a circle and wrap around"], + ["hsla(-300, 100%, 37.5%, 0)", "rgba(191, 191, 0, 0)", "Angles are represented as a part of a circle and wrap around"], + ["hsla(-300, 100%, 37.5%, -3)", "rgba(191, 191, 0, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["hsla(0, 0%, 0%, 50%)", "rgba(0, 0, 0, 0.5)", "Percent alpha values are accepted in hsl/hsla"], + ["hsla(30deg, 100%, 100%, 1)", "rgb(255, 255, 255)", "Angles are accepted in HSL/HSLA"], + + ["hsl(0, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 12.5%)", "rgb(36, 28, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 12.5%, 0)", "rgba(36, 28, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 12.5%, 0.2)", "rgba(36, 28, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 12.5%, 1)", "rgb(36, 28, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 25%)", "rgb(72, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 25%, 0)", "rgba(72, 56, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 25%, 0.2)", "rgba(72, 56, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 25%, 1)", "rgb(72, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 37.5%)", "rgb(108, 84, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 37.5%, 0)", "rgba(108, 84, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 37.5%, 0.2)", "rgba(108, 84, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 37.5%, 1)", "rgb(108, 84, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 50%)", "rgb(143, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 50%, 0)", "rgba(143, 112, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 50%, 0.2)", "rgba(143, 112, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 50%, 1)", "rgb(143, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 62.5%)", "rgb(171, 147, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 62.5%, 0)", "rgba(171, 147, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 62.5%, 0.2)", "rgba(171, 147, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 62.5%, 1)", "rgb(171, 147, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 75%)", "rgb(199, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 75%, 0)", "rgba(199, 183, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 75%, 0.2)", "rgba(199, 183, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 75%, 1)", "rgb(199, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 87.5%)", "rgb(227, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 87.5%, 0)", "rgba(227, 219, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 87.5%, 0.2)", "rgba(227, 219, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 87.5%, 1)", "rgb(227, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 12.5%)", "rgb(40, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 12.5%, 0)", "rgba(40, 24, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 12.5%, 0.2)", "rgba(40, 24, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 12.5%, 1)", "rgb(40, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 25%)", "rgb(80, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 25%, 0)", "rgba(80, 48, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 25%, 0.2)", "rgba(80, 48, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 25%, 1)", "rgb(80, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 37.5%)", "rgb(120, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 37.5%, 0)", "rgba(120, 72, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 37.5%, 0.2)", "rgba(120, 72, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 37.5%, 1)", "rgb(120, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 50%)", "rgb(159, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 50%, 0)", "rgba(159, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 50%, 0.2)", "rgba(159, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 50%, 1)", "rgb(159, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 62.5%)", "rgb(183, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 62.5%, 0)", "rgba(183, 135, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 62.5%, 0.2)", "rgba(183, 135, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 62.5%, 1)", "rgb(183, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 75%)", "rgb(207, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 75%, 0)", "rgba(207, 175, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 75%, 0.2)", "rgba(207, 175, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 75%, 1)", "rgb(207, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 87.5%)", "rgb(231, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 87.5%, 0)", "rgba(231, 215, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 87.5%, 0.2)", "rgba(231, 215, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 87.5%, 1)", "rgb(231, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 12.5%)", "rgb(44, 20, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 12.5%, 0)", "rgba(44, 20, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 12.5%, 0.2)", "rgba(44, 20, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 12.5%, 1)", "rgb(44, 20, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 25%)", "rgb(88, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 25%, 0)", "rgba(88, 40, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 25%, 0.2)", "rgba(88, 40, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 25%, 1)", "rgb(88, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 37.5%)", "rgb(131, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 37.5%, 0)", "rgba(131, 60, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 37.5%, 0.2)", "rgba(131, 60, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 37.5%, 1)", "rgb(131, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 50%)", "rgb(175, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 50%, 0)", "rgba(175, 80, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 50%, 0.2)", "rgba(175, 80, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 50%, 1)", "rgb(175, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 62.5%)", "rgb(195, 124, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 62.5%, 0)", "rgba(195, 124, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 62.5%, 0.2)", "rgba(195, 124, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 62.5%, 1)", "rgb(195, 124, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 75%)", "rgb(215, 167, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 75%, 0)", "rgba(215, 167, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 75%, 0.2)", "rgba(215, 167, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 75%, 1)", "rgb(215, 167, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 87.5%)", "rgb(235, 211, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 87.5%, 0)", "rgba(235, 211, 211, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 87.5%, 0.2)", "rgba(235, 211, 211, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 87.5%, 1)", "rgb(235, 211, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 12.5%)", "rgb(48, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 12.5%, 0)", "rgba(48, 16, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 12.5%, 0.2)", "rgba(48, 16, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 12.5%, 1)", "rgb(48, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 25%)", "rgb(96, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 25%, 0)", "rgba(96, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 25%, 0.2)", "rgba(96, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 25%, 1)", "rgb(96, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 37.5%)", "rgb(143, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 37.5%, 0)", "rgba(143, 48, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 37.5%, 0.2)", "rgba(143, 48, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 37.5%, 1)", "rgb(143, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 50%)", "rgb(191, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 50%, 0)", "rgba(191, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 50%, 0.2)", "rgba(191, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 50%, 1)", "rgb(191, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 62.5%)", "rgb(207, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 62.5%, 0)", "rgba(207, 112, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 62.5%, 0.2)", "rgba(207, 112, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 62.5%, 1)", "rgb(207, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 75%)", "rgb(223, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 75%, 0)", "rgba(223, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 75%, 0.2)", "rgba(223, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 75%, 1)", "rgb(223, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 87.5%)", "rgb(239, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 87.5%, 0)", "rgba(239, 207, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 87.5%, 0.2)", "rgba(239, 207, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 87.5%, 1)", "rgb(239, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 12.5%)", "rgb(52, 12, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 12.5%, 0)", "rgba(52, 12, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 12.5%, 0.2)", "rgba(52, 12, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 12.5%, 1)", "rgb(52, 12, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 25%)", "rgb(104, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 25%, 0)", "rgba(104, 24, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 25%, 0.2)", "rgba(104, 24, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 25%, 1)", "rgb(104, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 37.5%)", "rgb(155, 36, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 37.5%, 0)", "rgba(155, 36, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 37.5%, 0.2)", "rgba(155, 36, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 37.5%, 1)", "rgb(155, 36, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 50%)", "rgb(207, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 50%, 0)", "rgba(207, 48, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 50%, 0.2)", "rgba(207, 48, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 50%, 1)", "rgb(207, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 62.5%)", "rgb(219, 100, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 62.5%, 0)", "rgba(219, 100, 100, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 62.5%, 0.2)", "rgba(219, 100, 100, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 62.5%, 1)", "rgb(219, 100, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 75%)", "rgb(231, 151, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 75%, 0)", "rgba(231, 151, 151, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 75%, 0.2)", "rgba(231, 151, 151, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 75%, 1)", "rgb(231, 151, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 87.5%)", "rgb(243, 203, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 87.5%, 0)", "rgba(243, 203, 203, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 87.5%, 0.2)", "rgba(243, 203, 203, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 87.5%, 1)", "rgb(243, 203, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 12.5%)", "rgb(56, 8, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 12.5%, 0)", "rgba(56, 8, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 12.5%, 0.2)", "rgba(56, 8, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 12.5%, 1)", "rgb(56, 8, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 25%)", "rgb(112, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 25%, 0)", "rgba(112, 16, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 25%, 0.2)", "rgba(112, 16, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 25%, 1)", "rgb(112, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 37.5%)", "rgb(167, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 37.5%, 0)", "rgba(167, 24, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 37.5%, 0.2)", "rgba(167, 24, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 37.5%, 1)", "rgb(167, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 50%)", "rgb(223, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 50%, 0)", "rgba(223, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 50%, 0.2)", "rgba(223, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 50%, 1)", "rgb(223, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 62.5%)", "rgb(231, 88, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 62.5%, 0)", "rgba(231, 88, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 62.5%, 0.2)", "rgba(231, 88, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 62.5%, 1)", "rgb(231, 88, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 75%)", "rgb(239, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 75%, 0)", "rgba(239, 143, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 75%, 0.2)", "rgba(239, 143, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 75%, 1)", "rgb(239, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 87.5%)", "rgb(247, 199, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 87.5%, 0)", "rgba(247, 199, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 87.5%, 0.2)", "rgba(247, 199, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 87.5%, 1)", "rgb(247, 199, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 12.5%)", "rgb(60, 4, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 12.5%, 0)", "rgba(60, 4, 4, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 12.5%, 0.2)", "rgba(60, 4, 4, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 12.5%, 1)", "rgb(60, 4, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 25%)", "rgb(120, 8, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 25%, 0)", "rgba(120, 8, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 25%, 0.2)", "rgba(120, 8, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 25%, 1)", "rgb(120, 8, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 37.5%)", "rgb(179, 12, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 37.5%, 0)", "rgba(179, 12, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 37.5%, 0.2)", "rgba(179, 12, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 37.5%, 1)", "rgb(179, 12, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 50%)", "rgb(239, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 50%, 0)", "rgba(239, 16, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 50%, 0.2)", "rgba(239, 16, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 50%, 1)", "rgb(239, 16, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 62.5%)", "rgb(243, 76, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 62.5%, 0)", "rgba(243, 76, 76, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 62.5%, 0.2)", "rgba(243, 76, 76, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 62.5%, 1)", "rgb(243, 76, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 75%)", "rgb(247, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 75%, 0)", "rgba(247, 135, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 75%, 0.2)", "rgba(247, 135, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 75%, 1)", "rgb(247, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 87.5%)", "rgb(251, 195, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 87.5%, 0)", "rgba(251, 195, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 87.5%, 0.2)", "rgba(251, 195, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 87.5%, 1)", "rgb(251, 195, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 12.5%)", "rgb(64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 12.5%, 0)", "rgba(64, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 12.5%, 0.2)", "rgba(64, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 12.5%, 1)", "rgb(64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 25%)", "rgb(128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 25%, 0)", "rgba(128, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 25%, 0.2)", "rgba(128, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 25%, 1)", "rgb(128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 37.5%)", "rgb(191, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 37.5%, 0)", "rgba(191, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 37.5%, 0.2)", "rgba(191, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 37.5%, 1)", "rgb(191, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 50%)", "rgb(255, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 50%, 0)", "rgba(255, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 50%, 0.2)", "rgba(255, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 50%, 1)", "rgb(255, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 62.5%)", "rgb(255, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 62.5%, 0)", "rgba(255, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 62.5%, 0.2)", "rgba(255, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 62.5%, 1)", "rgb(255, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 75%)", "rgb(255, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 75%, 0)", "rgba(255, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 75%, 0.2)", "rgba(255, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 75%, 1)", "rgb(255, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 87.5%)", "rgb(255, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 87.5%, 0)", "rgba(255, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 87.5%, 0.2)", "rgba(255, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 87.5%, 1)", "rgb(255, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(0, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(0, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 12.5%)", "rgb(36, 32, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 12.5%, 0)", "rgba(36, 32, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 12.5%, 0.2)", "rgba(36, 32, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 12.5%, 1)", "rgb(36, 32, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 25%)", "rgb(72, 64, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 25%, 0)", "rgba(72, 64, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 25%, 0.2)", "rgba(72, 64, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 25%, 1)", "rgb(72, 64, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 37.5%)", "rgb(108, 96, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 37.5%, 0)", "rgba(108, 96, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 37.5%, 0.2)", "rgba(108, 96, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 37.5%, 1)", "rgb(108, 96, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 50%)", "rgb(143, 128, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 50%, 0)", "rgba(143, 128, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 50%, 0.2)", "rgba(143, 128, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 50%, 1)", "rgb(143, 128, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 62.5%)", "rgb(171, 159, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 62.5%, 0)", "rgba(171, 159, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 62.5%, 0.2)", "rgba(171, 159, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 62.5%, 1)", "rgb(171, 159, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 75%)", "rgb(199, 191, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 75%, 0)", "rgba(199, 191, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 75%, 0.2)", "rgba(199, 191, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 75%, 1)", "rgb(199, 191, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 87.5%)", "rgb(227, 223, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 87.5%, 0)", "rgba(227, 223, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 87.5%, 0.2)", "rgba(227, 223, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 87.5%, 1)", "rgb(227, 223, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 12.5%)", "rgb(40, 32, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 12.5%, 0)", "rgba(40, 32, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 12.5%, 0.2)", "rgba(40, 32, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 12.5%, 1)", "rgb(40, 32, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 25%)", "rgb(80, 64, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 25%, 0)", "rgba(80, 64, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 25%, 0.2)", "rgba(80, 64, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 25%, 1)", "rgb(80, 64, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 37.5%)", "rgb(120, 96, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 37.5%, 0)", "rgba(120, 96, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 37.5%, 0.2)", "rgba(120, 96, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 37.5%, 1)", "rgb(120, 96, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 50%)", "rgb(159, 128, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 50%, 0)", "rgba(159, 128, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 50%, 0.2)", "rgba(159, 128, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 50%, 1)", "rgb(159, 128, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 62.5%)", "rgb(183, 159, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 62.5%, 0)", "rgba(183, 159, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 62.5%, 0.2)", "rgba(183, 159, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 62.5%, 1)", "rgb(183, 159, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 75%)", "rgb(207, 191, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 75%, 0)", "rgba(207, 191, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 75%, 0.2)", "rgba(207, 191, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 75%, 1)", "rgb(207, 191, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 87.5%)", "rgb(231, 223, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 87.5%, 0)", "rgba(231, 223, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 87.5%, 0.2)", "rgba(231, 223, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 87.5%, 1)", "rgb(231, 223, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 12.5%)", "rgb(44, 32, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 12.5%, 0)", "rgba(44, 32, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 12.5%, 0.2)", "rgba(44, 32, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 12.5%, 1)", "rgb(44, 32, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 25%)", "rgb(88, 64, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 25%, 0)", "rgba(88, 64, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 25%, 0.2)", "rgba(88, 64, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 25%, 1)", "rgb(88, 64, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 37.5%)", "rgb(131, 96, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 37.5%, 0)", "rgba(131, 96, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 37.5%, 0.2)", "rgba(131, 96, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 37.5%, 1)", "rgb(131, 96, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 50%)", "rgb(175, 128, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 50%, 0)", "rgba(175, 128, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 50%, 0.2)", "rgba(175, 128, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 50%, 1)", "rgb(175, 128, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 62.5%)", "rgb(195, 159, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 62.5%, 0)", "rgba(195, 159, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 62.5%, 0.2)", "rgba(195, 159, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 62.5%, 1)", "rgb(195, 159, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 75%)", "rgb(215, 191, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 75%, 0)", "rgba(215, 191, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 75%, 0.2)", "rgba(215, 191, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 75%, 1)", "rgb(215, 191, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 87.5%)", "rgb(235, 223, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 87.5%, 0)", "rgba(235, 223, 211, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 87.5%, 0.2)", "rgba(235, 223, 211, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 87.5%, 1)", "rgb(235, 223, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 12.5%)", "rgb(48, 32, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 12.5%, 0)", "rgba(48, 32, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 12.5%, 0.2)", "rgba(48, 32, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 12.5%, 1)", "rgb(48, 32, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 25%)", "rgb(96, 64, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 25%, 0)", "rgba(96, 64, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 25%, 0.2)", "rgba(96, 64, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 25%, 1)", "rgb(96, 64, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 37.5%)", "rgb(143, 96, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 37.5%, 0)", "rgba(143, 96, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 37.5%, 0.2)", "rgba(143, 96, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 37.5%, 1)", "rgb(143, 96, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 50%)", "rgb(191, 128, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 50%, 0)", "rgba(191, 128, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 50%, 0.2)", "rgba(191, 128, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 50%, 1)", "rgb(191, 128, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 62.5%)", "rgb(207, 159, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 62.5%, 0)", "rgba(207, 159, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 62.5%, 0.2)", "rgba(207, 159, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 62.5%, 1)", "rgb(207, 159, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 75%)", "rgb(223, 191, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 75%, 0)", "rgba(223, 191, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 75%, 0.2)", "rgba(223, 191, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 75%, 1)", "rgb(223, 191, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 87.5%)", "rgb(239, 223, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 87.5%, 0)", "rgba(239, 223, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 87.5%, 0.2)", "rgba(239, 223, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 87.5%, 1)", "rgb(239, 223, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 12.5%)", "rgb(52, 32, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 12.5%, 0)", "rgba(52, 32, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 12.5%, 0.2)", "rgba(52, 32, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 12.5%, 1)", "rgb(52, 32, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 25%)", "rgb(104, 64, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 25%, 0)", "rgba(104, 64, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 25%, 0.2)", "rgba(104, 64, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 25%, 1)", "rgb(104, 64, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 37.5%)", "rgb(155, 96, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 37.5%, 0)", "rgba(155, 96, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 37.5%, 0.2)", "rgba(155, 96, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 37.5%, 1)", "rgb(155, 96, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 50%)", "rgb(207, 128, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 50%, 0)", "rgba(207, 128, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 50%, 0.2)", "rgba(207, 128, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 50%, 1)", "rgb(207, 128, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 62.5%)", "rgb(219, 159, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 62.5%, 0)", "rgba(219, 159, 100, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 62.5%, 0.2)", "rgba(219, 159, 100, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 62.5%, 1)", "rgb(219, 159, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 75%)", "rgb(231, 191, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 75%, 0)", "rgba(231, 191, 151, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 75%, 0.2)", "rgba(231, 191, 151, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 75%, 1)", "rgb(231, 191, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 87.5%)", "rgb(243, 223, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 87.5%, 0)", "rgba(243, 223, 203, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 87.5%, 0.2)", "rgba(243, 223, 203, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 87.5%, 1)", "rgb(243, 223, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 12.5%)", "rgb(56, 32, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 12.5%, 0)", "rgba(56, 32, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 12.5%, 0.2)", "rgba(56, 32, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 12.5%, 1)", "rgb(56, 32, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 25%)", "rgb(112, 64, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 25%, 0)", "rgba(112, 64, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 25%, 0.2)", "rgba(112, 64, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 25%, 1)", "rgb(112, 64, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 37.5%)", "rgb(167, 96, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 37.5%, 0)", "rgba(167, 96, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 37.5%, 0.2)", "rgba(167, 96, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 37.5%, 1)", "rgb(167, 96, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 50%)", "rgb(223, 128, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 50%, 0)", "rgba(223, 128, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 50%, 0.2)", "rgba(223, 128, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 50%, 1)", "rgb(223, 128, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 62.5%)", "rgb(231, 159, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 62.5%, 0)", "rgba(231, 159, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 62.5%, 0.2)", "rgba(231, 159, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 62.5%, 1)", "rgb(231, 159, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 75%)", "rgb(239, 191, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 75%, 0)", "rgba(239, 191, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 75%, 0.2)", "rgba(239, 191, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 75%, 1)", "rgb(239, 191, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 87.5%)", "rgb(247, 223, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 87.5%, 0)", "rgba(247, 223, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 87.5%, 0.2)", "rgba(247, 223, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 87.5%, 1)", "rgb(247, 223, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 12.5%)", "rgb(60, 32, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 12.5%, 0)", "rgba(60, 32, 4, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 12.5%, 0.2)", "rgba(60, 32, 4, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 12.5%, 1)", "rgb(60, 32, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 25%)", "rgb(120, 64, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 25%, 0)", "rgba(120, 64, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 25%, 0.2)", "rgba(120, 64, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 25%, 1)", "rgb(120, 64, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 37.5%)", "rgb(179, 96, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 37.5%, 0)", "rgba(179, 96, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 37.5%, 0.2)", "rgba(179, 96, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 37.5%, 1)", "rgb(179, 96, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 50%)", "rgb(239, 128, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 50%, 0)", "rgba(239, 128, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 50%, 0.2)", "rgba(239, 128, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 50%, 1)", "rgb(239, 128, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 62.5%)", "rgb(243, 159, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 62.5%, 0)", "rgba(243, 159, 76, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 62.5%, 0.2)", "rgba(243, 159, 76, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 62.5%, 1)", "rgb(243, 159, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 75%)", "rgb(247, 191, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 75%, 0)", "rgba(247, 191, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 75%, 0.2)", "rgba(247, 191, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 75%, 1)", "rgb(247, 191, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 87.5%)", "rgb(251, 223, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 87.5%, 0)", "rgba(251, 223, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 87.5%, 0.2)", "rgba(251, 223, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 87.5%, 1)", "rgb(251, 223, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 12.5%)", "rgb(64, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 12.5%, 0)", "rgba(64, 32, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 12.5%, 0.2)", "rgba(64, 32, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 12.5%, 1)", "rgb(64, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 25%)", "rgb(128, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 25%, 0)", "rgba(128, 64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 25%, 0.2)", "rgba(128, 64, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 25%, 1)", "rgb(128, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 37.5%)", "rgb(191, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 37.5%, 0)", "rgba(191, 96, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 37.5%, 0.2)", "rgba(191, 96, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 37.5%, 1)", "rgb(191, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 50%)", "rgb(255, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 50%, 0)", "rgba(255, 128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 50%, 0.2)", "rgba(255, 128, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 50%, 1)", "rgb(255, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 62.5%)", "rgb(255, 159, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 62.5%, 0)", "rgba(255, 159, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 62.5%, 0.2)", "rgba(255, 159, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 62.5%, 1)", "rgb(255, 159, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 75%)", "rgb(255, 191, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 75%, 0)", "rgba(255, 191, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 75%, 0.2)", "rgba(255, 191, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 75%, 1)", "rgb(255, 191, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 87.5%)", "rgb(255, 223, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 87.5%, 0)", "rgba(255, 223, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 87.5%, 0.2)", "rgba(255, 223, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 87.5%, 1)", "rgb(255, 223, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(30, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(30, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 12.5%)", "rgb(36, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 12.5%, 0)", "rgba(36, 36, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 12.5%, 0.2)", "rgba(36, 36, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 12.5%, 1)", "rgb(36, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 25%)", "rgb(72, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 25%, 0)", "rgba(72, 72, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 25%, 0.2)", "rgba(72, 72, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 25%, 1)", "rgb(72, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 37.5%)", "rgb(108, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 37.5%, 0)", "rgba(108, 108, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 37.5%, 0.2)", "rgba(108, 108, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 37.5%, 1)", "rgb(108, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 50%)", "rgb(143, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 50%, 0)", "rgba(143, 143, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 50%, 0.2)", "rgba(143, 143, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 50%, 1)", "rgb(143, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 62.5%)", "rgb(171, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 62.5%, 0)", "rgba(171, 171, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 62.5%, 0.2)", "rgba(171, 171, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 62.5%, 1)", "rgb(171, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 75%)", "rgb(199, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 75%, 0)", "rgba(199, 199, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 75%, 0.2)", "rgba(199, 199, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 75%, 1)", "rgb(199, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 87.5%)", "rgb(227, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 87.5%, 0)", "rgba(227, 227, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 87.5%, 0.2)", "rgba(227, 227, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 87.5%, 1)", "rgb(227, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 12.5%)", "rgb(40, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 12.5%, 0)", "rgba(40, 40, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 12.5%, 0.2)", "rgba(40, 40, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 12.5%, 1)", "rgb(40, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 25%)", "rgb(80, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 25%, 0)", "rgba(80, 80, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 25%, 0.2)", "rgba(80, 80, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 25%, 1)", "rgb(80, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 37.5%)", "rgb(120, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 37.5%, 0)", "rgba(120, 120, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 37.5%, 0.2)", "rgba(120, 120, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 37.5%, 1)", "rgb(120, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 50%)", "rgb(159, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 50%, 0)", "rgba(159, 159, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 50%, 0.2)", "rgba(159, 159, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 50%, 1)", "rgb(159, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 62.5%)", "rgb(183, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 62.5%, 0)", "rgba(183, 183, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 62.5%, 0.2)", "rgba(183, 183, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 62.5%, 1)", "rgb(183, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 75%)", "rgb(207, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 75%, 0)", "rgba(207, 207, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 75%, 0.2)", "rgba(207, 207, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 75%, 1)", "rgb(207, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 87.5%)", "rgb(231, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 87.5%, 0)", "rgba(231, 231, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 87.5%, 0.2)", "rgba(231, 231, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 87.5%, 1)", "rgb(231, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 12.5%)", "rgb(44, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 12.5%, 0)", "rgba(44, 44, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 12.5%, 0.2)", "rgba(44, 44, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 12.5%, 1)", "rgb(44, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 25%)", "rgb(88, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 25%, 0)", "rgba(88, 88, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 25%, 0.2)", "rgba(88, 88, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 25%, 1)", "rgb(88, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 37.5%)", "rgb(131, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 37.5%, 0)", "rgba(131, 131, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 37.5%, 0.2)", "rgba(131, 131, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 37.5%, 1)", "rgb(131, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 50%)", "rgb(175, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 50%, 0)", "rgba(175, 175, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 50%, 0.2)", "rgba(175, 175, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 50%, 1)", "rgb(175, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 62.5%)", "rgb(195, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 62.5%, 0)", "rgba(195, 195, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 62.5%, 0.2)", "rgba(195, 195, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 62.5%, 1)", "rgb(195, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 75%)", "rgb(215, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 75%, 0)", "rgba(215, 215, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 75%, 0.2)", "rgba(215, 215, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 75%, 1)", "rgb(215, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 87.5%)", "rgb(235, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 87.5%, 0)", "rgba(235, 235, 211, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 87.5%, 0.2)", "rgba(235, 235, 211, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 87.5%, 1)", "rgb(235, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 12.5%)", "rgb(48, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 12.5%, 0)", "rgba(48, 48, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 12.5%, 0.2)", "rgba(48, 48, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 12.5%, 1)", "rgb(48, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 25%)", "rgb(96, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 25%, 0)", "rgba(96, 96, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 25%, 0.2)", "rgba(96, 96, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 25%, 1)", "rgb(96, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 37.5%)", "rgb(143, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 37.5%, 0)", "rgba(143, 143, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 37.5%, 0.2)", "rgba(143, 143, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 37.5%, 1)", "rgb(143, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 50%)", "rgb(191, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 50%, 0)", "rgba(191, 191, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 50%, 0.2)", "rgba(191, 191, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 50%, 1)", "rgb(191, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 62.5%)", "rgb(207, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 62.5%, 0)", "rgba(207, 207, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 62.5%, 0.2)", "rgba(207, 207, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 62.5%, 1)", "rgb(207, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 75%)", "rgb(223, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 75%, 0)", "rgba(223, 223, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 75%, 0.2)", "rgba(223, 223, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 75%, 1)", "rgb(223, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 87.5%)", "rgb(239, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 87.5%, 0)", "rgba(239, 239, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 87.5%, 0.2)", "rgba(239, 239, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 87.5%, 1)", "rgb(239, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 12.5%)", "rgb(52, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 12.5%, 0)", "rgba(52, 52, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 12.5%, 0.2)", "rgba(52, 52, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 12.5%, 1)", "rgb(52, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 25%)", "rgb(104, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 25%, 0)", "rgba(104, 104, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 25%, 0.2)", "rgba(104, 104, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 25%, 1)", "rgb(104, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 37.5%)", "rgb(155, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 37.5%, 0)", "rgba(155, 155, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 37.5%, 0.2)", "rgba(155, 155, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 37.5%, 1)", "rgb(155, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 50%)", "rgb(207, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 50%, 0)", "rgba(207, 207, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 50%, 0.2)", "rgba(207, 207, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 50%, 1)", "rgb(207, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 62.5%)", "rgb(219, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 62.5%, 0)", "rgba(219, 219, 100, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 62.5%, 0.2)", "rgba(219, 219, 100, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 62.5%, 1)", "rgb(219, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 75%)", "rgb(231, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 75%, 0)", "rgba(231, 231, 151, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 75%, 0.2)", "rgba(231, 231, 151, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 75%, 1)", "rgb(231, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 87.5%)", "rgb(243, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 87.5%, 0)", "rgba(243, 243, 203, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 87.5%, 0.2)", "rgba(243, 243, 203, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 87.5%, 1)", "rgb(243, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 12.5%)", "rgb(56, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 12.5%, 0)", "rgba(56, 56, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 12.5%, 0.2)", "rgba(56, 56, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 12.5%, 1)", "rgb(56, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 25%)", "rgb(112, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 25%, 0)", "rgba(112, 112, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 25%, 0.2)", "rgba(112, 112, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 25%, 1)", "rgb(112, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 37.5%)", "rgb(167, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 37.5%, 0)", "rgba(167, 167, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 37.5%, 0.2)", "rgba(167, 167, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 37.5%, 1)", "rgb(167, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 50%)", "rgb(223, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 50%, 0)", "rgba(223, 223, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 50%, 0.2)", "rgba(223, 223, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 50%, 1)", "rgb(223, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 62.5%)", "rgb(231, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 62.5%, 0)", "rgba(231, 231, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 62.5%, 0.2)", "rgba(231, 231, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 62.5%, 1)", "rgb(231, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 75%)", "rgb(239, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 75%, 0)", "rgba(239, 239, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 75%, 0.2)", "rgba(239, 239, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 75%, 1)", "rgb(239, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 87.5%)", "rgb(247, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 87.5%, 0)", "rgba(247, 247, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 87.5%, 0.2)", "rgba(247, 247, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 87.5%, 1)", "rgb(247, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 12.5%)", "rgb(60, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 12.5%, 0)", "rgba(60, 60, 4, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 12.5%, 0.2)", "rgba(60, 60, 4, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 12.5%, 1)", "rgb(60, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 25%)", "rgb(120, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 25%, 0)", "rgba(120, 120, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 25%, 0.2)", "rgba(120, 120, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 25%, 1)", "rgb(120, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 37.5%)", "rgb(179, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 37.5%, 0)", "rgba(179, 179, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 37.5%, 0.2)", "rgba(179, 179, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 37.5%, 1)", "rgb(179, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 50%)", "rgb(239, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 50%, 0)", "rgba(239, 239, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 50%, 0.2)", "rgba(239, 239, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 50%, 1)", "rgb(239, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 62.5%)", "rgb(243, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 62.5%, 0)", "rgba(243, 243, 76, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 62.5%, 0.2)", "rgba(243, 243, 76, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 62.5%, 1)", "rgb(243, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 75%)", "rgb(247, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 75%, 0)", "rgba(247, 247, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 75%, 0.2)", "rgba(247, 247, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 75%, 1)", "rgb(247, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 87.5%)", "rgb(251, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 87.5%, 0)", "rgba(251, 251, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 87.5%, 0.2)", "rgba(251, 251, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 87.5%, 1)", "rgb(251, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 12.5%)", "rgb(64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 12.5%, 0)", "rgba(64, 64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 12.5%, 0.2)", "rgba(64, 64, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 12.5%, 1)", "rgb(64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 25%)", "rgb(128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 25%, 0)", "rgba(128, 128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 25%, 0.2)", "rgba(128, 128, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 25%, 1)", "rgb(128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 37.5%)", "rgb(191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 37.5%, 0)", "rgba(191, 191, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 37.5%, 0.2)", "rgba(191, 191, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 37.5%, 1)", "rgb(191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 50%)", "rgb(255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 50%, 0)", "rgba(255, 255, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 50%, 0.2)", "rgba(255, 255, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 50%, 1)", "rgb(255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 62.5%)", "rgb(255, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 62.5%, 0)", "rgba(255, 255, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 62.5%, 0.2)", "rgba(255, 255, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 62.5%, 1)", "rgb(255, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 75%)", "rgb(255, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 75%, 0)", "rgba(255, 255, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 75%, 0.2)", "rgba(255, 255, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 75%, 1)", "rgb(255, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 87.5%)", "rgb(255, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 87.5%, 0)", "rgba(255, 255, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 87.5%, 0.2)", "rgba(255, 255, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 87.5%, 1)", "rgb(255, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(60, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(60, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 12.5%)", "rgb(32, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 12.5%, 0)", "rgba(32, 36, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 12.5%, 0.2)", "rgba(32, 36, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 12.5%, 1)", "rgb(32, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 25%)", "rgb(64, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 25%, 0)", "rgba(64, 72, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 25%, 0.2)", "rgba(64, 72, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 25%, 1)", "rgb(64, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 37.5%)", "rgb(96, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 37.5%, 0)", "rgba(96, 108, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 37.5%, 0.2)", "rgba(96, 108, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 37.5%, 1)", "rgb(96, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 50%)", "rgb(128, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 50%, 0)", "rgba(128, 143, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 50%, 0.2)", "rgba(128, 143, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 50%, 1)", "rgb(128, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 62.5%)", "rgb(159, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 62.5%, 0)", "rgba(159, 171, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 62.5%, 0.2)", "rgba(159, 171, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 62.5%, 1)", "rgb(159, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 75%)", "rgb(191, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 75%, 0)", "rgba(191, 199, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 75%, 0.2)", "rgba(191, 199, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 75%, 1)", "rgb(191, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 87.5%)", "rgb(223, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 87.5%, 0)", "rgba(223, 227, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 87.5%, 0.2)", "rgba(223, 227, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 87.5%, 1)", "rgb(223, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 12.5%)", "rgb(32, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 12.5%, 0)", "rgba(32, 40, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 12.5%, 0.2)", "rgba(32, 40, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 12.5%, 1)", "rgb(32, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 25%)", "rgb(64, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 25%, 0)", "rgba(64, 80, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 25%, 0.2)", "rgba(64, 80, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 25%, 1)", "rgb(64, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 37.5%)", "rgb(96, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 37.5%, 0)", "rgba(96, 120, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 37.5%, 0.2)", "rgba(96, 120, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 37.5%, 1)", "rgb(96, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 50%)", "rgb(128, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 50%, 0)", "rgba(128, 159, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 50%, 0.2)", "rgba(128, 159, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 50%, 1)", "rgb(128, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 62.5%)", "rgb(159, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 62.5%, 0)", "rgba(159, 183, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 62.5%, 0.2)", "rgba(159, 183, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 62.5%, 1)", "rgb(159, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 75%)", "rgb(191, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 75%, 0)", "rgba(191, 207, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 75%, 0.2)", "rgba(191, 207, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 75%, 1)", "rgb(191, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 87.5%)", "rgb(223, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 87.5%, 0)", "rgba(223, 231, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 87.5%, 0.2)", "rgba(223, 231, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 87.5%, 1)", "rgb(223, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 12.5%)", "rgb(32, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 12.5%, 0)", "rgba(32, 44, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 12.5%, 0.2)", "rgba(32, 44, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 12.5%, 1)", "rgb(32, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 25%)", "rgb(64, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 25%, 0)", "rgba(64, 88, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 25%, 0.2)", "rgba(64, 88, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 25%, 1)", "rgb(64, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 37.5%)", "rgb(96, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 37.5%, 0)", "rgba(96, 131, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 37.5%, 0.2)", "rgba(96, 131, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 37.5%, 1)", "rgb(96, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 50%)", "rgb(128, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 50%, 0)", "rgba(128, 175, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 50%, 0.2)", "rgba(128, 175, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 50%, 1)", "rgb(128, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 62.5%)", "rgb(159, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 62.5%, 0)", "rgba(159, 195, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 62.5%, 0.2)", "rgba(159, 195, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 62.5%, 1)", "rgb(159, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 75%)", "rgb(191, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 75%, 0)", "rgba(191, 215, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 75%, 0.2)", "rgba(191, 215, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 75%, 1)", "rgb(191, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 87.5%)", "rgb(223, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 87.5%, 0)", "rgba(223, 235, 211, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 87.5%, 0.2)", "rgba(223, 235, 211, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 87.5%, 1)", "rgb(223, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 12.5%)", "rgb(32, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 12.5%, 0)", "rgba(32, 48, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 12.5%, 0.2)", "rgba(32, 48, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 12.5%, 1)", "rgb(32, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 25%)", "rgb(64, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 25%, 0)", "rgba(64, 96, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 25%, 0.2)", "rgba(64, 96, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 25%, 1)", "rgb(64, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 37.5%)", "rgb(96, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 37.5%, 0)", "rgba(96, 143, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 37.5%, 0.2)", "rgba(96, 143, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 37.5%, 1)", "rgb(96, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 50%)", "rgb(128, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 50%, 0)", "rgba(128, 191, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 50%, 0.2)", "rgba(128, 191, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 50%, 1)", "rgb(128, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 62.5%)", "rgb(159, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 62.5%, 0)", "rgba(159, 207, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 62.5%, 0.2)", "rgba(159, 207, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 62.5%, 1)", "rgb(159, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 75%)", "rgb(191, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 75%, 0)", "rgba(191, 223, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 75%, 0.2)", "rgba(191, 223, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 75%, 1)", "rgb(191, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 87.5%)", "rgb(223, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 87.5%, 0)", "rgba(223, 239, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 87.5%, 0.2)", "rgba(223, 239, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 87.5%, 1)", "rgb(223, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 12.5%)", "rgb(32, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 12.5%, 0)", "rgba(32, 52, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 12.5%, 0.2)", "rgba(32, 52, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 12.5%, 1)", "rgb(32, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 25%)", "rgb(64, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 25%, 0)", "rgba(64, 104, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 25%, 0.2)", "rgba(64, 104, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 25%, 1)", "rgb(64, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 37.5%)", "rgb(96, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 37.5%, 0)", "rgba(96, 155, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 37.5%, 0.2)", "rgba(96, 155, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 37.5%, 1)", "rgb(96, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 50%)", "rgb(128, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 50%, 0)", "rgba(128, 207, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 50%, 0.2)", "rgba(128, 207, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 50%, 1)", "rgb(128, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 62.5%)", "rgb(159, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 62.5%, 0)", "rgba(159, 219, 100, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 62.5%, 0.2)", "rgba(159, 219, 100, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 62.5%, 1)", "rgb(159, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 75%)", "rgb(191, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 75%, 0)", "rgba(191, 231, 151, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 75%, 0.2)", "rgba(191, 231, 151, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 75%, 1)", "rgb(191, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 87.5%)", "rgb(223, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 87.5%, 0)", "rgba(223, 243, 203, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 87.5%, 0.2)", "rgba(223, 243, 203, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 87.5%, 1)", "rgb(223, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 12.5%)", "rgb(32, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 12.5%, 0)", "rgba(32, 56, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 12.5%, 0.2)", "rgba(32, 56, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 12.5%, 1)", "rgb(32, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 25%)", "rgb(64, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 25%, 0)", "rgba(64, 112, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 25%, 0.2)", "rgba(64, 112, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 25%, 1)", "rgb(64, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 37.5%)", "rgb(96, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 37.5%, 0)", "rgba(96, 167, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 37.5%, 0.2)", "rgba(96, 167, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 37.5%, 1)", "rgb(96, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 50%)", "rgb(128, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 50%, 0)", "rgba(128, 223, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 50%, 0.2)", "rgba(128, 223, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 50%, 1)", "rgb(128, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 62.5%)", "rgb(159, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 62.5%, 0)", "rgba(159, 231, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 62.5%, 0.2)", "rgba(159, 231, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 62.5%, 1)", "rgb(159, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 75%)", "rgb(191, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 75%, 0)", "rgba(191, 239, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 75%, 0.2)", "rgba(191, 239, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 75%, 1)", "rgb(191, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 87.5%)", "rgb(223, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 87.5%, 0)", "rgba(223, 247, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 87.5%, 0.2)", "rgba(223, 247, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 87.5%, 1)", "rgb(223, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 12.5%)", "rgb(32, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 12.5%, 0)", "rgba(32, 60, 4, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 12.5%, 0.2)", "rgba(32, 60, 4, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 12.5%, 1)", "rgb(32, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 25%)", "rgb(64, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 25%, 0)", "rgba(64, 120, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 25%, 0.2)", "rgba(64, 120, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 25%, 1)", "rgb(64, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 37.5%)", "rgb(96, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 37.5%, 0)", "rgba(96, 179, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 37.5%, 0.2)", "rgba(96, 179, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 37.5%, 1)", "rgb(96, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 50%)", "rgb(128, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 50%, 0)", "rgba(128, 239, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 50%, 0.2)", "rgba(128, 239, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 50%, 1)", "rgb(128, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 62.5%)", "rgb(159, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 62.5%, 0)", "rgba(159, 243, 76, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 62.5%, 0.2)", "rgba(159, 243, 76, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 62.5%, 1)", "rgb(159, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 75%)", "rgb(191, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 75%, 0)", "rgba(191, 247, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 75%, 0.2)", "rgba(191, 247, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 75%, 1)", "rgb(191, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 87.5%)", "rgb(223, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 87.5%, 0)", "rgba(223, 251, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 87.5%, 0.2)", "rgba(223, 251, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 87.5%, 1)", "rgb(223, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 12.5%)", "rgb(32, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 12.5%, 0)", "rgba(32, 64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 12.5%, 0.2)", "rgba(32, 64, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 12.5%, 1)", "rgb(32, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 25%)", "rgb(64, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 25%, 0)", "rgba(64, 128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 25%, 0.2)", "rgba(64, 128, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 25%, 1)", "rgb(64, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 37.5%)", "rgb(96, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 37.5%, 0)", "rgba(96, 191, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 37.5%, 0.2)", "rgba(96, 191, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 37.5%, 1)", "rgb(96, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 50%)", "rgb(128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 50%, 0)", "rgba(128, 255, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 50%, 0.2)", "rgba(128, 255, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 50%, 1)", "rgb(128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 62.5%)", "rgb(159, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 62.5%, 0)", "rgba(159, 255, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 62.5%, 0.2)", "rgba(159, 255, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 62.5%, 1)", "rgb(159, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 75%)", "rgb(191, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 75%, 0)", "rgba(191, 255, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 75%, 0.2)", "rgba(191, 255, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 75%, 1)", "rgb(191, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 87.5%)", "rgb(223, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 87.5%, 0)", "rgba(223, 255, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 87.5%, 0.2)", "rgba(223, 255, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 87.5%, 1)", "rgb(223, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(90, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(90, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 12.5%)", "rgb(28, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 12.5%, 0)", "rgba(28, 36, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 12.5%, 0.2)", "rgba(28, 36, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 12.5%, 1)", "rgb(28, 36, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 25%)", "rgb(56, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 25%, 0)", "rgba(56, 72, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 25%, 0.2)", "rgba(56, 72, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 25%, 1)", "rgb(56, 72, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 37.5%)", "rgb(84, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 37.5%, 0)", "rgba(84, 108, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 37.5%, 0.2)", "rgba(84, 108, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 37.5%, 1)", "rgb(84, 108, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 50%)", "rgb(112, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 50%, 0)", "rgba(112, 143, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 50%, 0.2)", "rgba(112, 143, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 50%, 1)", "rgb(112, 143, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 62.5%)", "rgb(147, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 62.5%, 0)", "rgba(147, 171, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 62.5%, 0.2)", "rgba(147, 171, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 62.5%, 1)", "rgb(147, 171, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 75%)", "rgb(183, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 75%, 0)", "rgba(183, 199, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 75%, 0.2)", "rgba(183, 199, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 75%, 1)", "rgb(183, 199, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 87.5%)", "rgb(219, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 87.5%, 0)", "rgba(219, 227, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 87.5%, 0.2)", "rgba(219, 227, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 87.5%, 1)", "rgb(219, 227, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 12.5%)", "rgb(24, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 12.5%, 0)", "rgba(24, 40, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 12.5%, 0.2)", "rgba(24, 40, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 12.5%, 1)", "rgb(24, 40, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 25%)", "rgb(48, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 25%, 0)", "rgba(48, 80, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 25%, 0.2)", "rgba(48, 80, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 25%, 1)", "rgb(48, 80, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 37.5%)", "rgb(72, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 37.5%, 0)", "rgba(72, 120, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 37.5%, 0.2)", "rgba(72, 120, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 37.5%, 1)", "rgb(72, 120, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 50%)", "rgb(96, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 50%, 0)", "rgba(96, 159, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 50%, 0.2)", "rgba(96, 159, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 50%, 1)", "rgb(96, 159, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 62.5%)", "rgb(135, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 62.5%, 0)", "rgba(135, 183, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 62.5%, 0.2)", "rgba(135, 183, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 62.5%, 1)", "rgb(135, 183, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 75%)", "rgb(175, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 75%, 0)", "rgba(175, 207, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 75%, 0.2)", "rgba(175, 207, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 75%, 1)", "rgb(175, 207, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 87.5%)", "rgb(215, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 87.5%, 0)", "rgba(215, 231, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 87.5%, 0.2)", "rgba(215, 231, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 87.5%, 1)", "rgb(215, 231, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 12.5%)", "rgb(20, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 12.5%, 0)", "rgba(20, 44, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 12.5%, 0.2)", "rgba(20, 44, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 12.5%, 1)", "rgb(20, 44, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 25%)", "rgb(40, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 25%, 0)", "rgba(40, 88, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 25%, 0.2)", "rgba(40, 88, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 25%, 1)", "rgb(40, 88, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 37.5%)", "rgb(60, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 37.5%, 0)", "rgba(60, 131, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 37.5%, 0.2)", "rgba(60, 131, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 37.5%, 1)", "rgb(60, 131, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 50%)", "rgb(80, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 50%, 0)", "rgba(80, 175, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 50%, 0.2)", "rgba(80, 175, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 50%, 1)", "rgb(80, 175, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 62.5%)", "rgb(124, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 62.5%, 0)", "rgba(124, 195, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 62.5%, 0.2)", "rgba(124, 195, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 62.5%, 1)", "rgb(124, 195, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 75%)", "rgb(167, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 75%, 0)", "rgba(167, 215, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 75%, 0.2)", "rgba(167, 215, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 75%, 1)", "rgb(167, 215, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 87.5%)", "rgb(211, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 87.5%, 0)", "rgba(211, 235, 211, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 87.5%, 0.2)", "rgba(211, 235, 211, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 87.5%, 1)", "rgb(211, 235, 211)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 12.5%)", "rgb(16, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 12.5%, 0)", "rgba(16, 48, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 12.5%, 0.2)", "rgba(16, 48, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 12.5%, 1)", "rgb(16, 48, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 25%)", "rgb(32, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 25%, 0)", "rgba(32, 96, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 25%, 0.2)", "rgba(32, 96, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 25%, 1)", "rgb(32, 96, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 37.5%)", "rgb(48, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 37.5%, 0)", "rgba(48, 143, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 37.5%, 0.2)", "rgba(48, 143, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 37.5%, 1)", "rgb(48, 143, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 50%)", "rgb(64, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 50%, 0)", "rgba(64, 191, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 50%, 0.2)", "rgba(64, 191, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 50%, 1)", "rgb(64, 191, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 62.5%)", "rgb(112, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 62.5%, 0)", "rgba(112, 207, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 62.5%, 0.2)", "rgba(112, 207, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 62.5%, 1)", "rgb(112, 207, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 75%)", "rgb(159, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 75%, 0)", "rgba(159, 223, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 75%, 0.2)", "rgba(159, 223, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 75%, 1)", "rgb(159, 223, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 87.5%)", "rgb(207, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 87.5%, 0)", "rgba(207, 239, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 87.5%, 0.2)", "rgba(207, 239, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 87.5%, 1)", "rgb(207, 239, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 12.5%)", "rgb(12, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 12.5%, 0)", "rgba(12, 52, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 12.5%, 0.2)", "rgba(12, 52, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 12.5%, 1)", "rgb(12, 52, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 25%)", "rgb(24, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 25%, 0)", "rgba(24, 104, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 25%, 0.2)", "rgba(24, 104, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 25%, 1)", "rgb(24, 104, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 37.5%)", "rgb(36, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 37.5%, 0)", "rgba(36, 155, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 37.5%, 0.2)", "rgba(36, 155, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 37.5%, 1)", "rgb(36, 155, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 50%)", "rgb(48, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 50%, 0)", "rgba(48, 207, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 50%, 0.2)", "rgba(48, 207, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 50%, 1)", "rgb(48, 207, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 62.5%)", "rgb(100, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 62.5%, 0)", "rgba(100, 219, 100, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 62.5%, 0.2)", "rgba(100, 219, 100, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 62.5%, 1)", "rgb(100, 219, 100)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 75%)", "rgb(151, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 75%, 0)", "rgba(151, 231, 151, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 75%, 0.2)", "rgba(151, 231, 151, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 75%, 1)", "rgb(151, 231, 151)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 87.5%)", "rgb(203, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 87.5%, 0)", "rgba(203, 243, 203, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 87.5%, 0.2)", "rgba(203, 243, 203, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 87.5%, 1)", "rgb(203, 243, 203)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 12.5%)", "rgb(8, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 12.5%, 0)", "rgba(8, 56, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 12.5%, 0.2)", "rgba(8, 56, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 12.5%, 1)", "rgb(8, 56, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 25%)", "rgb(16, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 25%, 0)", "rgba(16, 112, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 25%, 0.2)", "rgba(16, 112, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 25%, 1)", "rgb(16, 112, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 37.5%)", "rgb(24, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 37.5%, 0)", "rgba(24, 167, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 37.5%, 0.2)", "rgba(24, 167, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 37.5%, 1)", "rgb(24, 167, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 50%)", "rgb(32, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 50%, 0)", "rgba(32, 223, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 50%, 0.2)", "rgba(32, 223, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 50%, 1)", "rgb(32, 223, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 62.5%)", "rgb(88, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 62.5%, 0)", "rgba(88, 231, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 62.5%, 0.2)", "rgba(88, 231, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 62.5%, 1)", "rgb(88, 231, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 75%)", "rgb(143, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 75%, 0)", "rgba(143, 239, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 75%, 0.2)", "rgba(143, 239, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 75%, 1)", "rgb(143, 239, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 87.5%)", "rgb(199, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 87.5%, 0)", "rgba(199, 247, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 87.5%, 0.2)", "rgba(199, 247, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 87.5%, 1)", "rgb(199, 247, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 12.5%)", "rgb(4, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 12.5%, 0)", "rgba(4, 60, 4, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 12.5%, 0.2)", "rgba(4, 60, 4, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 12.5%, 1)", "rgb(4, 60, 4)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 25%)", "rgb(8, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 25%, 0)", "rgba(8, 120, 8, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 25%, 0.2)", "rgba(8, 120, 8, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 25%, 1)", "rgb(8, 120, 8)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 37.5%)", "rgb(12, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 37.5%, 0)", "rgba(12, 179, 12, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 37.5%, 0.2)", "rgba(12, 179, 12, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 37.5%, 1)", "rgb(12, 179, 12)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 50%)", "rgb(16, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 50%, 0)", "rgba(16, 239, 16, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 50%, 0.2)", "rgba(16, 239, 16, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 50%, 1)", "rgb(16, 239, 16)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 62.5%)", "rgb(76, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 62.5%, 0)", "rgba(76, 243, 76, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 62.5%, 0.2)", "rgba(76, 243, 76, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 62.5%, 1)", "rgb(76, 243, 76)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 75%)", "rgb(135, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 75%, 0)", "rgba(135, 247, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 75%, 0.2)", "rgba(135, 247, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 75%, 1)", "rgb(135, 247, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 87.5%)", "rgb(195, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 87.5%, 0)", "rgba(195, 251, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 87.5%, 0.2)", "rgba(195, 251, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 87.5%, 1)", "rgb(195, 251, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 12.5%)", "rgb(0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 12.5%, 0)", "rgba(0, 64, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 12.5%, 0.2)", "rgba(0, 64, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 12.5%, 1)", "rgb(0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 25%)", "rgb(0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 25%, 0)", "rgba(0, 128, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 25%, 0.2)", "rgba(0, 128, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 25%, 1)", "rgb(0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 37.5%)", "rgb(0, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 37.5%, 0)", "rgba(0, 191, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 37.5%, 0.2)", "rgba(0, 191, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 37.5%, 1)", "rgb(0, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 50%)", "rgb(0, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 50%, 0)", "rgba(0, 255, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 50%, 0.2)", "rgba(0, 255, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 50%, 1)", "rgb(0, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 62.5%)", "rgb(64, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 62.5%, 0)", "rgba(64, 255, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 62.5%, 0.2)", "rgba(64, 255, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 62.5%, 1)", "rgb(64, 255, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 75%)", "rgb(128, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 75%, 0)", "rgba(128, 255, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 75%, 0.2)", "rgba(128, 255, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 75%, 1)", "rgb(128, 255, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 87.5%)", "rgb(191, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 87.5%, 0)", "rgba(191, 255, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 87.5%, 0.2)", "rgba(191, 255, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 87.5%, 1)", "rgb(191, 255, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(120, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(120, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 12.5%)", "rgb(28, 36, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 12.5%, 0)", "rgba(28, 36, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 12.5%, 0.2)", "rgba(28, 36, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 12.5%, 1)", "rgb(28, 36, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 25%)", "rgb(56, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 25%, 0)", "rgba(56, 72, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 25%, 0.2)", "rgba(56, 72, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 25%, 1)", "rgb(56, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 37.5%)", "rgb(84, 108, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 37.5%, 0)", "rgba(84, 108, 108, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 37.5%, 0.2)", "rgba(84, 108, 108, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 37.5%, 1)", "rgb(84, 108, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 50%)", "rgb(112, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 50%, 0)", "rgba(112, 143, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 50%, 0.2)", "rgba(112, 143, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 50%, 1)", "rgb(112, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 62.5%)", "rgb(147, 171, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 62.5%, 0)", "rgba(147, 171, 171, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 62.5%, 0.2)", "rgba(147, 171, 171, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 62.5%, 1)", "rgb(147, 171, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 75%)", "rgb(183, 199, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 75%, 0)", "rgba(183, 199, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 75%, 0.2)", "rgba(183, 199, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 75%, 1)", "rgb(183, 199, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 87.5%)", "rgb(219, 227, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 87.5%, 0)", "rgba(219, 227, 227, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 87.5%, 0.2)", "rgba(219, 227, 227, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 87.5%, 1)", "rgb(219, 227, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 12.5%)", "rgb(24, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 12.5%, 0)", "rgba(24, 40, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 12.5%, 0.2)", "rgba(24, 40, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 12.5%, 1)", "rgb(24, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 25%)", "rgb(48, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 25%, 0)", "rgba(48, 80, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 25%, 0.2)", "rgba(48, 80, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 25%, 1)", "rgb(48, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 37.5%)", "rgb(72, 120, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 37.5%, 0)", "rgba(72, 120, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 37.5%, 0.2)", "rgba(72, 120, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 37.5%, 1)", "rgb(72, 120, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 50%)", "rgb(96, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 50%, 0)", "rgba(96, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 50%, 0.2)", "rgba(96, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 50%, 1)", "rgb(96, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 62.5%)", "rgb(135, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 62.5%, 0)", "rgba(135, 183, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 62.5%, 0.2)", "rgba(135, 183, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 62.5%, 1)", "rgb(135, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 75%)", "rgb(175, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 75%, 0)", "rgba(175, 207, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 75%, 0.2)", "rgba(175, 207, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 75%, 1)", "rgb(175, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 87.5%)", "rgb(215, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 87.5%, 0)", "rgba(215, 231, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 87.5%, 0.2)", "rgba(215, 231, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 87.5%, 1)", "rgb(215, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 12.5%)", "rgb(20, 44, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 12.5%, 0)", "rgba(20, 44, 44, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 12.5%, 0.2)", "rgba(20, 44, 44, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 12.5%, 1)", "rgb(20, 44, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 25%)", "rgb(40, 88, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 25%, 0)", "rgba(40, 88, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 25%, 0.2)", "rgba(40, 88, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 25%, 1)", "rgb(40, 88, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 37.5%)", "rgb(60, 131, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 37.5%, 0)", "rgba(60, 131, 131, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 37.5%, 0.2)", "rgba(60, 131, 131, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 37.5%, 1)", "rgb(60, 131, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 50%)", "rgb(80, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 50%, 0)", "rgba(80, 175, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 50%, 0.2)", "rgba(80, 175, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 50%, 1)", "rgb(80, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 62.5%)", "rgb(124, 195, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 62.5%, 0)", "rgba(124, 195, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 62.5%, 0.2)", "rgba(124, 195, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 62.5%, 1)", "rgb(124, 195, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 75%)", "rgb(167, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 75%, 0)", "rgba(167, 215, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 75%, 0.2)", "rgba(167, 215, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 75%, 1)", "rgb(167, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 87.5%)", "rgb(211, 235, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 87.5%, 0)", "rgba(211, 235, 235, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 87.5%, 0.2)", "rgba(211, 235, 235, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 87.5%, 1)", "rgb(211, 235, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 12.5%)", "rgb(16, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 12.5%, 0)", "rgba(16, 48, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 12.5%, 0.2)", "rgba(16, 48, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 12.5%, 1)", "rgb(16, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 25%)", "rgb(32, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 25%, 0)", "rgba(32, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 25%, 0.2)", "rgba(32, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 25%, 1)", "rgb(32, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 37.5%)", "rgb(48, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 37.5%, 0)", "rgba(48, 143, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 37.5%, 0.2)", "rgba(48, 143, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 37.5%, 1)", "rgb(48, 143, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 50%)", "rgb(64, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 50%, 0)", "rgba(64, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 50%, 0.2)", "rgba(64, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 50%, 1)", "rgb(64, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 62.5%)", "rgb(112, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 62.5%, 0)", "rgba(112, 207, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 62.5%, 0.2)", "rgba(112, 207, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 62.5%, 1)", "rgb(112, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 75%)", "rgb(159, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 75%, 0)", "rgba(159, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 75%, 0.2)", "rgba(159, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 75%, 1)", "rgb(159, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 87.5%)", "rgb(207, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 87.5%, 0)", "rgba(207, 239, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 87.5%, 0.2)", "rgba(207, 239, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 87.5%, 1)", "rgb(207, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 12.5%)", "rgb(12, 52, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 12.5%, 0)", "rgba(12, 52, 52, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 12.5%, 0.2)", "rgba(12, 52, 52, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 12.5%, 1)", "rgb(12, 52, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 25%)", "rgb(24, 104, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 25%, 0)", "rgba(24, 104, 104, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 25%, 0.2)", "rgba(24, 104, 104, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 25%, 1)", "rgb(24, 104, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 37.5%)", "rgb(36, 155, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 37.5%, 0)", "rgba(36, 155, 155, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 37.5%, 0.2)", "rgba(36, 155, 155, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 37.5%, 1)", "rgb(36, 155, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 50%)", "rgb(48, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 50%, 0)", "rgba(48, 207, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 50%, 0.2)", "rgba(48, 207, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 50%, 1)", "rgb(48, 207, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 62.5%)", "rgb(100, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 62.5%, 0)", "rgba(100, 219, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 62.5%, 0.2)", "rgba(100, 219, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 62.5%, 1)", "rgb(100, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 75%)", "rgb(151, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 75%, 0)", "rgba(151, 231, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 75%, 0.2)", "rgba(151, 231, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 75%, 1)", "rgb(151, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 87.5%)", "rgb(203, 243, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 87.5%, 0)", "rgba(203, 243, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 87.5%, 0.2)", "rgba(203, 243, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 87.5%, 1)", "rgb(203, 243, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 12.5%)", "rgb(8, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 12.5%, 0)", "rgba(8, 56, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 12.5%, 0.2)", "rgba(8, 56, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 12.5%, 1)", "rgb(8, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 25%)", "rgb(16, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 25%, 0)", "rgba(16, 112, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 25%, 0.2)", "rgba(16, 112, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 25%, 1)", "rgb(16, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 37.5%)", "rgb(24, 167, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 37.5%, 0)", "rgba(24, 167, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 37.5%, 0.2)", "rgba(24, 167, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 37.5%, 1)", "rgb(24, 167, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 50%)", "rgb(32, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 50%, 0)", "rgba(32, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 50%, 0.2)", "rgba(32, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 50%, 1)", "rgb(32, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 62.5%)", "rgb(88, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 62.5%, 0)", "rgba(88, 231, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 62.5%, 0.2)", "rgba(88, 231, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 62.5%, 1)", "rgb(88, 231, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 75%)", "rgb(143, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 75%, 0)", "rgba(143, 239, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 75%, 0.2)", "rgba(143, 239, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 75%, 1)", "rgb(143, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 87.5%)", "rgb(199, 247, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 87.5%, 0)", "rgba(199, 247, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 87.5%, 0.2)", "rgba(199, 247, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 87.5%, 1)", "rgb(199, 247, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 12.5%)", "rgb(4, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 12.5%, 0)", "rgba(4, 60, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 12.5%, 0.2)", "rgba(4, 60, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 12.5%, 1)", "rgb(4, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 25%)", "rgb(8, 120, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 25%, 0)", "rgba(8, 120, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 25%, 0.2)", "rgba(8, 120, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 25%, 1)", "rgb(8, 120, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 37.5%)", "rgb(12, 179, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 37.5%, 0)", "rgba(12, 179, 179, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 37.5%, 0.2)", "rgba(12, 179, 179, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 37.5%, 1)", "rgb(12, 179, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 50%)", "rgb(16, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 50%, 0)", "rgba(16, 239, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 50%, 0.2)", "rgba(16, 239, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 50%, 1)", "rgb(16, 239, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 62.5%)", "rgb(76, 243, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 62.5%, 0)", "rgba(76, 243, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 62.5%, 0.2)", "rgba(76, 243, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 62.5%, 1)", "rgb(76, 243, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 75%)", "rgb(135, 247, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 75%, 0)", "rgba(135, 247, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 75%, 0.2)", "rgba(135, 247, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 75%, 1)", "rgb(135, 247, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 87.5%)", "rgb(195, 251, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 87.5%, 0)", "rgba(195, 251, 251, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 87.5%, 0.2)", "rgba(195, 251, 251, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 87.5%, 1)", "rgb(195, 251, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 12.5%)", "rgb(0, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 12.5%, 0)", "rgba(0, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 12.5%, 0.2)", "rgba(0, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 12.5%, 1)", "rgb(0, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 25%)", "rgb(0, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 25%, 0)", "rgba(0, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 25%, 0.2)", "rgba(0, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 25%, 1)", "rgb(0, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 37.5%)", "rgb(0, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 37.5%, 0)", "rgba(0, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 37.5%, 0.2)", "rgba(0, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 37.5%, 1)", "rgb(0, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 50%)", "rgb(0, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 50%, 0)", "rgba(0, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 50%, 0.2)", "rgba(0, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 50%, 1)", "rgb(0, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 62.5%)", "rgb(64, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 62.5%, 0)", "rgba(64, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 62.5%, 0.2)", "rgba(64, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 62.5%, 1)", "rgb(64, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 75%)", "rgb(128, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 75%, 0)", "rgba(128, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 75%, 0.2)", "rgba(128, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 75%, 1)", "rgb(128, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 87.5%)", "rgb(191, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 87.5%, 0)", "rgba(191, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 87.5%, 0.2)", "rgba(191, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 87.5%, 1)", "rgb(191, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(180, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(180, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 12.5%)", "rgb(28, 32, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 12.5%, 0)", "rgba(28, 32, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 12.5%, 0.2)", "rgba(28, 32, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 12.5%, 1)", "rgb(28, 32, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 25%)", "rgb(56, 64, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 25%, 0)", "rgba(56, 64, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 25%, 0.2)", "rgba(56, 64, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 25%, 1)", "rgb(56, 64, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 37.5%)", "rgb(84, 96, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 37.5%, 0)", "rgba(84, 96, 108, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 37.5%, 0.2)", "rgba(84, 96, 108, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 37.5%, 1)", "rgb(84, 96, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 50%)", "rgb(112, 128, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 50%, 0)", "rgba(112, 128, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 50%, 0.2)", "rgba(112, 128, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 50%, 1)", "rgb(112, 128, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 62.5%)", "rgb(147, 159, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 62.5%, 0)", "rgba(147, 159, 171, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 62.5%, 0.2)", "rgba(147, 159, 171, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 62.5%, 1)", "rgb(147, 159, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 75%)", "rgb(183, 191, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 75%, 0)", "rgba(183, 191, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 75%, 0.2)", "rgba(183, 191, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 75%, 1)", "rgb(183, 191, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 87.5%)", "rgb(219, 223, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 87.5%, 0)", "rgba(219, 223, 227, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 87.5%, 0.2)", "rgba(219, 223, 227, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 87.5%, 1)", "rgb(219, 223, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 12.5%)", "rgb(24, 32, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 12.5%, 0)", "rgba(24, 32, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 12.5%, 0.2)", "rgba(24, 32, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 12.5%, 1)", "rgb(24, 32, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 25%)", "rgb(48, 64, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 25%, 0)", "rgba(48, 64, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 25%, 0.2)", "rgba(48, 64, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 25%, 1)", "rgb(48, 64, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 37.5%)", "rgb(72, 96, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 37.5%, 0)", "rgba(72, 96, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 37.5%, 0.2)", "rgba(72, 96, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 37.5%, 1)", "rgb(72, 96, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 50%)", "rgb(96, 128, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 50%, 0)", "rgba(96, 128, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 50%, 0.2)", "rgba(96, 128, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 50%, 1)", "rgb(96, 128, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 62.5%)", "rgb(135, 159, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 62.5%, 0)", "rgba(135, 159, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 62.5%, 0.2)", "rgba(135, 159, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 62.5%, 1)", "rgb(135, 159, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 75%)", "rgb(175, 191, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 75%, 0)", "rgba(175, 191, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 75%, 0.2)", "rgba(175, 191, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 75%, 1)", "rgb(175, 191, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 87.5%)", "rgb(215, 223, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 87.5%, 0)", "rgba(215, 223, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 87.5%, 0.2)", "rgba(215, 223, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 87.5%, 1)", "rgb(215, 223, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 12.5%)", "rgb(20, 32, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 12.5%, 0)", "rgba(20, 32, 44, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 12.5%, 0.2)", "rgba(20, 32, 44, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 12.5%, 1)", "rgb(20, 32, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 25%)", "rgb(40, 64, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 25%, 0)", "rgba(40, 64, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 25%, 0.2)", "rgba(40, 64, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 25%, 1)", "rgb(40, 64, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 37.5%)", "rgb(60, 96, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 37.5%, 0)", "rgba(60, 96, 131, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 37.5%, 0.2)", "rgba(60, 96, 131, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 37.5%, 1)", "rgb(60, 96, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 50%)", "rgb(80, 128, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 50%, 0)", "rgba(80, 128, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 50%, 0.2)", "rgba(80, 128, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 50%, 1)", "rgb(80, 128, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 62.5%)", "rgb(124, 159, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 62.5%, 0)", "rgba(124, 159, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 62.5%, 0.2)", "rgba(124, 159, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 62.5%, 1)", "rgb(124, 159, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 75%)", "rgb(167, 191, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 75%, 0)", "rgba(167, 191, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 75%, 0.2)", "rgba(167, 191, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 75%, 1)", "rgb(167, 191, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 87.5%)", "rgb(211, 223, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 87.5%, 0)", "rgba(211, 223, 235, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 87.5%, 0.2)", "rgba(211, 223, 235, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 87.5%, 1)", "rgb(211, 223, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 12.5%)", "rgb(16, 32, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 12.5%, 0)", "rgba(16, 32, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 12.5%, 0.2)", "rgba(16, 32, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 12.5%, 1)", "rgb(16, 32, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 25%)", "rgb(32, 64, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 25%, 0)", "rgba(32, 64, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 25%, 0.2)", "rgba(32, 64, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 25%, 1)", "rgb(32, 64, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 37.5%)", "rgb(48, 96, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 37.5%, 0)", "rgba(48, 96, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 37.5%, 0.2)", "rgba(48, 96, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 37.5%, 1)", "rgb(48, 96, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 50%)", "rgb(64, 128, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 50%, 0)", "rgba(64, 128, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 50%, 0.2)", "rgba(64, 128, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 50%, 1)", "rgb(64, 128, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 62.5%)", "rgb(112, 159, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 62.5%, 0)", "rgba(112, 159, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 62.5%, 0.2)", "rgba(112, 159, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 62.5%, 1)", "rgb(112, 159, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 75%)", "rgb(159, 191, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 75%, 0)", "rgba(159, 191, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 75%, 0.2)", "rgba(159, 191, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 75%, 1)", "rgb(159, 191, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 87.5%)", "rgb(207, 223, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 87.5%, 0)", "rgba(207, 223, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 87.5%, 0.2)", "rgba(207, 223, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 87.5%, 1)", "rgb(207, 223, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 12.5%)", "rgb(12, 32, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 12.5%, 0)", "rgba(12, 32, 52, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 12.5%, 0.2)", "rgba(12, 32, 52, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 12.5%, 1)", "rgb(12, 32, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 25%)", "rgb(24, 64, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 25%, 0)", "rgba(24, 64, 104, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 25%, 0.2)", "rgba(24, 64, 104, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 25%, 1)", "rgb(24, 64, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 37.5%)", "rgb(36, 96, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 37.5%, 0)", "rgba(36, 96, 155, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 37.5%, 0.2)", "rgba(36, 96, 155, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 37.5%, 1)", "rgb(36, 96, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 50%)", "rgb(48, 128, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 50%, 0)", "rgba(48, 128, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 50%, 0.2)", "rgba(48, 128, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 50%, 1)", "rgb(48, 128, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 62.5%)", "rgb(100, 159, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 62.5%, 0)", "rgba(100, 159, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 62.5%, 0.2)", "rgba(100, 159, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 62.5%, 1)", "rgb(100, 159, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 75%)", "rgb(151, 191, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 75%, 0)", "rgba(151, 191, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 75%, 0.2)", "rgba(151, 191, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 75%, 1)", "rgb(151, 191, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 87.5%)", "rgb(203, 223, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 87.5%, 0)", "rgba(203, 223, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 87.5%, 0.2)", "rgba(203, 223, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 87.5%, 1)", "rgb(203, 223, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 12.5%)", "rgb(8, 32, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 12.5%, 0)", "rgba(8, 32, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 12.5%, 0.2)", "rgba(8, 32, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 12.5%, 1)", "rgb(8, 32, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 25%)", "rgb(16, 64, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 25%, 0)", "rgba(16, 64, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 25%, 0.2)", "rgba(16, 64, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 25%, 1)", "rgb(16, 64, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 37.5%)", "rgb(24, 96, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 37.5%, 0)", "rgba(24, 96, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 37.5%, 0.2)", "rgba(24, 96, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 37.5%, 1)", "rgb(24, 96, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 50%)", "rgb(32, 128, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 50%, 0)", "rgba(32, 128, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 50%, 0.2)", "rgba(32, 128, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 50%, 1)", "rgb(32, 128, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 62.5%)", "rgb(88, 159, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 62.5%, 0)", "rgba(88, 159, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 62.5%, 0.2)", "rgba(88, 159, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 62.5%, 1)", "rgb(88, 159, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 75%)", "rgb(143, 191, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 75%, 0)", "rgba(143, 191, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 75%, 0.2)", "rgba(143, 191, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 75%, 1)", "rgb(143, 191, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 87.5%)", "rgb(199, 223, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 87.5%, 0)", "rgba(199, 223, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 87.5%, 0.2)", "rgba(199, 223, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 87.5%, 1)", "rgb(199, 223, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 12.5%)", "rgb(4, 32, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 12.5%, 0)", "rgba(4, 32, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 12.5%, 0.2)", "rgba(4, 32, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 12.5%, 1)", "rgb(4, 32, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 25%)", "rgb(8, 64, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 25%, 0)", "rgba(8, 64, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 25%, 0.2)", "rgba(8, 64, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 25%, 1)", "rgb(8, 64, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 37.5%)", "rgb(12, 96, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 37.5%, 0)", "rgba(12, 96, 179, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 37.5%, 0.2)", "rgba(12, 96, 179, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 37.5%, 1)", "rgb(12, 96, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 50%)", "rgb(16, 128, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 50%, 0)", "rgba(16, 128, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 50%, 0.2)", "rgba(16, 128, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 50%, 1)", "rgb(16, 128, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 62.5%)", "rgb(76, 159, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 62.5%, 0)", "rgba(76, 159, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 62.5%, 0.2)", "rgba(76, 159, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 62.5%, 1)", "rgb(76, 159, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 75%)", "rgb(135, 191, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 75%, 0)", "rgba(135, 191, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 75%, 0.2)", "rgba(135, 191, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 75%, 1)", "rgb(135, 191, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 87.5%)", "rgb(195, 223, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 87.5%, 0)", "rgba(195, 223, 251, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 87.5%, 0.2)", "rgba(195, 223, 251, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 87.5%, 1)", "rgb(195, 223, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 12.5%)", "rgb(0, 32, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 12.5%, 0)", "rgba(0, 32, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 12.5%, 0.2)", "rgba(0, 32, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 12.5%, 1)", "rgb(0, 32, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 25%)", "rgb(0, 64, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 25%, 0)", "rgba(0, 64, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 25%, 0.2)", "rgba(0, 64, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 25%, 1)", "rgb(0, 64, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 37.5%)", "rgb(0, 96, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 37.5%, 0)", "rgba(0, 96, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 37.5%, 0.2)", "rgba(0, 96, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 37.5%, 1)", "rgb(0, 96, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 50%)", "rgb(0, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 50%, 0)", "rgba(0, 128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 50%, 0.2)", "rgba(0, 128, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 50%, 1)", "rgb(0, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 62.5%)", "rgb(64, 159, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 62.5%, 0)", "rgba(64, 159, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 62.5%, 0.2)", "rgba(64, 159, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 62.5%, 1)", "rgb(64, 159, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 75%)", "rgb(128, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 75%, 0)", "rgba(128, 191, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 75%, 0.2)", "rgba(128, 191, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 75%, 1)", "rgb(128, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 87.5%)", "rgb(191, 223, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 87.5%, 0)", "rgba(191, 223, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 87.5%, 0.2)", "rgba(191, 223, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 87.5%, 1)", "rgb(191, 223, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(210, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(210, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 12.5%)", "rgb(28, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 12.5%, 0)", "rgba(28, 28, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 12.5%, 0.2)", "rgba(28, 28, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 12.5%, 1)", "rgb(28, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 25%)", "rgb(56, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 25%, 0)", "rgba(56, 56, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 25%, 0.2)", "rgba(56, 56, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 25%, 1)", "rgb(56, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 37.5%)", "rgb(84, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 37.5%, 0)", "rgba(84, 84, 108, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 37.5%, 0.2)", "rgba(84, 84, 108, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 37.5%, 1)", "rgb(84, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 50%)", "rgb(112, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 50%, 0)", "rgba(112, 112, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 50%, 0.2)", "rgba(112, 112, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 50%, 1)", "rgb(112, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 62.5%)", "rgb(147, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 62.5%, 0)", "rgba(147, 147, 171, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 62.5%, 0.2)", "rgba(147, 147, 171, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 62.5%, 1)", "rgb(147, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 75%)", "rgb(183, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 75%, 0)", "rgba(183, 183, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 75%, 0.2)", "rgba(183, 183, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 75%, 1)", "rgb(183, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 87.5%)", "rgb(219, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 87.5%, 0)", "rgba(219, 219, 227, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 87.5%, 0.2)", "rgba(219, 219, 227, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 87.5%, 1)", "rgb(219, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 12.5%)", "rgb(24, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 12.5%, 0)", "rgba(24, 24, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 12.5%, 0.2)", "rgba(24, 24, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 12.5%, 1)", "rgb(24, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 25%)", "rgb(48, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 25%, 0)", "rgba(48, 48, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 25%, 0.2)", "rgba(48, 48, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 25%, 1)", "rgb(48, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 37.5%)", "rgb(72, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 37.5%, 0)", "rgba(72, 72, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 37.5%, 0.2)", "rgba(72, 72, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 37.5%, 1)", "rgb(72, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 50%)", "rgb(96, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 50%, 0)", "rgba(96, 96, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 50%, 0.2)", "rgba(96, 96, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 50%, 1)", "rgb(96, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 62.5%)", "rgb(135, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 62.5%, 0)", "rgba(135, 135, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 62.5%, 0.2)", "rgba(135, 135, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 62.5%, 1)", "rgb(135, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 75%)", "rgb(175, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 75%, 0)", "rgba(175, 175, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 75%, 0.2)", "rgba(175, 175, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 75%, 1)", "rgb(175, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 87.5%)", "rgb(215, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 87.5%, 0)", "rgba(215, 215, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 87.5%, 0.2)", "rgba(215, 215, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 87.5%, 1)", "rgb(215, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 12.5%)", "rgb(20, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 12.5%, 0)", "rgba(20, 20, 44, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 12.5%, 0.2)", "rgba(20, 20, 44, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 12.5%, 1)", "rgb(20, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 25%)", "rgb(40, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 25%, 0)", "rgba(40, 40, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 25%, 0.2)", "rgba(40, 40, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 25%, 1)", "rgb(40, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 37.5%)", "rgb(60, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 37.5%, 0)", "rgba(60, 60, 131, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 37.5%, 0.2)", "rgba(60, 60, 131, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 37.5%, 1)", "rgb(60, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 50%)", "rgb(80, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 50%, 0)", "rgba(80, 80, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 50%, 0.2)", "rgba(80, 80, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 50%, 1)", "rgb(80, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 62.5%)", "rgb(124, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 62.5%, 0)", "rgba(124, 124, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 62.5%, 0.2)", "rgba(124, 124, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 62.5%, 1)", "rgb(124, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 75%)", "rgb(167, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 75%, 0)", "rgba(167, 167, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 75%, 0.2)", "rgba(167, 167, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 75%, 1)", "rgb(167, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 87.5%)", "rgb(211, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 87.5%, 0)", "rgba(211, 211, 235, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 87.5%, 0.2)", "rgba(211, 211, 235, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 87.5%, 1)", "rgb(211, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 12.5%)", "rgb(16, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 12.5%, 0)", "rgba(16, 16, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 12.5%, 0.2)", "rgba(16, 16, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 12.5%, 1)", "rgb(16, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 25%)", "rgb(32, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 25%, 0)", "rgba(32, 32, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 25%, 0.2)", "rgba(32, 32, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 25%, 1)", "rgb(32, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 37.5%)", "rgb(48, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 37.5%, 0)", "rgba(48, 48, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 37.5%, 0.2)", "rgba(48, 48, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 37.5%, 1)", "rgb(48, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 50%)", "rgb(64, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 50%, 0)", "rgba(64, 64, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 50%, 0.2)", "rgba(64, 64, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 50%, 1)", "rgb(64, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 62.5%)", "rgb(112, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 62.5%, 0)", "rgba(112, 112, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 62.5%, 0.2)", "rgba(112, 112, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 62.5%, 1)", "rgb(112, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 75%)", "rgb(159, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 75%, 0)", "rgba(159, 159, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 75%, 0.2)", "rgba(159, 159, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 75%, 1)", "rgb(159, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 87.5%)", "rgb(207, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 87.5%, 0)", "rgba(207, 207, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 87.5%, 0.2)", "rgba(207, 207, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 87.5%, 1)", "rgb(207, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 12.5%)", "rgb(12, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 12.5%, 0)", "rgba(12, 12, 52, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 12.5%, 0.2)", "rgba(12, 12, 52, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 12.5%, 1)", "rgb(12, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 25%)", "rgb(24, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 25%, 0)", "rgba(24, 24, 104, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 25%, 0.2)", "rgba(24, 24, 104, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 25%, 1)", "rgb(24, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 37.5%)", "rgb(36, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 37.5%, 0)", "rgba(36, 36, 155, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 37.5%, 0.2)", "rgba(36, 36, 155, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 37.5%, 1)", "rgb(36, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 50%)", "rgb(48, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 50%, 0)", "rgba(48, 48, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 50%, 0.2)", "rgba(48, 48, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 50%, 1)", "rgb(48, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 62.5%)", "rgb(100, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 62.5%, 0)", "rgba(100, 100, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 62.5%, 0.2)", "rgba(100, 100, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 62.5%, 1)", "rgb(100, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 75%)", "rgb(151, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 75%, 0)", "rgba(151, 151, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 75%, 0.2)", "rgba(151, 151, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 75%, 1)", "rgb(151, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 87.5%)", "rgb(203, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 87.5%, 0)", "rgba(203, 203, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 87.5%, 0.2)", "rgba(203, 203, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 87.5%, 1)", "rgb(203, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 12.5%)", "rgb(8, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 12.5%, 0)", "rgba(8, 8, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 12.5%, 0.2)", "rgba(8, 8, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 12.5%, 1)", "rgb(8, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 25%)", "rgb(16, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 25%, 0)", "rgba(16, 16, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 25%, 0.2)", "rgba(16, 16, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 25%, 1)", "rgb(16, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 37.5%)", "rgb(24, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 37.5%, 0)", "rgba(24, 24, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 37.5%, 0.2)", "rgba(24, 24, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 37.5%, 1)", "rgb(24, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 50%)", "rgb(32, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 50%, 0)", "rgba(32, 32, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 50%, 0.2)", "rgba(32, 32, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 50%, 1)", "rgb(32, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 62.5%)", "rgb(88, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 62.5%, 0)", "rgba(88, 88, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 62.5%, 0.2)", "rgba(88, 88, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 62.5%, 1)", "rgb(88, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 75%)", "rgb(143, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 75%, 0)", "rgba(143, 143, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 75%, 0.2)", "rgba(143, 143, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 75%, 1)", "rgb(143, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 87.5%)", "rgb(199, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 87.5%, 0)", "rgba(199, 199, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 87.5%, 0.2)", "rgba(199, 199, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 87.5%, 1)", "rgb(199, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 12.5%)", "rgb(4, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 12.5%, 0)", "rgba(4, 4, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 12.5%, 0.2)", "rgba(4, 4, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 12.5%, 1)", "rgb(4, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 25%)", "rgb(8, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 25%, 0)", "rgba(8, 8, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 25%, 0.2)", "rgba(8, 8, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 25%, 1)", "rgb(8, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 37.5%)", "rgb(12, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 37.5%, 0)", "rgba(12, 12, 179, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 37.5%, 0.2)", "rgba(12, 12, 179, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 37.5%, 1)", "rgb(12, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 50%)", "rgb(16, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 50%, 0)", "rgba(16, 16, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 50%, 0.2)", "rgba(16, 16, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 50%, 1)", "rgb(16, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 62.5%)", "rgb(76, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 62.5%, 0)", "rgba(76, 76, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 62.5%, 0.2)", "rgba(76, 76, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 62.5%, 1)", "rgb(76, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 75%)", "rgb(135, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 75%, 0)", "rgba(135, 135, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 75%, 0.2)", "rgba(135, 135, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 75%, 1)", "rgb(135, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 87.5%)", "rgb(195, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 87.5%, 0)", "rgba(195, 195, 251, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 87.5%, 0.2)", "rgba(195, 195, 251, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 87.5%, 1)", "rgb(195, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 12.5%)", "rgb(0, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 12.5%, 0)", "rgba(0, 0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 12.5%, 0.2)", "rgba(0, 0, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 12.5%, 1)", "rgb(0, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 25%)", "rgb(0, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 25%, 0)", "rgba(0, 0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 25%, 0.2)", "rgba(0, 0, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 25%, 1)", "rgb(0, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 37.5%)", "rgb(0, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 37.5%, 0)", "rgba(0, 0, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 37.5%, 0.2)", "rgba(0, 0, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 37.5%, 1)", "rgb(0, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 50%)", "rgb(0, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 50%, 0)", "rgba(0, 0, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 50%, 0.2)", "rgba(0, 0, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 50%, 1)", "rgb(0, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 62.5%)", "rgb(64, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 62.5%, 0)", "rgba(64, 64, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 62.5%, 0.2)", "rgba(64, 64, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 62.5%, 1)", "rgb(64, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 75%)", "rgb(128, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 75%, 0)", "rgba(128, 128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 75%, 0.2)", "rgba(128, 128, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 75%, 1)", "rgb(128, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 87.5%)", "rgb(191, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 87.5%, 0)", "rgba(191, 191, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 87.5%, 0.2)", "rgba(191, 191, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 87.5%, 1)", "rgb(191, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(240, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(240, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 12.5%)", "rgb(32, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 12.5%, 0)", "rgba(32, 28, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 12.5%, 0.2)", "rgba(32, 28, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 12.5%, 1)", "rgb(32, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 25%)", "rgb(64, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 25%, 0)", "rgba(64, 56, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 25%, 0.2)", "rgba(64, 56, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 25%, 1)", "rgb(64, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 37.5%)", "rgb(96, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 37.5%, 0)", "rgba(96, 84, 108, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 37.5%, 0.2)", "rgba(96, 84, 108, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 37.5%, 1)", "rgb(96, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 50%)", "rgb(128, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 50%, 0)", "rgba(128, 112, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 50%, 0.2)", "rgba(128, 112, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 50%, 1)", "rgb(128, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 62.5%)", "rgb(159, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 62.5%, 0)", "rgba(159, 147, 171, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 62.5%, 0.2)", "rgba(159, 147, 171, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 62.5%, 1)", "rgb(159, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 75%)", "rgb(191, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 75%, 0)", "rgba(191, 183, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 75%, 0.2)", "rgba(191, 183, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 75%, 1)", "rgb(191, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 87.5%)", "rgb(223, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 87.5%, 0)", "rgba(223, 219, 227, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 87.5%, 0.2)", "rgba(223, 219, 227, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 87.5%, 1)", "rgb(223, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 12.5%)", "rgb(32, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 12.5%, 0)", "rgba(32, 24, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 12.5%, 0.2)", "rgba(32, 24, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 12.5%, 1)", "rgb(32, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 25%)", "rgb(64, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 25%, 0)", "rgba(64, 48, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 25%, 0.2)", "rgba(64, 48, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 25%, 1)", "rgb(64, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 37.5%)", "rgb(96, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 37.5%, 0)", "rgba(96, 72, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 37.5%, 0.2)", "rgba(96, 72, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 37.5%, 1)", "rgb(96, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 50%)", "rgb(128, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 50%, 0)", "rgba(128, 96, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 50%, 0.2)", "rgba(128, 96, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 50%, 1)", "rgb(128, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 62.5%)", "rgb(159, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 62.5%, 0)", "rgba(159, 135, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 62.5%, 0.2)", "rgba(159, 135, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 62.5%, 1)", "rgb(159, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 75%)", "rgb(191, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 75%, 0)", "rgba(191, 175, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 75%, 0.2)", "rgba(191, 175, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 75%, 1)", "rgb(191, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 87.5%)", "rgb(223, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 87.5%, 0)", "rgba(223, 215, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 87.5%, 0.2)", "rgba(223, 215, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 87.5%, 1)", "rgb(223, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 12.5%)", "rgb(32, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 12.5%, 0)", "rgba(32, 20, 44, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 12.5%, 0.2)", "rgba(32, 20, 44, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 12.5%, 1)", "rgb(32, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 25%)", "rgb(64, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 25%, 0)", "rgba(64, 40, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 25%, 0.2)", "rgba(64, 40, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 25%, 1)", "rgb(64, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 37.5%)", "rgb(96, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 37.5%, 0)", "rgba(96, 60, 131, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 37.5%, 0.2)", "rgba(96, 60, 131, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 37.5%, 1)", "rgb(96, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 50%)", "rgb(128, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 50%, 0)", "rgba(128, 80, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 50%, 0.2)", "rgba(128, 80, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 50%, 1)", "rgb(128, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 62.5%)", "rgb(159, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 62.5%, 0)", "rgba(159, 124, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 62.5%, 0.2)", "rgba(159, 124, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 62.5%, 1)", "rgb(159, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 75%)", "rgb(191, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 75%, 0)", "rgba(191, 167, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 75%, 0.2)", "rgba(191, 167, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 75%, 1)", "rgb(191, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 87.5%)", "rgb(223, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 87.5%, 0)", "rgba(223, 211, 235, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 87.5%, 0.2)", "rgba(223, 211, 235, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 87.5%, 1)", "rgb(223, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 12.5%)", "rgb(32, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 12.5%, 0)", "rgba(32, 16, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 12.5%, 0.2)", "rgba(32, 16, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 12.5%, 1)", "rgb(32, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 25%)", "rgb(64, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 25%, 0)", "rgba(64, 32, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 25%, 0.2)", "rgba(64, 32, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 25%, 1)", "rgb(64, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 37.5%)", "rgb(96, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 37.5%, 0)", "rgba(96, 48, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 37.5%, 0.2)", "rgba(96, 48, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 37.5%, 1)", "rgb(96, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 50%)", "rgb(128, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 50%, 0)", "rgba(128, 64, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 50%, 0.2)", "rgba(128, 64, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 50%, 1)", "rgb(128, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 62.5%)", "rgb(159, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 62.5%, 0)", "rgba(159, 112, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 62.5%, 0.2)", "rgba(159, 112, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 62.5%, 1)", "rgb(159, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 75%)", "rgb(191, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 75%, 0)", "rgba(191, 159, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 75%, 0.2)", "rgba(191, 159, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 75%, 1)", "rgb(191, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 87.5%)", "rgb(223, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 87.5%, 0)", "rgba(223, 207, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 87.5%, 0.2)", "rgba(223, 207, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 87.5%, 1)", "rgb(223, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 12.5%)", "rgb(32, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 12.5%, 0)", "rgba(32, 12, 52, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 12.5%, 0.2)", "rgba(32, 12, 52, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 12.5%, 1)", "rgb(32, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 25%)", "rgb(64, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 25%, 0)", "rgba(64, 24, 104, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 25%, 0.2)", "rgba(64, 24, 104, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 25%, 1)", "rgb(64, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 37.5%)", "rgb(96, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 37.5%, 0)", "rgba(96, 36, 155, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 37.5%, 0.2)", "rgba(96, 36, 155, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 37.5%, 1)", "rgb(96, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 50%)", "rgb(128, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 50%, 0)", "rgba(128, 48, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 50%, 0.2)", "rgba(128, 48, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 50%, 1)", "rgb(128, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 62.5%)", "rgb(159, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 62.5%, 0)", "rgba(159, 100, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 62.5%, 0.2)", "rgba(159, 100, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 62.5%, 1)", "rgb(159, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 75%)", "rgb(191, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 75%, 0)", "rgba(191, 151, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 75%, 0.2)", "rgba(191, 151, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 75%, 1)", "rgb(191, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 87.5%)", "rgb(223, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 87.5%, 0)", "rgba(223, 203, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 87.5%, 0.2)", "rgba(223, 203, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 87.5%, 1)", "rgb(223, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 12.5%)", "rgb(32, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 12.5%, 0)", "rgba(32, 8, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 12.5%, 0.2)", "rgba(32, 8, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 12.5%, 1)", "rgb(32, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 25%)", "rgb(64, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 25%, 0)", "rgba(64, 16, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 25%, 0.2)", "rgba(64, 16, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 25%, 1)", "rgb(64, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 37.5%)", "rgb(96, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 37.5%, 0)", "rgba(96, 24, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 37.5%, 0.2)", "rgba(96, 24, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 37.5%, 1)", "rgb(96, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 50%)", "rgb(128, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 50%, 0)", "rgba(128, 32, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 50%, 0.2)", "rgba(128, 32, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 50%, 1)", "rgb(128, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 62.5%)", "rgb(159, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 62.5%, 0)", "rgba(159, 88, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 62.5%, 0.2)", "rgba(159, 88, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 62.5%, 1)", "rgb(159, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 75%)", "rgb(191, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 75%, 0)", "rgba(191, 143, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 75%, 0.2)", "rgba(191, 143, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 75%, 1)", "rgb(191, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 87.5%)", "rgb(223, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 87.5%, 0)", "rgba(223, 199, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 87.5%, 0.2)", "rgba(223, 199, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 87.5%, 1)", "rgb(223, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 12.5%)", "rgb(32, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 12.5%, 0)", "rgba(32, 4, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 12.5%, 0.2)", "rgba(32, 4, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 12.5%, 1)", "rgb(32, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 25%)", "rgb(64, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 25%, 0)", "rgba(64, 8, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 25%, 0.2)", "rgba(64, 8, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 25%, 1)", "rgb(64, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 37.5%)", "rgb(96, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 37.5%, 0)", "rgba(96, 12, 179, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 37.5%, 0.2)", "rgba(96, 12, 179, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 37.5%, 1)", "rgb(96, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 50%)", "rgb(128, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 50%, 0)", "rgba(128, 16, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 50%, 0.2)", "rgba(128, 16, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 50%, 1)", "rgb(128, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 62.5%)", "rgb(159, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 62.5%, 0)", "rgba(159, 76, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 62.5%, 0.2)", "rgba(159, 76, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 62.5%, 1)", "rgb(159, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 75%)", "rgb(191, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 75%, 0)", "rgba(191, 135, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 75%, 0.2)", "rgba(191, 135, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 75%, 1)", "rgb(191, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 87.5%)", "rgb(223, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 87.5%, 0)", "rgba(223, 195, 251, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 87.5%, 0.2)", "rgba(223, 195, 251, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 87.5%, 1)", "rgb(223, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 12.5%)", "rgb(32, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 12.5%, 0)", "rgba(32, 0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 12.5%, 0.2)", "rgba(32, 0, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 12.5%, 1)", "rgb(32, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 25%)", "rgb(64, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 25%, 0)", "rgba(64, 0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 25%, 0.2)", "rgba(64, 0, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 25%, 1)", "rgb(64, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 37.5%)", "rgb(96, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 37.5%, 0)", "rgba(96, 0, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 37.5%, 0.2)", "rgba(96, 0, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 37.5%, 1)", "rgb(96, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 50%)", "rgb(128, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 50%, 0)", "rgba(128, 0, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 50%, 0.2)", "rgba(128, 0, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 50%, 1)", "rgb(128, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 62.5%)", "rgb(159, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 62.5%, 0)", "rgba(159, 64, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 62.5%, 0.2)", "rgba(159, 64, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 62.5%, 1)", "rgb(159, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 75%)", "rgb(191, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 75%, 0)", "rgba(191, 128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 75%, 0.2)", "rgba(191, 128, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 75%, 1)", "rgb(191, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 87.5%)", "rgb(223, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 87.5%, 0)", "rgba(223, 191, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 87.5%, 0.2)", "rgba(223, 191, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 87.5%, 1)", "rgb(223, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(270, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(270, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 12.5%)", "rgb(36, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 12.5%, 0)", "rgba(36, 28, 36, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 12.5%, 0.2)", "rgba(36, 28, 36, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 12.5%, 1)", "rgb(36, 28, 36)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 25%)", "rgb(72, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 25%, 0)", "rgba(72, 56, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 25%, 0.2)", "rgba(72, 56, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 25%, 1)", "rgb(72, 56, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 37.5%)", "rgb(108, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 37.5%, 0)", "rgba(108, 84, 108, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 37.5%, 0.2)", "rgba(108, 84, 108, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 37.5%, 1)", "rgb(108, 84, 108)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 50%)", "rgb(143, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 50%, 0)", "rgba(143, 112, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 50%, 0.2)", "rgba(143, 112, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 50%, 1)", "rgb(143, 112, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 62.5%)", "rgb(171, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 62.5%, 0)", "rgba(171, 147, 171, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 62.5%, 0.2)", "rgba(171, 147, 171, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 62.5%, 1)", "rgb(171, 147, 171)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 75%)", "rgb(199, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 75%, 0)", "rgba(199, 183, 199, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 75%, 0.2)", "rgba(199, 183, 199, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 75%, 1)", "rgb(199, 183, 199)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 87.5%)", "rgb(227, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 87.5%, 0)", "rgba(227, 219, 227, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 87.5%, 0.2)", "rgba(227, 219, 227, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 87.5%, 1)", "rgb(227, 219, 227)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 12.5%)", "rgb(40, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 12.5%, 0)", "rgba(40, 24, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 12.5%, 0.2)", "rgba(40, 24, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 12.5%, 1)", "rgb(40, 24, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 25%)", "rgb(80, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 25%, 0)", "rgba(80, 48, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 25%, 0.2)", "rgba(80, 48, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 25%, 1)", "rgb(80, 48, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 37.5%)", "rgb(120, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 37.5%, 0)", "rgba(120, 72, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 37.5%, 0.2)", "rgba(120, 72, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 37.5%, 1)", "rgb(120, 72, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 50%)", "rgb(159, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 50%, 0)", "rgba(159, 96, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 50%, 0.2)", "rgba(159, 96, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 50%, 1)", "rgb(159, 96, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 62.5%)", "rgb(183, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 62.5%, 0)", "rgba(183, 135, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 62.5%, 0.2)", "rgba(183, 135, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 62.5%, 1)", "rgb(183, 135, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 75%)", "rgb(207, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 75%, 0)", "rgba(207, 175, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 75%, 0.2)", "rgba(207, 175, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 75%, 1)", "rgb(207, 175, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 87.5%)", "rgb(231, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 87.5%, 0)", "rgba(231, 215, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 87.5%, 0.2)", "rgba(231, 215, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 87.5%, 1)", "rgb(231, 215, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 12.5%)", "rgb(44, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 12.5%, 0)", "rgba(44, 20, 44, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 12.5%, 0.2)", "rgba(44, 20, 44, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 12.5%, 1)", "rgb(44, 20, 44)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 25%)", "rgb(88, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 25%, 0)", "rgba(88, 40, 88, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 25%, 0.2)", "rgba(88, 40, 88, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 25%, 1)", "rgb(88, 40, 88)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 37.5%)", "rgb(131, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 37.5%, 0)", "rgba(131, 60, 131, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 37.5%, 0.2)", "rgba(131, 60, 131, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 37.5%, 1)", "rgb(131, 60, 131)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 50%)", "rgb(175, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 50%, 0)", "rgba(175, 80, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 50%, 0.2)", "rgba(175, 80, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 50%, 1)", "rgb(175, 80, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 62.5%)", "rgb(195, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 62.5%, 0)", "rgba(195, 124, 195, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 62.5%, 0.2)", "rgba(195, 124, 195, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 62.5%, 1)", "rgb(195, 124, 195)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 75%)", "rgb(215, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 75%, 0)", "rgba(215, 167, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 75%, 0.2)", "rgba(215, 167, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 75%, 1)", "rgb(215, 167, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 87.5%)", "rgb(235, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 87.5%, 0)", "rgba(235, 211, 235, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 87.5%, 0.2)", "rgba(235, 211, 235, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 87.5%, 1)", "rgb(235, 211, 235)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 12.5%)", "rgb(48, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 12.5%, 0)", "rgba(48, 16, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 12.5%, 0.2)", "rgba(48, 16, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 12.5%, 1)", "rgb(48, 16, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 25%)", "rgb(96, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 25%, 0)", "rgba(96, 32, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 25%, 0.2)", "rgba(96, 32, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 25%, 1)", "rgb(96, 32, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 37.5%)", "rgb(143, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 37.5%, 0)", "rgba(143, 48, 143, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 37.5%, 0.2)", "rgba(143, 48, 143, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 37.5%, 1)", "rgb(143, 48, 143)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 50%)", "rgb(191, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 50%, 0)", "rgba(191, 64, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 50%, 0.2)", "rgba(191, 64, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 50%, 1)", "rgb(191, 64, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 62.5%)", "rgb(207, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 62.5%, 0)", "rgba(207, 112, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 62.5%, 0.2)", "rgba(207, 112, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 62.5%, 1)", "rgb(207, 112, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 75%)", "rgb(223, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 75%, 0)", "rgba(223, 159, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 75%, 0.2)", "rgba(223, 159, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 75%, 1)", "rgb(223, 159, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 87.5%)", "rgb(239, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 87.5%, 0)", "rgba(239, 207, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 87.5%, 0.2)", "rgba(239, 207, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 87.5%, 1)", "rgb(239, 207, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 12.5%)", "rgb(52, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 12.5%, 0)", "rgba(52, 12, 52, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 12.5%, 0.2)", "rgba(52, 12, 52, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 12.5%, 1)", "rgb(52, 12, 52)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 25%)", "rgb(104, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 25%, 0)", "rgba(104, 24, 104, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 25%, 0.2)", "rgba(104, 24, 104, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 25%, 1)", "rgb(104, 24, 104)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 37.5%)", "rgb(155, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 37.5%, 0)", "rgba(155, 36, 155, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 37.5%, 0.2)", "rgba(155, 36, 155, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 37.5%, 1)", "rgb(155, 36, 155)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 50%)", "rgb(207, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 50%, 0)", "rgba(207, 48, 207, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 50%, 0.2)", "rgba(207, 48, 207, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 50%, 1)", "rgb(207, 48, 207)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 62.5%)", "rgb(219, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 62.5%, 0)", "rgba(219, 100, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 62.5%, 0.2)", "rgba(219, 100, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 62.5%, 1)", "rgb(219, 100, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 75%)", "rgb(231, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 75%, 0)", "rgba(231, 151, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 75%, 0.2)", "rgba(231, 151, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 75%, 1)", "rgb(231, 151, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 87.5%)", "rgb(243, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 87.5%, 0)", "rgba(243, 203, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 87.5%, 0.2)", "rgba(243, 203, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 87.5%, 1)", "rgb(243, 203, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 12.5%)", "rgb(56, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 12.5%, 0)", "rgba(56, 8, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 12.5%, 0.2)", "rgba(56, 8, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 12.5%, 1)", "rgb(56, 8, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 25%)", "rgb(112, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 25%, 0)", "rgba(112, 16, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 25%, 0.2)", "rgba(112, 16, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 25%, 1)", "rgb(112, 16, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 37.5%)", "rgb(167, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 37.5%, 0)", "rgba(167, 24, 167, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 37.5%, 0.2)", "rgba(167, 24, 167, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 37.5%, 1)", "rgb(167, 24, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 50%)", "rgb(223, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 50%, 0)", "rgba(223, 32, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 50%, 0.2)", "rgba(223, 32, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 50%, 1)", "rgb(223, 32, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 62.5%)", "rgb(231, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 62.5%, 0)", "rgba(231, 88, 231, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 62.5%, 0.2)", "rgba(231, 88, 231, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 62.5%, 1)", "rgb(231, 88, 231)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 75%)", "rgb(239, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 75%, 0)", "rgba(239, 143, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 75%, 0.2)", "rgba(239, 143, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 75%, 1)", "rgb(239, 143, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 87.5%)", "rgb(247, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 87.5%, 0)", "rgba(247, 199, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 87.5%, 0.2)", "rgba(247, 199, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 87.5%, 1)", "rgb(247, 199, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 12.5%)", "rgb(60, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 12.5%, 0)", "rgba(60, 4, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 12.5%, 0.2)", "rgba(60, 4, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 12.5%, 1)", "rgb(60, 4, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 25%)", "rgb(120, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 25%, 0)", "rgba(120, 8, 120, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 25%, 0.2)", "rgba(120, 8, 120, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 25%, 1)", "rgb(120, 8, 120)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 37.5%)", "rgb(179, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 37.5%, 0)", "rgba(179, 12, 179, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 37.5%, 0.2)", "rgba(179, 12, 179, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 37.5%, 1)", "rgb(179, 12, 179)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 50%)", "rgb(239, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 50%, 0)", "rgba(239, 16, 239, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 50%, 0.2)", "rgba(239, 16, 239, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 50%, 1)", "rgb(239, 16, 239)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 62.5%)", "rgb(243, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 62.5%, 0)", "rgba(243, 76, 243, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 62.5%, 0.2)", "rgba(243, 76, 243, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 62.5%, 1)", "rgb(243, 76, 243)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 75%)", "rgb(247, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 75%, 0)", "rgba(247, 135, 247, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 75%, 0.2)", "rgba(247, 135, 247, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 75%, 1)", "rgb(247, 135, 247)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 87.5%)", "rgb(251, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 87.5%, 0)", "rgba(251, 195, 251, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 87.5%, 0.2)", "rgba(251, 195, 251, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 87.5%, 1)", "rgb(251, 195, 251)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 12.5%)", "rgb(64, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 12.5%, 0)", "rgba(64, 0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 12.5%, 0.2)", "rgba(64, 0, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 12.5%, 1)", "rgb(64, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 25%)", "rgb(128, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 25%, 0)", "rgba(128, 0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 25%, 0.2)", "rgba(128, 0, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 25%, 1)", "rgb(128, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 37.5%)", "rgb(191, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 37.5%, 0)", "rgba(191, 0, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 37.5%, 0.2)", "rgba(191, 0, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 37.5%, 1)", "rgb(191, 0, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 50%)", "rgb(255, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 50%, 0)", "rgba(255, 0, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 50%, 0.2)", "rgba(255, 0, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 50%, 1)", "rgb(255, 0, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 62.5%)", "rgb(255, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 62.5%, 0)", "rgba(255, 64, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 62.5%, 0.2)", "rgba(255, 64, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 62.5%, 1)", "rgb(255, 64, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 75%)", "rgb(255, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 75%, 0)", "rgba(255, 128, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 75%, 0.2)", "rgba(255, 128, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 75%, 1)", "rgb(255, 128, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 87.5%)", "rgb(255, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 87.5%, 0)", "rgba(255, 191, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 87.5%, 0.2)", "rgba(255, 191, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 87.5%, 1)", "rgb(255, 191, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(300, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(300, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 12.5%)", "rgb(36, 28, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 12.5%, 0)", "rgba(36, 28, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 12.5%, 0.2)", "rgba(36, 28, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 12.5%, 1)", "rgb(36, 28, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 25%)", "rgb(72, 56, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 25%, 0)", "rgba(72, 56, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 25%, 0.2)", "rgba(72, 56, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 25%, 1)", "rgb(72, 56, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 37.5%)", "rgb(108, 84, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 37.5%, 0)", "rgba(108, 84, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 37.5%, 0.2)", "rgba(108, 84, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 37.5%, 1)", "rgb(108, 84, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 50%)", "rgb(143, 112, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 50%, 0)", "rgba(143, 112, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 50%, 0.2)", "rgba(143, 112, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 50%, 1)", "rgb(143, 112, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 62.5%)", "rgb(171, 147, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 62.5%, 0)", "rgba(171, 147, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 62.5%, 0.2)", "rgba(171, 147, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 62.5%, 1)", "rgb(171, 147, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 75%)", "rgb(199, 183, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 75%, 0)", "rgba(199, 183, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 75%, 0.2)", "rgba(199, 183, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 75%, 1)", "rgb(199, 183, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 87.5%)", "rgb(227, 219, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 87.5%, 0)", "rgba(227, 219, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 87.5%, 0.2)", "rgba(227, 219, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 87.5%, 1)", "rgb(227, 219, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 12.5%)", "rgb(40, 24, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 12.5%, 0)", "rgba(40, 24, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 12.5%, 0.2)", "rgba(40, 24, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 12.5%, 1)", "rgb(40, 24, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 25%)", "rgb(80, 48, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 25%, 0)", "rgba(80, 48, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 25%, 0.2)", "rgba(80, 48, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 25%, 1)", "rgb(80, 48, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 37.5%)", "rgb(120, 72, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 37.5%, 0)", "rgba(120, 72, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 37.5%, 0.2)", "rgba(120, 72, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 37.5%, 1)", "rgb(120, 72, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 50%)", "rgb(159, 96, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 50%, 0)", "rgba(159, 96, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 50%, 0.2)", "rgba(159, 96, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 50%, 1)", "rgb(159, 96, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 62.5%)", "rgb(183, 135, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 62.5%, 0)", "rgba(183, 135, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 62.5%, 0.2)", "rgba(183, 135, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 62.5%, 1)", "rgb(183, 135, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 75%)", "rgb(207, 175, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 75%, 0)", "rgba(207, 175, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 75%, 0.2)", "rgba(207, 175, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 75%, 1)", "rgb(207, 175, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 87.5%)", "rgb(231, 215, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 87.5%, 0)", "rgba(231, 215, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 87.5%, 0.2)", "rgba(231, 215, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 87.5%, 1)", "rgb(231, 215, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 12.5%)", "rgb(44, 20, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 12.5%, 0)", "rgba(44, 20, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 12.5%, 0.2)", "rgba(44, 20, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 12.5%, 1)", "rgb(44, 20, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 25%)", "rgb(88, 40, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 25%, 0)", "rgba(88, 40, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 25%, 0.2)", "rgba(88, 40, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 25%, 1)", "rgb(88, 40, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 37.5%)", "rgb(131, 60, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 37.5%, 0)", "rgba(131, 60, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 37.5%, 0.2)", "rgba(131, 60, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 37.5%, 1)", "rgb(131, 60, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 50%)", "rgb(175, 80, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 50%, 0)", "rgba(175, 80, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 50%, 0.2)", "rgba(175, 80, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 50%, 1)", "rgb(175, 80, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 62.5%)", "rgb(195, 124, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 62.5%, 0)", "rgba(195, 124, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 62.5%, 0.2)", "rgba(195, 124, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 62.5%, 1)", "rgb(195, 124, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 75%)", "rgb(215, 167, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 75%, 0)", "rgba(215, 167, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 75%, 0.2)", "rgba(215, 167, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 75%, 1)", "rgb(215, 167, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 87.5%)", "rgb(235, 211, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 87.5%, 0)", "rgba(235, 211, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 87.5%, 0.2)", "rgba(235, 211, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 87.5%, 1)", "rgb(235, 211, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 37.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 37.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 12.5%)", "rgb(48, 16, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 12.5%, 0)", "rgba(48, 16, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 12.5%, 0.2)", "rgba(48, 16, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 12.5%, 1)", "rgb(48, 16, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 25%)", "rgb(96, 32, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 25%, 0)", "rgba(96, 32, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 25%, 0.2)", "rgba(96, 32, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 25%, 1)", "rgb(96, 32, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 37.5%)", "rgb(143, 48, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 37.5%, 0)", "rgba(143, 48, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 37.5%, 0.2)", "rgba(143, 48, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 37.5%, 1)", "rgb(143, 48, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 50%)", "rgb(191, 64, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 50%, 0)", "rgba(191, 64, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 50%, 0.2)", "rgba(191, 64, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 50%, 1)", "rgb(191, 64, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 62.5%)", "rgb(207, 112, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 62.5%, 0)", "rgba(207, 112, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 62.5%, 0.2)", "rgba(207, 112, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 62.5%, 1)", "rgb(207, 112, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 75%)", "rgb(223, 159, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 75%, 0)", "rgba(223, 159, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 75%, 0.2)", "rgba(223, 159, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 75%, 1)", "rgb(223, 159, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 87.5%)", "rgb(239, 207, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 87.5%, 0)", "rgba(239, 207, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 87.5%, 0.2)", "rgba(239, 207, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 87.5%, 1)", "rgb(239, 207, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 50%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 50%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 12.5%)", "rgb(52, 12, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 12.5%, 0)", "rgba(52, 12, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 12.5%, 0.2)", "rgba(52, 12, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 12.5%, 1)", "rgb(52, 12, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 25%)", "rgb(104, 24, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 25%, 0)", "rgba(104, 24, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 25%, 0.2)", "rgba(104, 24, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 25%, 1)", "rgb(104, 24, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 37.5%)", "rgb(155, 36, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 37.5%, 0)", "rgba(155, 36, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 37.5%, 0.2)", "rgba(155, 36, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 37.5%, 1)", "rgb(155, 36, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 50%)", "rgb(207, 48, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 50%, 0)", "rgba(207, 48, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 50%, 0.2)", "rgba(207, 48, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 50%, 1)", "rgb(207, 48, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 62.5%)", "rgb(219, 100, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 62.5%, 0)", "rgba(219, 100, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 62.5%, 0.2)", "rgba(219, 100, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 62.5%, 1)", "rgb(219, 100, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 75%)", "rgb(231, 151, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 75%, 0)", "rgba(231, 151, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 75%, 0.2)", "rgba(231, 151, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 75%, 1)", "rgb(231, 151, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 87.5%)", "rgb(243, 203, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 87.5%, 0)", "rgba(243, 203, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 87.5%, 0.2)", "rgba(243, 203, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 87.5%, 1)", "rgb(243, 203, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 62.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 62.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 12.5%)", "rgb(56, 8, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 12.5%, 0)", "rgba(56, 8, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 12.5%, 0.2)", "rgba(56, 8, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 12.5%, 1)", "rgb(56, 8, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 25%)", "rgb(112, 16, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 25%, 0)", "rgba(112, 16, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 25%, 0.2)", "rgba(112, 16, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 25%, 1)", "rgb(112, 16, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 37.5%)", "rgb(167, 24, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 37.5%, 0)", "rgba(167, 24, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 37.5%, 0.2)", "rgba(167, 24, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 37.5%, 1)", "rgb(167, 24, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 50%)", "rgb(223, 32, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 50%, 0)", "rgba(223, 32, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 50%, 0.2)", "rgba(223, 32, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 50%, 1)", "rgb(223, 32, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 62.5%)", "rgb(231, 88, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 62.5%, 0)", "rgba(231, 88, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 62.5%, 0.2)", "rgba(231, 88, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 62.5%, 1)", "rgb(231, 88, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 75%)", "rgb(239, 143, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 75%, 0)", "rgba(239, 143, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 75%, 0.2)", "rgba(239, 143, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 75%, 1)", "rgb(239, 143, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 87.5%)", "rgb(247, 199, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 87.5%, 0)", "rgba(247, 199, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 87.5%, 0.2)", "rgba(247, 199, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 87.5%, 1)", "rgb(247, 199, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 75%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 75%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 12.5%)", "rgb(60, 4, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 12.5%, 0)", "rgba(60, 4, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 12.5%, 0.2)", "rgba(60, 4, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 12.5%, 1)", "rgb(60, 4, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 25%)", "rgb(120, 8, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 25%, 0)", "rgba(120, 8, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 25%, 0.2)", "rgba(120, 8, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 25%, 1)", "rgb(120, 8, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 37.5%)", "rgb(179, 12, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 37.5%, 0)", "rgba(179, 12, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 37.5%, 0.2)", "rgba(179, 12, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 37.5%, 1)", "rgb(179, 12, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 50%)", "rgb(239, 16, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 50%, 0)", "rgba(239, 16, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 50%, 0.2)", "rgba(239, 16, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 50%, 1)", "rgb(239, 16, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 62.5%)", "rgb(243, 76, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 62.5%, 0)", "rgba(243, 76, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 62.5%, 0.2)", "rgba(243, 76, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 62.5%, 1)", "rgb(243, 76, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 75%)", "rgb(247, 135, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 75%, 0)", "rgba(247, 135, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 75%, 0.2)", "rgba(247, 135, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 75%, 1)", "rgb(247, 135, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 87.5%)", "rgb(251, 195, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 87.5%, 0)", "rgba(251, 195, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 87.5%, 0.2)", "rgba(251, 195, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 87.5%, 1)", "rgb(251, 195, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 87.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 87.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 12.5%)", "rgb(64, 0, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 12.5%, 0)", "rgba(64, 0, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 12.5%, 0.2)", "rgba(64, 0, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 12.5%, 1)", "rgb(64, 0, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 25%)", "rgb(128, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 25%, 0)", "rgba(128, 0, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 25%, 0.2)", "rgba(128, 0, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 25%, 1)", "rgb(128, 0, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 37.5%)", "rgb(191, 0, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 37.5%, 0)", "rgba(191, 0, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 37.5%, 0.2)", "rgba(191, 0, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 37.5%, 1)", "rgb(191, 0, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 50%)", "rgb(255, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 50%, 0)", "rgba(255, 0, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 50%, 0.2)", "rgba(255, 0, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 50%, 1)", "rgb(255, 0, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 62.5%)", "rgb(255, 64, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 62.5%, 0)", "rgba(255, 64, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 62.5%, 0.2)", "rgba(255, 64, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 62.5%, 1)", "rgb(255, 64, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 75%)", "rgb(255, 128, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 75%, 0)", "rgba(255, 128, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 75%, 0.2)", "rgba(255, 128, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 75%, 1)", "rgb(255, 128, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 87.5%)", "rgb(255, 191, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 87.5%, 0)", "rgba(255, 191, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 87.5%, 0.2)", "rgba(255, 191, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 87.5%, 1)", "rgb(255, 191, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(330, 100%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(330, 100%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 12.5%)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 12.5%, 0)", "rgba(32, 32, 32, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 12.5%, 0.2)", "rgba(32, 32, 32, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 12.5%, 1)", "rgb(32, 32, 32)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 25%)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 25%, 0)", "rgba(64, 64, 64, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 25%, 0.2)", "rgba(64, 64, 64, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 25%, 1)", "rgb(64, 64, 64)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 37.5%)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 37.5%, 0)", "rgba(96, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 37.5%, 0.2)", "rgba(96, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 37.5%, 1)", "rgb(96, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 50%)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 50%, 0)", "rgba(128, 128, 128, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 50%, 0.2)", "rgba(128, 128, 128, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 50%, 1)", "rgb(128, 128, 128)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 62.5%)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 62.5%, 0)", "rgba(159, 159, 159, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 62.5%, 0.2)", "rgba(159, 159, 159, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 62.5%, 1)", "rgb(159, 159, 159)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 75%)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 75%, 0)", "rgba(191, 191, 191, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 75%, 0.2)", "rgba(191, 191, 191, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 75%, 1)", "rgb(191, 191, 191)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 87.5%)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 87.5%, 0)", "rgba(223, 223, 223, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 87.5%, 0.2)", "rgba(223, 223, 223, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 87.5%, 1)", "rgb(223, 223, 223)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 0%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 0%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 12.5%)", "rgb(36, 28, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 12.5%, 0)", "rgba(36, 28, 28, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 12.5%, 0.2)", "rgba(36, 28, 28, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 12.5%, 1)", "rgb(36, 28, 28)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 25%)", "rgb(72, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 25%, 0)", "rgba(72, 56, 56, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 25%, 0.2)", "rgba(72, 56, 56, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 25%, 1)", "rgb(72, 56, 56)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 37.5%)", "rgb(108, 84, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 37.5%, 0)", "rgba(108, 84, 84, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 37.5%, 0.2)", "rgba(108, 84, 84, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 37.5%, 1)", "rgb(108, 84, 84)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 50%)", "rgb(143, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 50%, 0)", "rgba(143, 112, 112, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 50%, 0.2)", "rgba(143, 112, 112, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 50%, 1)", "rgb(143, 112, 112)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 62.5%)", "rgb(171, 147, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 62.5%, 0)", "rgba(171, 147, 147, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 62.5%, 0.2)", "rgba(171, 147, 147, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 62.5%, 1)", "rgb(171, 147, 147)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 75%)", "rgb(199, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 75%, 0)", "rgba(199, 183, 183, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 75%, 0.2)", "rgba(199, 183, 183, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 75%, 1)", "rgb(199, 183, 183)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 87.5%)", "rgb(227, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 87.5%, 0)", "rgba(227, 219, 219, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 87.5%, 0.2)", "rgba(227, 219, 219, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 87.5%, 1)", "rgb(227, 219, 219)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 12.5%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 12.5%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 12.5%)", "rgb(40, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 12.5%, 0)", "rgba(40, 24, 24, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 12.5%, 0.2)", "rgba(40, 24, 24, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 12.5%, 1)", "rgb(40, 24, 24)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 25%)", "rgb(80, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 25%, 0)", "rgba(80, 48, 48, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 25%, 0.2)", "rgba(80, 48, 48, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 25%, 1)", "rgb(80, 48, 48)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 37.5%)", "rgb(120, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 37.5%, 0)", "rgba(120, 72, 72, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 37.5%, 0.2)", "rgba(120, 72, 72, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 37.5%, 1)", "rgb(120, 72, 72)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 50%)", "rgb(159, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 50%, 0)", "rgba(159, 96, 96, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 50%, 0.2)", "rgba(159, 96, 96, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 50%, 1)", "rgb(159, 96, 96)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 62.5%)", "rgb(183, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 62.5%, 0)", "rgba(183, 135, 135, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 62.5%, 0.2)", "rgba(183, 135, 135, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 62.5%, 1)", "rgb(183, 135, 135)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 75%)", "rgb(207, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 75%, 0)", "rgba(207, 175, 175, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 75%, 0.2)", "rgba(207, 175, 175, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 75%, 1)", "rgb(207, 175, 175)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 87.5%)", "rgb(231, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 87.5%, 0)", "rgba(231, 215, 215, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 87.5%, 0.2)", "rgba(231, 215, 215, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 87.5%, 1)", "rgb(231, 215, 215)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 25%, 100%)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 100%, 0)", "rgba(255, 255, 255, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 100%, 0.2)", "rgba(255, 255, 255, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 25%, 100%, 1)", "rgb(255, 255, 255)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 0%)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 0%, 0)", "rgba(0, 0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 0%, 0.2)", "rgba(0, 0, 0, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 0%, 1)", "rgb(0, 0, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 12.5%)", "rgb(44, 20, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 12.5%, 0)", "rgba(44, 20, 20, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 12.5%, 0.2)", "rgba(44, 20, 20, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 12.5%, 1)", "rgb(44, 20, 20)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 25%)", "rgb(88, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 25%, 0)", "rgba(88, 40, 40, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 25%, 0.2)", "rgba(88, 40, 40, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 25%, 1)", "rgb(88, 40, 40)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 37.5%)", "rgb(131, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 37.5%, 0)", "rgba(131, 60, 60, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 37.5%, 0.2)", "rgba(131, 60, 60, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 37.5%, 1)", "rgb(131, 60, 60)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 50%)", "rgb(175, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 50%, 0)", "rgba(175, 80, 80, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 50%, 0.2)", "rgba(175, 80, 80, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 50%, 1)", "rgb(175, 80, 80)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 62.5%)", "rgb(195, 124, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 62.5%, 0)", "rgba(195, 124, 124, 0)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 62.5%, 0.2)", "rgba(195, 124, 124, 0.2)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 62.5%, 1)", "rgb(195, 124, 124)", "HSL/HSLA value should parse and round correctly"], + ["hsl(360, 37.5%, 75%)", "rgb(215, 167, 167)", "HSL/HSLA value should parse and round correctly"], + ["hsla(360, 37.5%, 75%, 0)", "rgba(215, 167, 167, 0)", "HSL/HSLA value should parse and round correctly"], +]; + +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-invalid-hsl.html +export const hsl_invalid_tests = [ + ["hsl(none, none, none)", "The none keyword is invalid in legacy color syntax"], + ["hsla(none, none, none, none)", "The none keyword is invalid in legacy color syntax"], + ["hsl(none, 100%, 50%)", "The none keyword is invalid in legacy color syntax"], + ["hsla(120, 100%, 50%, none)", "The none keyword is invalid in legacy color syntax"], + + ["hsl(10, 50%, 0)", "The second and third parameters of hsl/hsla must be a percent in legacy color syntax"], + ["hsl(50%, 50%, 0%)", "The first parameter of hsl/hsla must be a number or angle"], + ["hsl(0, 0% 0%)", "Modern color syntax requires no commas at all"], + ["hsl(0, 0%, light)", "Keywords are not accepted in the hsl function"], + ["hsl()", "The hsl function requires 3 or 4 arguments"], + ["hsl(0)", "The hsl function requires 3 or 4 arguments"], + ["hsl(0, 0%)", "The hsl function requires 3 or 4 arguments"], + ["hsl(0, 50, 30%)", "The legacy color syntax does not allow numbers for saturation"], + ["hsl(0, 50%, 30)", "The legacy color syntax does not allow numbers for lightness"], + ["hsla(10, 50%, 0, 1)", "The second and third parameters of hsl/hsla must be a percent in legacy color syntax"], + ["hsla(50%, 50%, 0%, 1)", "The first parameter of hsl/hsla must be a number or angle"], + ["hsla(0, 0% 0%, 1)", "Modern color syntax requires no commas at all"], + ["hsla(0, 0%, light, 1)", "Keywords are not accepted in the hsla function"], + ["hsla()", "The hsla function requires 3 or 4 arguments"], + ["hsla(0)", "The hsla function requires 3 or 4 arguments"], + ["hsla(0, 0%)", "The hsla function requires 3 or 4 arguments"], + ["hsla(0, 0%, 0%, 1, 0%)", "The hsla function requires 3 or 4 arguments"], + ["hsl(0, 50, 30%, 1)", "The legacy color syntax does not allow numbers for saturation"], + ["hsl(0, 50%, 30, 1)", "The legacy color syntax does not allow numbers for lightness"], +]; diff --git a/tests/fixtures/rgb_colors.ts b/tests/fixtures/rgb_colors.ts new file mode 100644 index 0000000..0854313 --- /dev/null +++ b/tests/fixtures/rgb_colors.ts @@ -0,0 +1,113 @@ +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-computed-rgb.html +export const rgb_valid_tests: [string, string, string][] = [ + ["rgb(none none none)", "rgb(0, 0, 0)", ""], + ["rgb(none none none / none)", "rgba(0, 0, 0, 0)", ""], + ["rgb(128 none none)", "rgb(128, 0, 0)", ""], + ["rgb(128 none none / none)", "rgba(128, 0, 0, 0)", ""], + ["rgb(none none none / .5)", "rgba(0, 0, 0, 0.5)", ""], + ["rgb(20% none none)", "rgb(51, 0, 0)", ""], + ["rgb(20% none none / none)", "rgba(51, 0, 0, 0)", ""], + ["rgb(none none none / 50%)", "rgba(0, 0, 0, 0.5)", ""], + ["rgba(none none none)", "rgb(0, 0, 0)", ""], + ["rgba(none none none / none)", "rgba(0, 0, 0, 0)", ""], + ["rgba(128 none none)", "rgb(128, 0, 0)", ""], + ["rgba(128 none none / none)", "rgba(128, 0, 0, 0)", ""], + ["rgba(none none none / .5)", "rgba(0, 0, 0, 0.5)", ""], + ["rgba(20% none none)", "rgb(51, 0, 0)", ""], + ["rgba(20% none none / none)", "rgba(51, 0, 0, 0)", ""], + ["rgba(none none none / 50%)", "rgba(0, 0, 0, 0.5)", ""], + ["rgb(2.5, 3.4, 4.6)", "rgb(3, 3, 5)", "Tests that RGB channels are rounded appropriately"], + ["rgb(00, 51, 102)", "rgb(0, 51, 102)", "Valid numbers should be parsed"], + //["r\\gb(00, 51, 102)", "rgb(0, 51, 102)", "Correct escape sequences should still parse"], + //["r\\67 b(00, 51, 102)", "rgb(0, 51, 102)", "Correct escape sequences should still parse"], + ["RGB(153, 204, 255)", "rgb(153, 204, 255)", "Capitalization should not affect parsing"], + ["rgB(0, 0, 0)", "rgb(0, 0, 0)", "Capitalization should not affect parsing"], + ["rgB(0, 51, 255)", "rgb(0, 51, 255)", "Capitalization should not affect parsing"], + ["rgb(0,51,255)", "rgb(0, 51, 255)", "Lack of whitespace should not affect parsing"], + ["rgb(0\t, 51 ,255)", "rgb(0, 51, 255)", "Whitespace should not affect parsing"], + ["rgb(/* R */0, /* G */51, /* B */255)", "rgb(0, 51, 255)", "Comments should be allowed within function"], + ["rgb(-51, 306, 0)", "rgb(0, 255, 0)", "Invalid values should be clamped to 0 and 255 respectively"], + ["rgb(42%, 3%, 50%)", "rgb(107, 8, 128)", "Valid percentages should be parsed"], + ["RGB(100%, 100%, 100%)", "rgb(255, 255, 255)", "Capitalization should not affect parsing"], + ["rgB(0%, 0%, 0%)", "rgb(0, 0, 0)", "Capitalization should not affect parsing"], + ["rgB(10%, 20%, 30%)", "rgb(26, 51, 77)", "Capitalization should not affect parsing"], + ["rgb(10%,20%,30%)", "rgb(26, 51, 77)", "Whitespace should not affect parsing"], + ["rgb(10%\t, 20% ,30%)", "rgb(26, 51, 77)", "Whitespace should not affect parsing"], + ["rgb(/* R */ 10%, /* G */ 20%, /* B */ 30%)", "rgb(26, 51, 77)", "Comments should not affect parsing"], + ["rgb(-12%, 110%, 1400%)", "rgb(0, 255, 255)", "Invalid values should be clamped to 0 and 255 respectively"], + ["rgb(0, 0, 0, 0)", "rgba(0, 0, 0, 0)", "RGB and RGBA are synonyms"], + ["rgb(0%, 0%, 0%, 0%)", "rgba(0, 0, 0, 0)", "RGB and RGBA are synonyms"], + ["rgb(0%, 0%, 0%, 0)", "rgba(0, 0, 0, 0)", "RGB and RGBA are synonyms"], + ["rgba(0, 0, 0, 0)", "rgba(0, 0, 0, 0)", "Valid numbers should be parsed"], + ["rgba(204, 0, 102, 0.3)", "rgba(204, 0, 102, 0.3)", "Valid numbers should be parsed"], + ["RGBA(255, 255, 255, 0)", "rgba(255, 255, 255, 0)", "Capitalization should not affect parsing"], + ["rgBA(0, 51, 255, 1)", "rgb(0, 51, 255)", "Capitalization should not affect parsing"], + ["rgba(0, 51, 255, 1.1)", "rgb(0, 51, 255)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0, 51, 255, 37)", "rgb(0, 51, 255)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0, 51, 255, 0.42)", "rgba(0, 51, 255, 0.42)", "Valid numbers should be parsed"], + ["rgba(0, 51, 255, 0)", "rgba(0, 51, 255, 0)", "Valid numbers should be parsed"], + ["rgba(0, 51, 255, -0.1)", "rgba(0, 51, 255, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0, 51, 255, -139)", "rgba(0, 51, 255, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["RGBA(100%, 100%, 100%, 0)", "rgba(255, 255, 255, 0)", "Capitalization should not affect parsing"], + ["rgba(42%, 3%, 50%, 0.3)", "rgba(107, 8, 128, 0.3)", "Valid percentages should be parsed"], + ["rgBA(0%, 20%, 100%, 1)", "rgb(0, 51, 255)", "Capitalization should not affect parsing"], + ["rgba(0%, 20%, 100%, 1.1)", "rgb(0, 51, 255)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0%, 20%, 100%, 37)", "rgb(0, 51, 255)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0%, 20%, 100%, 0.42)", "rgba(0, 51, 255, 0.42)", "Valid percentages should be parsed"], + ["rgba(0%, 20%, 100%, 0)", "rgba(0, 51, 255, 0)", "Valid percentages should be parsed"], + ["rgba(0%, 20%, 100%, -0.1)", "rgba(0, 51, 255, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(0%, 20%, 100%, -139)", "rgba(0, 51, 255, 0)", "Invalid alpha values should be clamped to 0 and 1 respectively"], + ["rgba(255, 255, 255, 0%)", "rgba(255, 255, 255, 0)", "Percent alpha values are accepted in rgb/rgba"], + ["rgba(0%, 0%, 0%, 0%)", "rgba(0, 0, 0, 0)", "Percent alpha values are accepted in rgb/rgba"], + ["rgba(0%, 0%, 0%)", "rgb(0, 0, 0)", "RGB and RGBA are synonyms"], + ["rgba(0, 0, 0)", "rgb(0, 0, 0)", "RGB and RGBA are synonyms"], + ["rgb(calc(infinity), 0, 0)", "rgb(255, 0, 0)", "Red channel resolves positive infinity to 255"], + ["rgb(0, calc(infinity), 0)", "rgb(0, 255, 0)", "Green channel resolves positive infinity to 255"], + ["rgb(0, 0, calc(infinity))", "rgb(0, 0, 255)", "Blue channel resolves positive infinity to 255"], + ["rgba(0, 0, 0, calc(infinity))", "rgb(0, 0, 0)", "Alpha channel resolves positive infinity to fully opaque"], + ["rgb(calc(-infinity), 0, 0)", "rgb(0, 0, 0)", "Red channel resolves negative infinity to zero"], + ["rgb(0, calc(-infinity), 0)", "rgb(0, 0, 0)", "Green channel resolves negative infinity to zero"], + ["rgb(0, 0, calc(-infinity))", "rgb(0, 0, 0)", "Blue channel resolves negative infinity to zero"], + ["rgba(0, 0, 0, calc(-infinity))", "rgba(0, 0, 0, 0)", "Alpha channel resolves negative infinity to fully transparent"], + ["rgb(calc(NaN), 0, 0)", "rgb(0, 0, 0)", "Red channel resolves NaN to zero"], + ["rgb(0, calc(NaN), 0)", "rgb(0, 0, 0)", "Green channel resolves NaN to zero"], + ["rgb(0, 0, calc(NaN))", "rgb(0, 0, 0)", "Blue channel resolves NaN to zero"], + ["rgba(0, 0, 0, calc(NaN))", "rgba(0, 0, 0, 0)", "Alpha channel resolves NaN to zero"], + ["rgb(calc(0 / 0), 0, 0)", "rgb(0, 0, 0)", "Red channel resolves NaN equivalent calc statements to zero"], + ["rgb(0, calc(0 / 0), 0)", "rgb(0, 0, 0)", "Green channel resolves NaN equivalent calc statements to zero"], + ["rgb(0, 0, calc(0 / 0))", "rgb(0, 0, 0)", "Blue channel resolves NaN equivalent calc statements to zero"], + ["rgba(0, 0, 0, calc(0 / 0))", "rgba(0, 0, 0, 0)", "Alpha channel resolves NaN equivalent calc statements to zero"], + //["rgb(var(--high), 0, 0)", "rgb(255, 0, 0)", "Variables above 255 get clamped to 255."], + //["rgb(var(--negative), 64, 128)", "rgb(0, 64, 128)", "Variables below 0 get clamped to 0."], +]; + +// https://github.com/web-platform-tests/wpt/blob/master/css/css-color/parsing/color-invalid-rgb.html +export const rgb_invalid_tests = [ + ["rgb(none, none, none)", "The none keyword is invalid in legacy color syntax"], + ["rgba(none, none, none, none)", "The none keyword is invalid in legacy color syntax"], + ["rgb(128, 0, none)", "The none keyword is invalid in legacy color syntax"], + ["rgb(255, 255, 255, none)", "The none keyword is invalid in legacy color syntax"], + + ["rgb(10%, 50%, 0)", "Values must be all numbers or all percentages"], + ["rgb(255, 50%, 0%)", "Values must be all numbers or all percentages"], + ["rgb(0, 0 0)", "Comma optional syntax requires no commas at all"], + ["rgb(0, 0, 0deg)", "Angles are not accepted in the rgb function"], + ["rgb(0, 0, light)", "Keywords are not accepted in the rgb function"], + ["rgb()", "The rgb function requires 3 or 4 arguments"], + ["rgb(0)", "The rgb function requires 3 or 4 arguments"], + ["rgb(0, 0)", "The rgb function requires 3 or 4 arguments"], + ["rgb(0%)", "The rgb function requires 3 or 4 arguments"], + ["rgb(0%, 0%)", "The rgb function requires 3 or 4 arguments"], + ["rgba(10%, 50%, 0, 1)", "Values must be all numbers or all percentages"], + ["rgba(255, 50%, 0%, 1)", "Values must be all numbers or all percentages"], + ["rgba(0, 0, 0 0)", "Comma optional syntax requires no commas at all"], + ["rgba(0, 0, 0, 0deg)", "Angles are not accepted in the rgb function"], + ["rgba(0, 0, 0, light)", "Keywords are not accepted in the rgb function"], + ["rgba()", "The rgba function requires 3 or 4 arguments"], + ["rgba(0)", "The rgba function requires 3 or 4 arguments"], + ["rgba(0, 0, 0, 0, 0)", "The rgba function requires 3 or 4 arguments"], + ["rgba(0%)", "The rgba function requires 3 or 4 arguments"], + ["rgba(0%, 0%)", "The rgba function requires 3 or 4 arguments"], + ["rgba(0%, 0%, 0%, 0%, 0%)", "The rgba function requires 3 or 4 arguments"], + ["rgb(257, 0, 5 / 0)", "Cannot mix legacy and non-legacy formats"], +]; diff --git a/tsconfig.json b/tsconfig.json index 8c9749e..0bed890 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,6 @@ "strictNullChecks": true, "declaration": true, "forceConsistentCasingInFileNames": true, - "outDir": "./lib/@types", "rootDir": "src", "esModuleInterop": true, // "verbatimModuleSyntax": true, diff --git a/tsconfig.test.json b/tsconfig.test.json deleted file mode 100644 index 77b0ccb..0000000 --- a/tsconfig.test.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "testRegex": "(/tests/.*|(\\.|/)(test|spec))\\.tsx?$", - "globals": { - "ts-jest": { - "useESM": true - } - }, - "transformIgnorePatterns": ["/node_modules/"], - "coverageThreshold": { - "global": { - "branches": 10, - "functions": 10, - "lines": 10, - "statements": 10 - } - }, - "collectCoverage": true, -}