mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-14 09:39:42 +00:00
Parse percent values in CSS alpha components
* lisp/textmodes/css-mode.el (css--rgb-color): Support parsing percent values in the alpha component. * test/lisp/textmodes/css-mode-tests.el (css-test-rgb-to-named-color-or-hex, css-test-rgb-parser): Update for the above changes.
This commit is contained in:
parent
64c8467386
commit
cff45e6f4e
@ -954,11 +954,11 @@ the returned hex string."
|
||||
(let* ((is-percent (match-beginning 1))
|
||||
(str (match-string (if is-percent 1 2)))
|
||||
(number (string-to-number str)))
|
||||
(when is-percent
|
||||
(setq number (* 255 (/ number 100.0))))
|
||||
(if (and include-alpha (= iter 3))
|
||||
(push (round (* number 255)) result)
|
||||
(push (min (max 0 (truncate number)) 255) result))
|
||||
(if is-percent
|
||||
(setq number (* 255 (/ number 100.0)))
|
||||
(when (and include-alpha (= iter 3))
|
||||
(setq number (* number 255))))
|
||||
(push (min (max 0 (round number)) 255) result)
|
||||
(goto-char (match-end 0))
|
||||
(css--color-skip-blanks)
|
||||
(cl-incf iter)
|
||||
|
@ -293,7 +293,9 @@
|
||||
("rgb(255, 255, 255)" "white")
|
||||
("rgb(255, 255, 240)" "ivory")
|
||||
("rgb(18, 52, 86)" "#123456")
|
||||
("rgba(18, 52, 86, 0.5)" "#12345680")))
|
||||
("rgba(18, 52, 86, 0.5)" "#12345680")
|
||||
("rgba(18, 52, 86, 50%)" "#12345680")
|
||||
("rgba(50%, 50%, 50%, 50%)" "#80808080")))
|
||||
(with-temp-buffer
|
||||
(css-mode)
|
||||
(insert (nth 0 item))
|
||||
@ -330,11 +332,11 @@
|
||||
(ert-deftest css-test-rgb-parser ()
|
||||
(with-temp-buffer
|
||||
(css-mode)
|
||||
(dolist (input '("255, 0, 127"
|
||||
"255, /* comment */ 0, 127"
|
||||
"255 0 127"
|
||||
"255, 0, 127, 0.75"
|
||||
"255 0 127 / 0.75"
|
||||
(dolist (input '("255, 0, 128"
|
||||
"255, /* comment */ 0, 128"
|
||||
"255 0 128"
|
||||
"255, 0, 128, 0.75"
|
||||
"255 0 128 / 0.75"
|
||||
"100%, 0%, 50%"
|
||||
"100%, 0%, 50%, 0.115"
|
||||
"100% 0% 50%"
|
||||
@ -342,7 +344,7 @@
|
||||
(erase-buffer)
|
||||
(save-excursion
|
||||
(insert input ")"))
|
||||
(should (equal (css--rgb-color) "#ff007f")))))
|
||||
(should (equal (css--rgb-color) "#ff0080")))))
|
||||
|
||||
(ert-deftest css-test-hsl-parser ()
|
||||
(with-temp-buffer
|
||||
|
Loading…
Reference in New Issue
Block a user