From: Stefan Kangas Date: Thu, 10 Sep 2020 18:40:34 +0000 (+0200) Subject: Convert indent test for css-mode into automatic test X-Git-Tag: emacs-28.0.90~6143 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4ba71eee8d8991c95028df40cb784cb9cb2e964d;p=emacs.git Convert indent test for css-mode into automatic test * test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): New test. (css-mode-tests-data-dir): New variable. * test/manual/indent/css-mode.css: Move from here... * test/lisp/textmodes/css-mode-resources/test-indent.css: ...to here. --- diff --git a/test/lisp/textmodes/css-mode-resources/test-indent.css b/test/lisp/textmodes/css-mode-resources/test-indent.css new file mode 100644 index 00000000000..041aeec1b15 --- /dev/null +++ b/test/lisp/textmodes/css-mode-resources/test-indent.css @@ -0,0 +1,100 @@ +/* asdfasdf */ + +.xxx +{ +} + +article[role="main"] { + width: 60%; +} + +a, b:hover, c { + color: black !important; +} + +a, b:hover { /* bug:20282 */ + c { + color: black; + } + color: black; +} + +a.b:c,d.e:f,g[h]:i,j[k]:l,.m.n:o,.p.q:r,.s[t]:u,.v[w]:x { /* bug:20282 */ + background-color: white; +} + +/* asdfasdf */ +@foo x2 { + bla:toto; +} +.x2 +{ + /* foo: bar; */ foo2: bar2; + bar1: url("http://toto/titi"); + bar2: url('http://toto/titi'); + bar3: url(http://toto/titi); +} + +div.x3 +{ +} + +article:hover +{ + color: black; +} + +/* bug:13425 */ +div:first-child, +div:last-child, +div[disabled], +div::before { + font: 15px "Helvetica Neue", + Helvetica, + Arial, + "Nimbus Sans L", + sans-serif; + font: 15px "Helvetica Neue", Helvetica, Arial, + "Nimbus Sans L", sans-serif; + background: no-repeat right + 5px center; + transform: matrix(1.0, 2.0, + 3.0, 4.0, + 5.0, 6.0); + transform: matrix( + 1.0, 2.0, + 3.0, 4.0, + 5.0, 6.0 + ); +} + +/* Multi-line selector including both a pseudo-class and + parenthesis. */ +.form-group:not(.required) label, +.birth-date .row > * { + &::after { + display: inline; + font-weight: normal; + } +} + +@font-face { + src: url("Sans-Regular.eot") format("eot"), + url("Sans-Regular.woff") format("woff"), + url("Sans-Regular.ttf") format("truetype"); +} + +@font-face { + src: + url("Sans-Regular.eot") format("eot"), + url("Sans-Regular.woff") format("woff"); +} + +.foo-bar--baz { + --foo-variable: 5px; + --_variable_with_underscores: #fff; + --_variable-starting-with-underscore: none; + margin: var(--foo-variable); + color: var(--_variable_with_underscores); + display: var(--_variable-starting-with-underscore); +} diff --git a/test/lisp/textmodes/css-mode-tests.el b/test/lisp/textmodes/css-mode-tests.el index 38cb73b3557..f627d1c02c9 100644 --- a/test/lisp/textmodes/css-mode-tests.el +++ b/test/lisp/textmodes/css-mode-tests.el @@ -30,6 +30,12 @@ (require 'ert) (require 'seq) +(defvar css-mode-tests-data-dir + (file-truename + (expand-file-name "css-mode-resources/" + (file-name-directory (or load-file-name + buffer-file-name))))) + (ert-deftest css-test-property-values () ;; The `float' property has a flat value list. (should @@ -411,5 +417,13 @@ (point)) "black"))))) +(ert-deftest css-mode-test-indent () + (with-current-buffer + (find-file-noselect (expand-file-name "test-indent.css" + css-mode-tests-data-dir)) + (let ((orig (buffer-string))) + (indent-region (point-min) (point-max)) + (should (equal (buffer-string) orig))))) + (provide 'css-mode-tests) ;;; css-mode-tests.el ends here diff --git a/test/manual/indent/css-mode.css b/test/manual/indent/css-mode.css deleted file mode 100644 index 041aeec1b15..00000000000 --- a/test/manual/indent/css-mode.css +++ /dev/null @@ -1,100 +0,0 @@ -/* asdfasdf */ - -.xxx -{ -} - -article[role="main"] { - width: 60%; -} - -a, b:hover, c { - color: black !important; -} - -a, b:hover { /* bug:20282 */ - c { - color: black; - } - color: black; -} - -a.b:c,d.e:f,g[h]:i,j[k]:l,.m.n:o,.p.q:r,.s[t]:u,.v[w]:x { /* bug:20282 */ - background-color: white; -} - -/* asdfasdf */ -@foo x2 { - bla:toto; -} -.x2 -{ - /* foo: bar; */ foo2: bar2; - bar1: url("http://toto/titi"); - bar2: url('http://toto/titi'); - bar3: url(http://toto/titi); -} - -div.x3 -{ -} - -article:hover -{ - color: black; -} - -/* bug:13425 */ -div:first-child, -div:last-child, -div[disabled], -div::before { - font: 15px "Helvetica Neue", - Helvetica, - Arial, - "Nimbus Sans L", - sans-serif; - font: 15px "Helvetica Neue", Helvetica, Arial, - "Nimbus Sans L", sans-serif; - background: no-repeat right - 5px center; - transform: matrix(1.0, 2.0, - 3.0, 4.0, - 5.0, 6.0); - transform: matrix( - 1.0, 2.0, - 3.0, 4.0, - 5.0, 6.0 - ); -} - -/* Multi-line selector including both a pseudo-class and - parenthesis. */ -.form-group:not(.required) label, -.birth-date .row > * { - &::after { - display: inline; - font-weight: normal; - } -} - -@font-face { - src: url("Sans-Regular.eot") format("eot"), - url("Sans-Regular.woff") format("woff"), - url("Sans-Regular.ttf") format("truetype"); -} - -@font-face { - src: - url("Sans-Regular.eot") format("eot"), - url("Sans-Regular.woff") format("woff"); -} - -.foo-bar--baz { - --foo-variable: 5px; - --_variable_with_underscores: #fff; - --_variable-starting-with-underscore: none; - margin: var(--foo-variable); - color: var(--_variable_with_underscores); - display: var(--_variable-starting-with-underscore); -}