]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix off-by-one error in 'css--hex-color'
authorSimen Heggestøyl <simenheg@gmail.com>
Sat, 16 Dec 2017 08:37:11 +0000 (09:37 +0100)
committerSimen Heggestøyl <simenheg@gmail.com>
Sat, 16 Dec 2017 08:46:54 +0000 (09:46 +0100)
* lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.

* test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
for 'css--hex-color'.

lisp/textmodes/css-mode.el
test/lisp/textmodes/css-mode-tests.el

index 1de4ff0fca91cad2257a63c1a9f6ca20c59dd75e..f2481da8aa1d48aaf8b0f1f7c0bde1260f45b913 100644 (file)
@@ -1037,7 +1037,7 @@ This recognizes CSS-color-4 extensions."
 STR is the incoming CSS hex color.
 This function simply drops any transparency."
   ;; Either #RGB or #RRGGBB, drop the "A" or "AA".
-  (if (> (length str) 4)
+  (if (> (length str) 5)
       (substring str 0 7)
     (substring str 0 4)))
 
index 47cf5f9244b49477fe6ca3ce9a379a3850bfdc46..1e58751f14083546e3203f1622a1bbce73910cbe 100644 (file)
         (insert input ")"))
       (should (equal (css--hsl-color) "#ff0000")))))
 
+(ert-deftest css-test-hex-color ()
+  (should (equal (css--hex-color "#abc") "#abc"))
+  (should (equal (css--hex-color "#abcd") "#abc"))
+  (should (equal (css--hex-color "#aabbcc") "#aabbcc"))
+  (should (equal (css--hex-color "#aabbccdd") "#aabbcc")))
+
 (ert-deftest css-test-named-color ()
   (dolist (text '("@mixin black" "@include black"))
     (with-temp-buffer