-sub isf {
- my ($x, $y, $name) = @_;
- my $ok = 1;
- $ok &&= abs ($x->[$_] - $y->[$_]) < EPSILON for 0, 1, 2;
- return pass $name if $ok;
- local $" = ', ';
- fail $name;
- diag "[@$x] != [@$y]";
+ my %tests = %{JSON::MaybeXS::decode_json $snapshot};
+ @tests = map { [$_, $tests{$_}] } sort keys %tests;
+} else {
+ open my $fh, '<', 't/snapshot-rev4.csv';
+ <$fh>;
+
+ while (<$fh>) {
+ my ($color, @good) = split ',';
+ my %test;
+ $test{rgb} = [Convert::Color::RGB8->new($color)->rgb];
+ $test{lc $spaces[$_]} = [@good[$_ * 3 .. $_ * 3 + 2]] for 0 .. $#spaces;
+ push @tests, ["#$color", \%test]
+ }