Skip to content

Commit

Permalink
[Color 4] Add tests for oklch()
Browse files Browse the repository at this point in the history
  • Loading branch information
nex3 committed Oct 10, 2023
1 parent 2b2351c commit c37779a
Show file tree
Hide file tree
Showing 7 changed files with 755 additions and 0 deletions.
2 changes: 2 additions & 0 deletions spec/core_functions/color/oklch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Some of the same behavior tested for `lab()` applies to this function as well,
but for terseness' sake isn't tested explicitly.
27 changes: 27 additions & 0 deletions spec/core_functions/color/oklch/_utils.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
@use 'sass:color';
@use 'sass:list';
@use 'sass:meta';

@function -real-channel($color, $channel) {
@if color.is-missing($color, $channel) {
@return none;
} @else {
@return color.channel($color, $channel);
}
}

@mixin inspect($color) {
a {
value: $color;
@if meta.type-of($color) == string {
type: string;
} @else {
channels: list.slash(
-real-channel($color, 'lightness')
-real-channel($color, 'chroma')
-real-channel($color, 'hue'),
-real-channel($color, 'alpha')
);
}
}
}
120 changes: 120 additions & 0 deletions spec/core_functions/color/oklch/alpha.hrx
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
<===> transparent/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 3deg / 0));

<===> transparent/output.css
a {
value: oklch(1% 0.2 3deg / 0);
channels: 1% 0.2 3deg / 0;
}

<===>
================================================================================
<===> opaque/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 3deg / 1));

<===> opaque/output.css
a {
value: oklch(1% 0.2 3deg);
channels: 1% 0.2 3deg / 1;
}

<===>
================================================================================
<===> partial/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 3deg / 0.4));

<===> partial/output.css
a {
value: oklch(1% 0.2 3deg / 0.4);
channels: 1% 0.2 3deg / 0.4;
}

<===>
================================================================================
<===> percent/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 3deg / 40%));

<===> percent/output.css
a {
value: oklch(1% 0.2 3deg / 0.4);
channels: 1% 0.2 3deg / 0.4;
}

<===>
================================================================================
<===> named/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch($channels: 1% 0.2 3deg / 0.4));

<===> named/output.css
a {
value: oklch(1% 0.2 3deg / 0.4);
channels: 1% 0.2 3deg / 0.4;
}

<===>
================================================================================
<===> slash_list/input.scss
@use "sass:list";
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(list.slash(1% 0.2 3deg, 0.4)));

<===> slash_list/output.css
a {
value: oklch(1% 0.2 3deg / 0.4);
channels: 1% 0.2 3deg / 0.4;
}

<===>
================================================================================
<===> none/slash/hue/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 none / 0.4));

<===> none/slash/hue/output.css
a {
value: oklch(1% 0.2 none / 0.4);
channels: 1% 0.2 none / 0.4;
}

<===>
================================================================================
<===> none/slash/alpha/input.scss
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(1% 0.2 3deg / none));

<===> none/slash/alpha/output.css
a {
value: oklch(1% 0.2 3deg / none);
channels: 1% 0.2 3deg / none;
}

<===>
================================================================================
<===> none/slash_list/hue/input.scss
@use 'sass:list';
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(list.slash(1% 0.2 none, 0.4)));

<===> none/slash_list/hue/output.css
a {
value: oklch(1% 0.2 none / 0.4);
channels: 1% 0.2 none / 0.4;
}

<===>
================================================================================
<===> none/slash_list/alpha/input.scss
@use 'sass:list';
@use 'core_functions/color/lch/utils';
@include utils.inspect(oklch(list.slash(1% 0.2 3deg, none)));

<===> none/slash_list/alpha/output.css
a {
value: oklch(1% 0.2 3deg / none);
channels: 1% 0.2 3deg / none;
}
Loading

0 comments on commit c37779a

Please sign in to comment.