aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin J Hoerr <kjhoerr@protonmail.com>2019-12-12 15:18:49 -0500
committerKevin J Hoerr <kjhoerr@protonmail.com>2019-12-12 15:18:49 -0500
commitbc549648b38698b7bd3cb71ab7e71bb17a3a68a1 (patch)
tree5c90212500585e80f2a7ba88613eff83bae222e9 /src
parent6087e80f822273b9840d390365fab11c72b6652b (diff)
downloadao-coverage-bc549648b38698b7bd3cb71ab7e71bb17a3a68a1.tar.gz
ao-coverage-bc549648b38698b7bd3cb71ab7e71bb17a3a68a1.tar.bz2
ao-coverage-bc549648b38698b7bd3cb71ab7e71bb17a3a68a1.zip
Fix color matcher for inbetween step values
Diffstat (limited to 'src')
-rw-r--r--src/formats.test.ts22
-rw-r--r--src/formats.ts6
2 files changed, 26 insertions, 2 deletions
diff --git a/src/formats.test.ts b/src/formats.test.ts
index a3bc03b..8dbbe2c 100644
--- a/src/formats.test.ts
+++ b/src/formats.test.ts
@@ -47,6 +47,28 @@ describe("Color matcher", () => {
${2} | ${75} | ${15} | ${"f20"}
${1} | ${75} | ${15} | ${"f10"}
${0} | ${75} | ${15} | ${"f00"}
+ ${75} | ${75} | ${15} | ${"0f0"}
+ ${71} | ${75} | ${15} | ${"1f0"}
+ ${67} | ${75} | ${15} | ${"2f0"}
+ ${63} | ${75} | ${15} | ${"3f0"}
+ ${59} | ${75} | ${15} | ${"4f0"}
+ ${55} | ${75} | ${15} | ${"5f0"}
+ ${54} | ${75} | ${15} | ${"5f0"}
+ ${53} | ${75} | ${15} | ${"5f0"}
+ ${52} | ${75} | ${15} | ${"5f0"}
+ ${51} | ${75} | ${15} | ${"6f0"}
+ ${50} | ${75} | ${15} | ${"6f0"}
+ ${49} | ${75} | ${15} | ${"6f0"}
+ ${48} | ${75} | ${15} | ${"6f0"}
+ ${47} | ${75} | ${15} | ${"7f0"}
+ ${43} | ${75} | ${15} | ${"8f0"}
+ ${39} | ${75} | ${15} | ${"9f0"}
+ ${35} | ${75} | ${15} | ${"af0"}
+ ${31} | ${75} | ${15} | ${"bf0"}
+ ${27} | ${75} | ${15} | ${"cf0"}
+ ${23} | ${75} | ${15} | ${"df0"}
+ ${19} | ${75} | ${15} | ${"ef0"}
+ ${15} | ${75} | ${15} | ${"ff0"}
`("should return $expected at $n%", ({ n, s1, s2, expected }) => {
// Arrange
const gradient = { stage1: s1, stage2: s2 };
diff --git a/src/formats.ts b/src/formats.ts
index 86d3f6b..b64c418 100644
--- a/src/formats.ts
+++ b/src/formats.ts
@@ -33,8 +33,10 @@ export const defaultColorMatches = (
? 15
: coverage >= style.stage2
? Math.floor(
- ((style.stage1 - coverage) / (style.stage1 - style.stage2)) * 240
- ) + 15
+ ((style.stage1 - coverage) / (style.stage1 - style.stage2)) * 15
+ ) *
+ 16 +
+ 15
: 240 + Math.floor(coverage / (style.stage2 / 15));
const result = gradient.toString(16);
return (result.length === 1 ? "0" : "") + result + "0";