aboutsummaryrefslogtreecommitdiff
path: root/compat-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'compat-tests.el')
-rw-r--r--compat-tests.el40
1 files changed, 40 insertions, 0 deletions
diff --git a/compat-tests.el b/compat-tests.el
index 223d0dd..baba1c2 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -56,6 +56,7 @@
(require 'time-date)
(require 'image)
(require 'text-property-search nil t)
+(require 'color)
;; Setup tramp mock
(require 'tramp)
@@ -2681,6 +2682,45 @@
(should-not (color-values-from-color-spec "rgbi : 0/0/0"))
(should-not (color-values-from-color-spec "rgbi:0/0.5/10")))
+(defun compat--color-approx-equal (color1 color2)
+ "Return t if COLOR1 and COLOR2 are approximately equal."
+ (seq-every-p
+ (lambda (x) (< (abs x) 0.00001))
+ (cl-mapcar #'- color1 color2)))
+
+(ert-deftest compat-color-oklab-to-xyz ()
+ (should (compat--color-approx-equal (compat-call color-oklab-to-xyz 0 0 0) '(0.0 0.0 0.0)))
+ (should (compat--color-approx-equal (compat-call color-oklab-to-xyz 1.0 0.0 0.0)
+ '(0.95047005 1.0 1.0883001)))
+ (should (compat--color-approx-equal (compat-call color-oklab-to-xyz 0.450 1.236 -0.019) '(1.000604 -0.000008 -0.000038)))
+ (should (compat--color-approx-equal (compat-call color-oklab-to-xyz 0.922 -0.671 0.263) '(0.000305 1.000504 0.000898)))
+ (should (compat--color-approx-equal (compat-call color-oklab-to-xyz 0.153 -1.415 -0.449) '(0.000590 0.000057 1.001650))))
+
+(ert-deftest compat-color-xyz-to-oklab ()
+ (should (compat--color-approx-equal (compat-call color-xyz-to-oklab 0 0 0) '(0.0 0.0 0.0)))
+ (should (compat--color-approx-equal (compat-call color-xyz-to-oklab 0.95 1.0 1.089)
+ '(0.999969 -0.000258 -0.000115)))
+ (should (compat--color-approx-equal (compat-call color-xyz-to-oklab 1.0 0.0 0.0)
+ '(0.449932 1.235710 -0.019028)))
+ (should (compat--color-approx-equal (compat-call color-xyz-to-oklab 0.0 1.0 0.0)
+ '(0.921817 -0.671238 0.263324)))
+ (should (compat--color-approx-equal (compat-call color-xyz-to-oklab 0.0 0.0 1.0)
+ '(0.152603 -1.414997 -0.448927))))
+
+(ert-deftest compat-color-srgb-to-oklab ()
+ (should (equal (compat-call color-srgb-to-oklab 0 0 0) '(0.0 0.0 0.0)))
+ (should
+ (compat--color-approx-equal (compat-call color-srgb-to-oklab 0 0 1) '(0.451978 -0.032430 -0.311611)))
+ (should
+ (compat--color-approx-equal (compat-call color-srgb-to-oklab 0.1 0.2 0.3) '(0.313828 -0.019091 -0.052561))))
+
+(ert-deftest compat-color-oklab-to-srgb ()
+ (should (equal (compat-call color-oklab-to-srgb 0 0 0) '(0.0 0.0 0.0)))
+ (should
+ (compat--color-approx-equal (compat-call color-oklab-to-srgb 0.451978 -0.032430 -0.311611) '(0.0 0.0 1.0)))
+ (should
+ (compat--color-approx-equal (compat-call color-oklab-to-srgb 0.313828 -0.019091 -0.052561) '(0.1 0.2 0.3))))
+
(ert-deftest compat-lookup-key ()
(let ((a-map (make-sparse-keymap))
(b-map (make-sparse-keymap)))