diff --git a/src/lint/linter/__tests__/lessc/colors.lint-test b/src/lint/linter/__tests__/lessc/colors.lint-test deleted file mode 100644 index d813c58a..00000000 --- a/src/lint/linter/__tests__/lessc/colors.lint-test +++ /dev/null @@ -1,99 +0,0 @@ -#yelow { - #short { - color: #fea; - } - #long { - color: #ffeeaa; - } - #rgba { - color: rgba(255, 238, 170, 0.1); - } - #argb { - color: argb(rgba(255, 238, 170, 0.1)); - } -} - -#blue { - #short { - color: #00f; - } - #long { - color: #0000ff; - } - #rgba { - color: rgba(0, 0, 255, 0.1); - } - #argb { - color: argb(rgba(0, 0, 255, 0.1)); - } -} - -#alpha #hsla { - color: hsla(11, 20%, 20%, 0.6); -} - -#overflow { - .a { color: (#111111 - #444444); } // #000000 - .b { color: (#eee + #fff); } // #ffffff - .c { color: (#aaa * 3); } // #ffffff - .d { color: (#00ee00 + #009900); } // #00ff00 - .e { color: rgba(-99.9, 31.4159, 321, 0.42); } -} - -#grey { - color: rgb(200, 200, 200); -} - -#333333 { - color: rgb(20%, 20%, 20%); -} - -#808080 { - color: hsl(50, 0%, 50%); -} - -#00ff00 { - color: hsl(120, 100%, 50%); -} - -.lightenblue { - color: lighten(blue, 10%); -} - -.darkenblue { - color: darken(blue, 10%); -} - -.unknowncolors { - color: blue2; - border: 2px solid superred; -} - -.transparent { - color: transparent; - background-color: rgba(0, 0, 0, 0); -} -#alpha { - @colorvar: rgba(150, 200, 150, 0.7); - #fromvar { - opacity: alpha(@colorvar); - } - #short { - opacity: alpha(#aaa); - } - #long { - opacity: alpha(#bababa); - } - #rgba { - opacity: alpha(rgba(50, 120, 95, 0.2)); - } - #hsl { - opacity: alpha(hsl(120, 100%, 50%)); - } -} - -#percentage { - color: red(rgb(100%, 0, 0)); - border-color: rgba(100%, 0, 0, 50%); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/comments.lint-test b/src/lint/linter/__tests__/lessc/comments.lint-test deleted file mode 100644 index 8c9b4a55..00000000 --- a/src/lint/linter/__tests__/lessc/comments.lint-test +++ /dev/null @@ -1,84 +0,0 @@ -/******************\ -* * -* Comment Header * -* * -\******************/ - -/* - - Comment - -*/ - -/* - * Comment Test - * - * - cloudhead (http://cloudhead.net) - * - */ - -//////////////// -@var: "content"; -//////////////// - -/* Colors - * ------ - * #EDF8FC (background blue) - * #166C89 (darkest blue) - * - * Text: - * #333 (standard text) // A comment within a comment! - * #1F9EC9 (standard link) - * - */ - -/* @group Variables -------------------- */ -#comments /* boo *//* boo again*/, -//.commented_out1 -//.commented_out2 -//.commented_out3 -.comments //end of comments1 -//end of comments2 -{ - /**/ // An empty comment - color: red; /* A C-style comment */ /* A C-style comment */ - background-color: orange; // A little comment - font-size: 12px; - - /* lost comment */ content: @var; - - border: 1px solid black; - - // padding & margin // - padding: 0; // }{ '" - margin: 2em; -} // - -/* commented out - #more-comments { - color: grey; - } -*/ - -.selector /* .with */, .lots, /* of */ .comments { - color: grey, /* blue */ orange; - -webkit-border-radius: 2px /* webkit only */; - -moz-border-radius: (2px * 4) /* moz only with operation */; -} - -.mixin_def_with_colors(@a: white, // in - @b: 1px //put in @b - causes problems! ---> - ) // the - when (@a = white) { - .test { - color: @b; - } -} -.mixin_def_with_colors(); - -#last { color: blue } -// - -/* *//* { *//* *//* *//* */#div { color:#A33; }/* } */ -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/css-3.lint-test b/src/lint/linter/__tests__/lessc/css-3.lint-test deleted file mode 100644 index 997c693f..00000000 --- a/src/lint/linter/__tests__/lessc/css-3.lint-test +++ /dev/null @@ -1,130 +0,0 @@ -.comma-delimited { - text-shadow: -1px -1px 1px red, 6px 5px 5px yellow; - -moz-box-shadow: 0pt 0pt 2px rgba(255, 255, 255, 0.4) inset, - 0pt 4px 6px rgba(255, 255, 255, 0.4) inset; - -webkit-transform: rotate(-0.0000000001deg); -} -@font-face { - font-family: Headline; - unicode-range: U+??????, U+0???, U+0-7F, U+A5; -} -.other { - -moz-transform: translate(0, 11em) rotate(-90deg); - transform: rotateX(45deg); -} -.item[data-cra_zy-attr1b-ut3=bold] { - font-weight: bold; -} -p:not([class*="lead"]) { - color: black; -} - -input[type="text"].class#id[attr=32]:not(1) { - color: white; -} - -div#id.class[a=1][b=2].class:not(1) { - color: white; -} - -ul.comma > li:not(:only-child)::after { - color: white; -} - -ol.comma > li:nth-last-child(2)::after { - color: white; -} - -li:nth-child(4n+1), -li:nth-child(-5n), -li:nth-child(-n+2) { - color: white; -} - -a[href^="http://"] { - color: black; -} - -a[href$="http://"] { - color: black; -} - -form[data-disabled] { - color: black; -} - -p::before { - color: black; -} - -#issue322 { - -webkit-animation: anim2 7s infinite ease-in-out; -} - -@-webkit-keyframes frames { - 0% { border: 1px } - 5.5% { border: 2px } - 100% { border: 3px } -} - -@keyframes fontbulger1 { - to { - font-size: 15px; - } - from,to { - font-size: 12px; - } - 0%,100% { - font-size: 12px; - } -} - -.units { - font: 1.2rem/2rem; - font: 8vw/9vw; - font: 10vh/12vh; - font: 12vm/15vm; - font: 12vmin/15vmin; - font: 1.2ch/1.5ch; -} - -@supports ( box-shadow: 2px 2px 2px black ) or - ( -moz-box-shadow: 2px 2px 2px black ) { - .outline { - box-shadow: 2px 2px 2px black; - -moz-box-shadow: 2px 2px 2px black; - } -} - -@-x-document url-prefix(""github.com"") { - h1 { - color: red; - } -} - -@viewport { - font-size: 10px; -} -@namespace foo url(http://www.example.com); - -foo|h1 { color: blue; } -foo|* { color: yellow; } -|h1 { color: red; } -*|h1 { color: green; } -h1 { color: green; } -.upper-test { - UpperCaseProperties: allowed; -} -@host { - div { - display: block; - } -} -::distributed(input::placeholder) { - color: #b3b3b3; -} -.shadow ^ .dom, -body ^^ .shadow { - display: done; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/css-escapes.lint-test b/src/lint/linter/__tests__/lessc/css-escapes.lint-test deleted file mode 100644 index 91e806ff..00000000 --- a/src/lint/linter/__tests__/lessc/css-escapes.lint-test +++ /dev/null @@ -1,34 +0,0 @@ -@ugly: fuchsia; - -.escape\|random\|char { - color: red; -} - -.mixin\!tUp { - font-weight: bold; -} - -// class="404" -.\34 04 { - background: red; - - strong { - color: @ugly; - .mixin\!tUp; - } -} - -.trailingTest\+ { - color: red; -} - -/* This hideous test of hideousness checks for the selector "blockquote" with various permutations of hex escapes */ -\62\6c\6f \63 \6B \0071 \000075o\74 e { - color: silver; -} - -[ng\:cloak], -ng\:form { - display: none; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/css-guards.lint-test b/src/lint/linter/__tests__/lessc/css-guards.lint-test deleted file mode 100644 index 337501ce..00000000 --- a/src/lint/linter/__tests__/lessc/css-guards.lint-test +++ /dev/null @@ -1,65 +0,0 @@ - -.light when (lightness(@a) > 50%) { - color: green; -} -.dark when (lightness(@a) < 50%) { - color: orange; -} -@a: #ddd; - -.see-the { - @a: #444; // this mirrors what mixins do - they evaluate guards at the point of execution - .light(); - .dark(); -} - -.hide-the { - .light(); - .dark(); -} - -.multiple-conditions-1 when (@b = 1), (@c = 2), (@d = 3) { - color: red; -} - -.multiple-conditions-2 when (@b = 1), (@c = 2), (@d = 2) { - color: blue; -} - -@b: 2; -@c: 3; -@d: 3; - -.inheritance when (@b = 2) { - .test { - color: black; - } - &:hover { - color: pink; - } - .hideme when (@b = 1) { - color: green; - } - & when (@b = 1) { - hideme: green; - } -} - -.hideme when (@b = 1) { - .test { - color: black; - } - &:hover { - color: pink; - } - .hideme when (@b = 1) { - color: green; - } -} - -& when (@b = 1) { - .hideme { - color: red; - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/detached-rulesets.lint-test b/src/lint/linter/__tests__/lessc/detached-rulesets.lint-test deleted file mode 100644 index 95e61796..00000000 --- a/src/lint/linter/__tests__/lessc/detached-rulesets.lint-test +++ /dev/null @@ -1,104 +0,0 @@ -@ruleset: { - color: black; - background: white; - }; - -@a: 1px; -.wrap-mixin(@ruleset) { - @a: hidden and if you see this in the output its a bug; - @b: visible; - @d: magic-frame; // same behaviour as mixin calls - falls back to this frame - .wrap-selector { - @c: visible; - @ruleset(); - visible-one: @b; - visible-two: @c; - } -}; - -.wrap-mixin({ - color: black; - one: @a; - @b: hidden and if you see this in the output its a bug; - @c: hidden and if you see this in the output its a bug; - four: @d; -}); - -.wrap-mixin(@ruleset: { - color: red; -}); - -.wrap-mixin(@ruleset); - -.desktop-and-old-ie(@rules) { - @media screen and (min-width: 1200) { @rules(); } - html.lt-ie9 & { @rules(); } -} - -header { - background: blue; - - .desktop-and-old-ie({ - background: red; - }); -} - -.wrap-mixin-calls-wrap(@ruleset) { - .wrap-mixin(@ruleset); -}; - -.wrap-mixin({ - test: extra-wrap; - .wrap-mixin-calls-wrap({ - test: wrapped-twice; - }); -}); - -.wrap-mixin({ - test-func: unit(90px); - test-arithmetic: unit((9+9), px); -}); -// without mixins -@ruleset-2: { - b: 1; -}; -.without-mixins { - @ruleset-2(); -} -@my-ruleset: { - .my-selector { - @media tv { - background-color: black; - } - } - }; -@media (orientation:portrait) { - @my-ruleset(); - .wrap-media-mixin({ - @media tv { - .triple-wrapped-mq { - triple: true; - } - } - }); -} -.wrap-media-mixin(@ruleset) { - @media widescreen { - @media print { - @ruleset(); - } - @ruleset(); - } - @ruleset(); -} -// unlocking mixins -@my-mixins: { - .mixin() { - test: test; - } -}; -@my-mixins(); -.a { - .mixin(); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/errors/add-mixed-units2.lint-test b/src/lint/linter/__tests__/lessc/errors/add-mixed-units2.lint-test deleted file mode 100644 index 4b4de15c..00000000 --- a/src/lint/linter/__tests__/lessc/errors/add-mixed-units2.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -.a { - error: ((1px * 2px) + (3em * 3px)); -} -~~~~~~~~~~ -error:2:3 -~~~~~~~~~~ -~~~~~~~~~~ -{"config":{"lessc.strict-units":true}} diff --git a/src/lint/linter/__tests__/lessc/errors/at-rules-undefined-var.lint-test b/src/lint/linter/__tests__/lessc/errors/at-rules-undefined-var.lint-test deleted file mode 100644 index 3eb6fc02..00000000 --- a/src/lint/linter/__tests__/lessc/errors/at-rules-undefined-var.lint-test +++ /dev/null @@ -1,6 +0,0 @@ - -@keyframes @name { - 50% {width: 20px;} -} -~~~~~~~~~~ -error:2:12 diff --git a/src/lint/linter/__tests__/lessc/errors/bad-variable-declaration1.lint-test b/src/lint/linter/__tests__/lessc/errors/bad-variable-declaration1.lint-test deleted file mode 100644 index 8991594c..00000000 --- a/src/lint/linter/__tests__/lessc/errors/bad-variable-declaration1.lint-test +++ /dev/null @@ -1,3 +0,0 @@ -@@demo: "hi"; -~~~~~~~~~~ -error:1:1 diff --git a/src/lint/linter/__tests__/lessc/errors/comment-in-selector.lint-test b/src/lint/linter/__tests__/lessc/errors/comment-in-selector.lint-test deleted file mode 100644 index 9a3659e1..00000000 --- a/src/lint/linter/__tests__/lessc/errors/comment-in-selector.lint-test +++ /dev/null @@ -1,3 +0,0 @@ -#gaga /* Comment */ span { color: red } -~~~~~~~~~~ -error:1:21 diff --git a/src/lint/linter/__tests__/lessc/errors/css-guard-default-func.lint-test b/src/lint/linter/__tests__/lessc/errors/css-guard-default-func.lint-test deleted file mode 100644 index 61b22a42..00000000 --- a/src/lint/linter/__tests__/lessc/errors/css-guard-default-func.lint-test +++ /dev/null @@ -1,6 +0,0 @@ - -selector when (default()) { - color: red; -} -~~~~~~~~~~ -error:2:16 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-1.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-1.lint-test deleted file mode 100644 index f7b29107..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-1.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -@a: { - b: 1; -}; -.a { - a: @a; -} -~~~~~~~~~~ -error:5:3 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-2.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-2.lint-test deleted file mode 100644 index 7fb44bbf..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-2.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -@a: { - b: 1; -}; -.a { - a: @a(); -} -~~~~~~~~~~ -error:5:3 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-3.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-3.lint-test deleted file mode 100644 index 0aaf0ff2..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-3.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -@a: { - b: 1; -}; -@a(); -~~~~~~~~~~ -error:2:3 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-4.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-4.lint-test deleted file mode 100644 index 3b2f6030..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-4.lint-test +++ /dev/null @@ -1,7 +0,0 @@ -.mixin-definition(@a: { - b: 1; -}) { - @a(); -} -~~~~~~~~~~ -error:1:18 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-5.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-5.lint-test deleted file mode 100644 index c1606c29..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-5.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -.mixin-definition(@b) { - @a(); -} -.mixin-definition({color: red;}); -~~~~~~~~~~ -error:4:1 diff --git a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-6.lint-test b/src/lint/linter/__tests__/lessc/errors/detached-ruleset-6.lint-test deleted file mode 100644 index db0acc58..00000000 --- a/src/lint/linter/__tests__/lessc/errors/detached-ruleset-6.lint-test +++ /dev/null @@ -1,7 +0,0 @@ -.a { - b: { - color: red; - }; -} -~~~~~~~~~~ -error:2:3 diff --git a/src/lint/linter/__tests__/lessc/errors/extend-no-selector.lint-test b/src/lint/linter/__tests__/lessc/errors/extend-no-selector.lint-test deleted file mode 100644 index 52dcb748..00000000 --- a/src/lint/linter/__tests__/lessc/errors/extend-no-selector.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -:extend(.a all) { - property: red; -} -~~~~~~~~~~ -error:1:17 diff --git a/src/lint/linter/__tests__/lessc/errors/extend-not-at-end.lint-test b/src/lint/linter/__tests__/lessc/errors/extend-not-at-end.lint-test deleted file mode 100644 index a4b80bce..00000000 --- a/src/lint/linter/__tests__/lessc/errors/extend-not-at-end.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a:extend(.b all).c { - property: red; -} -~~~~~~~~~~ -error:1:21 diff --git a/src/lint/linter/__tests__/lessc/errors/import-no-semi.lint-test b/src/lint/linter/__tests__/lessc/errors/import-no-semi.lint-test deleted file mode 100644 index 9c30c8ef..00000000 --- a/src/lint/linter/__tests__/lessc/errors/import-no-semi.lint-test +++ /dev/null @@ -1,3 +0,0 @@ -@import "this-statement-is-invalid.less" -~~~~~~~~~~ -error:1:1 diff --git a/src/lint/linter/__tests__/lessc/errors/javascript-error.lint-test b/src/lint/linter/__tests__/lessc/errors/javascript-error.lint-test index 6f5ec4cc..861cbea8 100644 --- a/src/lint/linter/__tests__/lessc/errors/javascript-error.lint-test +++ b/src/lint/linter/__tests__/lessc/errors/javascript-error.lint-test @@ -1,5 +1,5 @@ .scope { var: `this.foo.toJS()`; } ~~~~~~~~~~ -error:2:27 +error:2:10 diff --git a/src/lint/linter/__tests__/lessc/errors/javascript-undefined-var.lint-test b/src/lint/linter/__tests__/lessc/errors/javascript-undefined-var.lint-test index 80ba9e6e..c18f48b3 100644 --- a/src/lint/linter/__tests__/lessc/errors/javascript-undefined-var.lint-test +++ b/src/lint/linter/__tests__/lessc/errors/javascript-undefined-var.lint-test @@ -1,5 +1,5 @@ .scope { @a: `@{b}`; } ~~~~~~~~~~ -error:2:15 +error:2:9 diff --git a/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-1.lint-test b/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-1.lint-test deleted file mode 100644 index ebf11663..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-1.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -.mixin(@a : 4, @b : 3, @c: 2) { - will: fail; -} -.mixin-test { - .mixin(@a: 5; @b: 6, @c: 7); -} -~~~~~~~~~~ -error:5:30 diff --git a/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-2.lint-test b/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-2.lint-test deleted file mode 100644 index 675422fd..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixed-mixin-definition-args-2.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -.mixin(@a : 4, @b : 3, @c: 2) { - will: fail; -} -.mixin-test { - .mixin(@a: 5, @b: 6; @c: 7); -} -~~~~~~~~~~ -error:5:26 diff --git a/src/lint/linter/__tests__/lessc/errors/mixin-not-defined.lint-test b/src/lint/linter/__tests__/lessc/errors/mixin-not-defined.lint-test deleted file mode 100644 index ca9cce2a..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixin-not-defined.lint-test +++ /dev/null @@ -1,13 +0,0 @@ - -.error-is-further-on() { -} - -.pad-here-to-reproduce-error-in() { -} - -.the-import-subfolder-test() { -} - -.mixin-not-defined(); -~~~~~~~~~~ -error:11:1 diff --git a/src/lint/linter/__tests__/lessc/errors/mixin-not-matched.lint-test b/src/lint/linter/__tests__/lessc/errors/mixin-not-matched.lint-test deleted file mode 100644 index 43c47c8a..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixin-not-matched.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -@saxofon:trumpete; - -.mixin(saxofon) { -} - -.mixin(@saxofon); -~~~~~~~~~~ -error:6:1 diff --git a/src/lint/linter/__tests__/lessc/errors/mixin-not-matched2.lint-test b/src/lint/linter/__tests__/lessc/errors/mixin-not-matched2.lint-test deleted file mode 100644 index 5174462e..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixin-not-matched2.lint-test +++ /dev/null @@ -1,8 +0,0 @@ -@saxofon:trumpete; - -.mixin(@a, @b) { -} - -.mixin(@a: @saxofon); -~~~~~~~~~~ -error:6:1 diff --git a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-1.lint-test b/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-1.lint-test deleted file mode 100644 index 0d683d61..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-1.lint-test +++ /dev/null @@ -1,11 +0,0 @@ - -guard-default-func-conflict { - .m(@x, 1) {} - .m(@x, 2) when (default()) {} - .m(@x, 2) when (default()) {} - - .m(1, 1); - .m(1, 2); -} -~~~~~~~~~~ -error:8:5 diff --git a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-2.lint-test b/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-2.lint-test deleted file mode 100644 index b517a20f..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-2.lint-test +++ /dev/null @@ -1,11 +0,0 @@ - -guard-default-func-conflict { - .m(1) {} - .m(@x) when not(default()) {} - .m(@x) when (@x = 3) and (default()) {} - - .m(2); - .m(3); -} -~~~~~~~~~~ -error:8:5 diff --git a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-3.lint-test b/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-3.lint-test deleted file mode 100644 index 08d1e0e7..00000000 --- a/src/lint/linter/__tests__/lessc/errors/mixins-guards-default-func-3.lint-test +++ /dev/null @@ -1,11 +0,0 @@ - -guard-default-func-conflict { - .m(1) {} - .m(@x) when not(default()) {} - .m(@x) when not(default()) {} - - .m(1); - .m(2); -} -~~~~~~~~~~ -error:8:5 diff --git a/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors.lint-test b/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors.lint-test deleted file mode 100644 index cd69b31b..00000000 --- a/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -@ie8: true; -.a when (@ie8 = true), -.b { -} -~~~~~~~~~~ -error:3:1 diff --git a/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors2.lint-test b/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors2.lint-test deleted file mode 100644 index 2d898c8b..00000000 --- a/src/lint/linter/__tests__/lessc/errors/multiple-guards-on-css-selectors2.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -@ie8: true; -.a, -.b when (@ie8 = true) { -} -~~~~~~~~~~ -error:3:23 diff --git a/src/lint/linter/__tests__/lessc/errors/parens-error-2.lint-test b/src/lint/linter/__tests__/lessc/errors/parens-error-2.lint-test deleted file mode 100644 index f60fec3e..00000000 --- a/src/lint/linter/__tests__/lessc/errors/parens-error-2.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - something: (12 * (13 + 5 -23)); -} -~~~~~~~~~~ -error:2:28 diff --git a/src/lint/linter/__tests__/lessc/errors/parens-error-3.lint-test b/src/lint/linter/__tests__/lessc/errors/parens-error-3.lint-test deleted file mode 100644 index 31ff27f4..00000000 --- a/src/lint/linter/__tests__/lessc/errors/parens-error-3.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - something: (12 + (13 + 10 -23)); -} -~~~~~~~~~~ -error:2:29 diff --git a/src/lint/linter/__tests__/lessc/errors/parse-error-extra-parens.lint-test b/src/lint/linter/__tests__/lessc/errors/parse-error-extra-parens.lint-test deleted file mode 100644 index 19adfea4..00000000 --- a/src/lint/linter/__tests__/lessc/errors/parse-error-extra-parens.lint-test +++ /dev/null @@ -1,7 +0,0 @@ -@media (extra: bracket)) { - body { - background-color: #fff; - } -} -~~~~~~~~~~ -error:1:24 diff --git a/src/lint/linter/__tests__/lessc/errors/parse-error-missing-bracket.lint-test b/src/lint/linter/__tests__/lessc/errors/parse-error-missing-bracket.lint-test index f05e37df..933004b5 100644 --- a/src/lint/linter/__tests__/lessc/errors/parse-error-missing-bracket.lint-test +++ b/src/lint/linter/__tests__/lessc/errors/parse-error-missing-bracket.lint-test @@ -1,4 +1,4 @@ body { background-color: #fff; ~~~~~~~~~~ -error:1:6 +error:3:1 diff --git a/src/lint/linter/__tests__/lessc/errors/parse-error-missing-parens.lint-test b/src/lint/linter/__tests__/lessc/errors/parse-error-missing-parens.lint-test deleted file mode 100644 index 37767443..00000000 --- a/src/lint/linter/__tests__/lessc/errors/parse-error-missing-parens.lint-test +++ /dev/null @@ -1,7 +0,0 @@ -@media (missing: bracket { - body { - background-color: #fff; - } -} -~~~~~~~~~~ -error:1:8 diff --git a/src/lint/linter/__tests__/lessc/errors/percentage-missing-space.lint-test b/src/lint/linter/__tests__/lessc/errors/percentage-missing-space.lint-test deleted file mode 100644 index 14b40d83..00000000 --- a/src/lint/linter/__tests__/lessc/errors/percentage-missing-space.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - error: calc(1 %); -} -~~~~~~~~~~ -error:2:3 diff --git a/src/lint/linter/__tests__/lessc/errors/property-asterisk-only-name.lint-test b/src/lint/linter/__tests__/lessc/errors/property-asterisk-only-name.lint-test deleted file mode 100644 index 3951b422..00000000 --- a/src/lint/linter/__tests__/lessc/errors/property-asterisk-only-name.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -a { - * : 1; -} -~~~~~~~~~~ -error:2:5 diff --git a/src/lint/linter/__tests__/lessc/errors/property-ie5-hack.lint-test b/src/lint/linter/__tests__/lessc/errors/property-ie5-hack.lint-test deleted file mode 100644 index 937b76de..00000000 --- a/src/lint/linter/__tests__/lessc/errors/property-ie5-hack.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.test { - display/*/: block; /*sorry for IE5*/ -} -~~~~~~~~~~ -error:2:3 diff --git a/src/lint/linter/__tests__/lessc/errors/property-in-root.lint-test b/src/lint/linter/__tests__/lessc/errors/property-in-root.lint-test deleted file mode 100644 index 14ca67c5..00000000 --- a/src/lint/linter/__tests__/lessc/errors/property-in-root.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -.a() { - prop:1; -} -.a(); -~~~~~~~~~~ -error:2:3 diff --git a/src/lint/linter/__tests__/lessc/errors/property-in-root3.lint-test b/src/lint/linter/__tests__/lessc/errors/property-in-root3.lint-test deleted file mode 100644 index 6c8abbbd..00000000 --- a/src/lint/linter/__tests__/lessc/errors/property-in-root3.lint-test +++ /dev/null @@ -1,6 +0,0 @@ -prop:1; -.a { - prop:1; -} -~~~~~~~~~~ -error:1:1 diff --git a/src/lint/linter/__tests__/lessc/errors/property-interp-not-defined.lint-test b/src/lint/linter/__tests__/lessc/errors/property-interp-not-defined.lint-test deleted file mode 100644 index 72905439..00000000 --- a/src/lint/linter/__tests__/lessc/errors/property-interp-not-defined.lint-test +++ /dev/null @@ -1,3 +0,0 @@ -a {outline-@{color}: green} -~~~~~~~~~~ -error:1:12 diff --git a/src/lint/linter/__tests__/lessc/errors/svg-gradient1.lint-test b/src/lint/linter/__tests__/lessc/errors/svg-gradient1.lint-test deleted file mode 100644 index 2e67327d..00000000 --- a/src/lint/linter/__tests__/lessc/errors/svg-gradient1.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - a: svg-gradient(horizontal, black, white); -} -~~~~~~~~~~ -error:2:6 diff --git a/src/lint/linter/__tests__/lessc/errors/svg-gradient2.lint-test b/src/lint/linter/__tests__/lessc/errors/svg-gradient2.lint-test deleted file mode 100644 index 4065d8fe..00000000 --- a/src/lint/linter/__tests__/lessc/errors/svg-gradient2.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - a: svg-gradient(to bottom, black, orange, 45%, white); -} -~~~~~~~~~~ -error:2:6 diff --git a/src/lint/linter/__tests__/lessc/errors/svg-gradient3.lint-test b/src/lint/linter/__tests__/lessc/errors/svg-gradient3.lint-test deleted file mode 100644 index 8753adff..00000000 --- a/src/lint/linter/__tests__/lessc/errors/svg-gradient3.lint-test +++ /dev/null @@ -1,5 +0,0 @@ -.a { - a: svg-gradient(black, orange); -} -~~~~~~~~~~ -error:2:6 diff --git a/src/lint/linter/__tests__/lessc/extend-chaining.lint-test b/src/lint/linter/__tests__/lessc/extend-chaining.lint-test deleted file mode 100644 index cfcd5a51..00000000 --- a/src/lint/linter/__tests__/lessc/extend-chaining.lint-test +++ /dev/null @@ -1,92 +0,0 @@ -//very simple chaining -.a { - color: black; -} -.b:extend(.a) {} -.c:extend(.b) {} - -//very simple chaining, ordering not important - -.d:extend(.e) {} -.e:extend(.f) {} -.f { - color: black; -} - -//extend with all - -.g.h { - color: black; -} -.i.j:extend(.g all) { - color: white; -} -.k:extend(.i all) {} - -//extend multi-chaining - -.l { - color: black; -} -.m:extend(.l){} -.n:extend(.m){} -.o:extend(.n){} -.p:extend(.o){} -.q:extend(.p){} -.r:extend(.q){} -.s:extend(.r){} -.t:extend(.s){} - -// self referencing is ignored - -.u {color: black;} -.v.u.v:extend(.u all){} - -// circular reference because the new extend product will match the existing extend - -.w:extend(.w) {color: black;} -.v.w.v:extend(.w all){} - -// classic circular references - -.x:extend(.z) { - color: x; -} -.y:extend(.x) { - color: y; -} -.z:extend(.y) { - color: z; -} - -//very simple chaining, but with the extend inside the ruleset -.va { - color: black; -} -.vb { - &:extend(.va); - color: white; -} -.vc { - &:extend(.vb); -} - -// media queries - dont extend outside, do extend inside - -@media tv { - .ma:extend(.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v,.w,.x,.y,.z,.md) { - color: black; - } - .md { - color: white; - } - @media plasma { - .me, .mf { - &:extend(.mb,.md); - background: red; - } - } -} -.mb:extend(.ma) {}; -.mc:extend(.mb) {}; -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend-clearfix.lint-test b/src/lint/linter/__tests__/lessc/extend-clearfix.lint-test deleted file mode 100644 index 203a8b28..00000000 --- a/src/lint/linter/__tests__/lessc/extend-clearfix.lint-test +++ /dev/null @@ -1,20 +0,0 @@ -.clearfix { - *zoom: 1; - &:after { - content: ''; - display: block; - clear: both; - height: 0; - } -} - -.foo { - &:extend(.clearfix all); - color: red; -} - -.bar { - &:extend(.clearfix all); - color: blue; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend-exact.lint-test b/src/lint/linter/__tests__/lessc/extend-exact.lint-test deleted file mode 100644 index fc299531..00000000 --- a/src/lint/linter/__tests__/lessc/extend-exact.lint-test +++ /dev/null @@ -1,47 +0,0 @@ -.replace.replace, -.c.replace + .replace { - .replace, - .c { - prop: copy-paste-replace; - } -} -.rep_ace:extend(.replace.replace .replace) {} - -.a .b .c { - prop: not_effected; -} - -.a { - prop: is_effected; - .b { - prop: not_effected; - } - .b.c { - prop: not_effected; - } -} - -.c, .a { - .b, .a { - .a, .c { - prop: not_effected; - } - } -} - -.effected { - &:extend(.a); - &:extend(.b); - &:extend(.c); -} - -.e { - && { - prop: extend-double; - &:hover { - hover: not-extended; - } - } -} -.dbl:extend(.e.e) {} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend-media.lint-test b/src/lint/linter/__tests__/lessc/extend-media.lint-test deleted file mode 100644 index 374684b0..00000000 --- a/src/lint/linter/__tests__/lessc/extend-media.lint-test +++ /dev/null @@ -1,25 +0,0 @@ -.ext1 .ext2 { - background: black; -} - -@media tv { - .ext1 .ext3 { - color: white; - } - .tv-lowres :extend(.ext1 all) { - background: blue; - } - @media hires { - .ext1 .ext4 { - color: green; - } - .tv-hires :extend(.ext1 all) { - background: red; - } - } -} - -.all:extend(.ext1 all) { - -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend-nest.lint-test b/src/lint/linter/__tests__/lessc/extend-nest.lint-test deleted file mode 100644 index 3d8ce458..00000000 --- a/src/lint/linter/__tests__/lessc/extend-nest.lint-test +++ /dev/null @@ -1,66 +0,0 @@ -.sidebar { - width: 300px; - background: red; - - .box { - background: #FFF; - border: 1px solid #000; - margin: 10px 0; - } -} - -.sidebar2 { - &:extend(.sidebar all); - background: blue; -} - -.type1 { - .sidebar3 { - &:extend(.sidebar all); - background: green; - } -} - -.type2 { - &.sidebar4 { - &:extend(.sidebar all); - background: red; - } -} - -.button { - color: black; - &:hover { - color: white; - } -} -.submit { - &:extend(.button); - &:hover:extend(.button:hover) {} -} - -.nomatch { - &:hover:extend(.button :hover) {} -} - -.button2 { - :hover { - nested: white; - } -} -.button2 :hover { - notnested: black; -} - -.nomatch :extend(.button2:hover) {} - -.amp-test-a, -.amp-test-b { - .amp-test-c &.amp-test-d&.amp-test-e { - .amp-test-f&+&.amp-test-g:extend(.amp-test-h) {} - } -} -.amp-test-h { - test: extended by masses of selectors; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend-selector.lint-test b/src/lint/linter/__tests__/lessc/extend-selector.lint-test deleted file mode 100644 index 853ac67b..00000000 --- a/src/lint/linter/__tests__/lessc/extend-selector.lint-test +++ /dev/null @@ -1,100 +0,0 @@ -.error { - border: 1px #f00; - background: #fdd; -} -.error.intrusion { - font-size: 1.3em; - font-weight: bold; -} -.intrusion .error { - display: none; -} -.badError:extend(.error all) { - border-width: 3px; -} - -.foo .bar, .foo .baz { - display: none; -} - -.ext1 .ext2 - :extend(.foo all) { -} - -.ext3:extend(.foo all), -.ext4:extend(.foo all) { -} - -div.ext5, -.ext6 > .ext5 { - width: 100px; -} - -.should-not-exist-in-output, -.ext7:extend(.ext5 all) { -} - -.ext { - test: 1; -} -// same as -// .a .c:extend(.ext all) -// .b .c:extend(.ext all) -// .a .c .d -// .b .c .d -.a, .b { - test: 2; - .c:extend(.ext all) { - test: 3; - .d { - test: 4; - } - } -} - -.replace.replace, -.c.replace + .replace { - .replace, - .c { - prop: copy-paste-replace; - } -} -.rep_ace:extend(.replace all) {} - -.attributes { - [data="test"] { - extend: attributes; - } - .attribute-test { - &:extend([data="test"] all); - } - [data] { - extend: attributes2; - } - .attribute-test2 { - &:extend([data] all); //you could argue it should match [data="test"]... not for now though... - } - @attr-data: "test3"; - [data=@{attr-data}] { - extend: attributes2; - } - .attribute-test { - &:extend([data="test3"] all); - } -} - -.header { - .header-nav { - background: red; - &:before { - background: blue; - } - } -} - -.footer { - .footer-nav { - &:extend( .header .header-nav all ); - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/extend.lint-test b/src/lint/linter/__tests__/lessc/extend.lint-test deleted file mode 100644 index fcecb0ed..00000000 --- a/src/lint/linter/__tests__/lessc/extend.lint-test +++ /dev/null @@ -1,82 +0,0 @@ -.error { - border: 1px #f00; - background: #fdd; -} -.error.intrusion { - font-size: 1.3em; - font-weight: bold; -} -.intrusion .error { - display: none; -} -.badError { - &:extend(.error all); - border-width: 3px; -} - -.foo .bar, .foo .baz { - display: none; -} - -.ext1 .ext2 { - &:extend(.foo all); -} - -.ext3, -.ext4 { - &:extend(.foo all); - &:extend(.bar all); -} - -div.ext5, -.ext6 > .ext5 { - width: 100px; -} - -.ext7 { - &:extend(.ext5 all); -} - -.ext8.ext9 { - result: add-foo; -} -.ext8 .ext9, -.ext8 + .ext9, -.ext8 > .ext9 { - result: bar-matched; -} -.ext8.nomatch { - result: none; -} -.ext8 { - .ext9 { - result: match-nested-bar; - } -} -.ext8 { - &.ext9 { - result: match-nested-foo; - } -} - -.fuu:extend(.ext8.ext9 all) {} -.buu:extend(.ext8 .ext9 all) {} -.zap:extend(.ext8 + .ext9 all) {} -.zoo:extend(.ext8 > .ext9 all) {} - -.aa { - color: black; - .dd { - background: red; - } -} -.bb { - background: red; - .bb { - color: black; - } -} -.cc:extend(.aa,.bb) {} -.ee:extend(.dd all,.bb) {} -.ff:extend(.dd,.bb all) {} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/ie-filters.lint-test b/src/lint/linter/__tests__/lessc/ie-filters.lint-test deleted file mode 100644 index 07b3d074..00000000 --- a/src/lint/linter/__tests__/lessc/ie-filters.lint-test +++ /dev/null @@ -1,16 +0,0 @@ -@fat: 0; -@cloudhead: "#000000"; - -.nav { - filter: progid:DXImageTransform.Microsoft.Alpha(opacity = 20); - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@fat); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#333333", endColorstr=@cloudhead, GradientType=@fat); -} -.evalTest(@arg) { - filter: progid:DXImageTransform.Microsoft.Alpha(opacity=@arg); -} -.evalTest1 { - .evalTest(30); - .evalTest(5); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/lazy-eval.lint-test b/src/lint/linter/__tests__/lessc/lazy-eval.lint-test deleted file mode 100644 index a1e7f530..00000000 --- a/src/lint/linter/__tests__/lessc/lazy-eval.lint-test +++ /dev/null @@ -1,7 +0,0 @@ -@var: @a; -@a: 100%; - -.lazy-eval { - width: @var; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/merge.lint-test b/src/lint/linter/__tests__/lessc/merge.lint-test deleted file mode 100644 index 26da5731..00000000 --- a/src/lint/linter/__tests__/lessc/merge.lint-test +++ /dev/null @@ -1,60 +0,0 @@ -.first-transform() { - transform+: rotate(90deg), skew(30deg); -} -.second-transform() { - transform+: scale(2,4); -} -.third-transform() { - transform: scaleX(45deg); -} -.fourth-transform() { - transform+: scaleX(45deg); -} -.fifth-transform() { - transform+: scale(2,4) !important; -} -.first-background() { - background+: url(data://img1.png); -} -.second-background() { - background+: url(data://img2.png); -} - -.test1 { - // Can merge values - .first-transform(); - .second-transform(); -} -.test2 { - // Wont merge values without +: merge directive, for backwards compatibility with css - .first-transform(); - .third-transform(); -} -.test3 { - // Wont merge values from two sources with different properties - .fourth-transform(); - .first-background(); -} -.test4 { - // Wont merge values from sources that merked as !important, for backwards compatibility with css - .first-transform(); - .fifth-transform(); -} -.test5 { - // Wont merge values from mixins that merked as !important, for backwards compatibility with css - .first-transform(); - .second-transform() !important; -} -.test6 { - // Ignores !merge if no peers found - .second-transform(); -} - -.test-interleaved { - transform+: t1; - background+: b1; - transform+: t2; - background+: b2, b3; - transform+: t3; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-args.lint-test b/src/lint/linter/__tests__/lessc/mixins-args.lint-test deleted file mode 100644 index 7bb2d73e..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-args.lint-test +++ /dev/null @@ -1,216 +0,0 @@ -.mixin (@a: 1px, @b: 50%) { - width: (@a * 5); - height: (@b - 1%); -} - -.mixina (@style, @width, @color: black) { - border: @width @style @color; -} - -.mixiny -(@a: 0, @b: 0) { - margin: @a; - padding: @b; -} - -.hidden() { - color: transparent; // asd -} - -#hidden { - .hidden; -} - -#hidden1 { - .hidden(); -} - -.two-args { - color: blue; - .mixin(2px, 100%); - .mixina(dotted, 2px); -} - -.one-arg { - .mixin(3px); -} - -.no-parens { - .mixin; -} - -.no-args { - .mixin(); -} - -.var-args { - @var: 9; - .mixin(@var, (@var * 2)); -} - -.multi-mix { - .mixin(2px, 30%); - .mixiny(4, 5); -} - -.maxa(@arg1: 10, @arg2: #f00) { - padding: (@arg1 * 2px); - color: @arg2; -} - -body { - .maxa(15); -} - -@glob: 5; -.global-mixin(@a:2) { - width: (@glob + @a); -} - -.scope-mix { - .global-mixin(3); -} - -.nested-ruleset (@width: 200px) { - width: @width; - .column { margin: @width; } -} -.content { - .nested-ruleset(600px); -} - -// - -.same-var-name2(@radius) { - radius: @radius; -} -.same-var-name(@radius) { - .same-var-name2(@radius); -} -#same-var-name { - .same-var-name(5px); -} - -// - -.var-inside () { - @var: 10px; - width: @var; -} -#var-inside { .var-inside; } - -.mixin-arguments (@width: 0px, ...) { - border: @arguments; - width: @width; -} - -.arguments { - .mixin-arguments(1px, solid, black); -} -.arguments2 { - .mixin-arguments(); -} -.arguments3 { - .mixin-arguments; -} - -.mixin-arguments2 (@width, @rest...) { - border: @arguments; - rest: @rest; - width: @width; -} -.arguments4 { - .mixin-arguments2(0, 1, 2, 3, 4); -} - -// Edge cases - -.edge-case { - .mixin-arguments("{"); -} - -// Division vs. Literal Slash -.border-radius(@r: 2px/5px) { - border-radius: @r; -} -.slash-vs-math { - .border-radius(); - .border-radius(5px/10px); - .border-radius((3px * 2)); -} -// semi-colon vs comma for delimiting - -.mixin-takes-one(@a) { - one: @a; -} - -.mixin-takes-two(@a; @b) { - one: @a; - two: @b; -} - -.comma-vs-semi-colon { - .mixin-takes-two(@a : a; @b : b, c); - .mixin-takes-two(@a : d, e; @b : f); - .mixin-takes-one(@a: g); - .mixin-takes-one(@a : h;); - .mixin-takes-one(i); - .mixin-takes-one(j;); - .mixin-takes-two(k, l); - .mixin-takes-one(m, n;); - .mixin-takes-two(o, p; q); - .mixin-takes-two(r, s; t;); -} - -.mixin-conflict(@a:defA, @b:defB, @c:defC) { - three: @a, @b, @c; -} - -.mixin-conflict(@a:defA, @b:defB, @c:defC, @d:defD) { - four: @a, @b, @c, @d; -} - -#named-conflict { - .mixin-conflict(11, 12, 13, @a:a); - .mixin-conflict(@a:a, 21, 22, 23); -} -@a: 3px; -.mixin-default-arg(@a: 1px, @b: @a, @c: @b) { - defaults: 1px 1px 1px; - defaults: 2px 2px 2px; -} - -.test-mixin-default-arg { - .mixin-default-arg(); - .mixin-default-arg(2px); -} - -.mixin-comma-default1(@color; @padding; @margin: 2, 2, 2, 2) { - margin: @margin; -} -.selector { - .mixin-comma-default1(#33acfe; 4); -} -.mixin-comma-default2(@margin: 2, 2, 2, 2;) { - margin: @margin; -} -.selector2 { - .mixin-comma-default2(); -} -.mixin-comma-default3(@margin: 2, 2, 2, 2) { - margin: @margin; -} -.selector3 { - .mixin-comma-default3(4,2,2,2); -} - -.test-calling-one-arg-mixin(@a) { -} - -.test-calling-one-arg-mixin(@a, @b, @rest...) { -} - -div { - .test-calling-one-arg-mixin(1); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-closure.lint-test b/src/lint/linter/__tests__/lessc/mixins-closure.lint-test deleted file mode 100644 index 7c8bb1e1..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-closure.lint-test +++ /dev/null @@ -1,27 +0,0 @@ -.scope { - @var: 99px; - .mixin () { - width: @var; - } -} - -.class { - .scope > .mixin; -} - -.overwrite { - @var: 0px; - .scope > .mixin; -} - -.nested { - @var: 5px; - .mixin () { - width: @var; - } - .class { - @var: 10px; - .mixin; - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-guards-default-func.lint-test b/src/lint/linter/__tests__/lessc/mixins-guards-default-func.lint-test deleted file mode 100644 index f287f790..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-guards-default-func.lint-test +++ /dev/null @@ -1,196 +0,0 @@ - -// basics: - -guard-default-basic-1 { - .m(1) {case: 1} - .m(@x) when (default()) {default: @x} - - &-1 {.m(1)} - &-2 {.m(2)} -} - -guard-default-basic-2 { - .m(1) {case: 1} - .m(2) {case: 2} - .m(3) {case: 3} - .m(@x) when (default()) {default: @x} - - &-0 {.m(0)} - &-2 {.m(2)} -} - -guard-default-basic-3 { - .m(@x) when (@x = 1) {case: 1} - .m(2) {case: 2} - .m(@x) when (@x = 3) {case: 3} - .m(@x) when (default()) {default: @x} - - &-0 {.m(0)} - &-2 {.m(2)} - &-3 {.m(3)} -} - -guard-default-definition-order { - .m(@x) when (default()) {default: @x} - .m(@x) when (@x = 1) {case: 1} - .m(2) {case: 2} - .m(@x) when (@x = 3) {case: 3} - - &-0 {.m(0)} - &-2 {.m(2)} - &-2 {.m(3)} -} - -// out of guard: - -guard-default-out-of-guard { - .m(1) {case-1: 1} - .m(@x: default()) when (default()) {default: @x} - - &-0 { - case-0: default(); - .m(1); - .m(2); - case-2: default(); - } - &-1 {.m(default())} - &-2 {.m()} -} - -// expressions: - -guard-default-expr-not { - .m(1) {case: 1} - .m(@x) when not(default()) {default: @x} - - &-1 {.m(1)} - &-2 {.m(2)} -} - -guard-default-expr-eq { - .m(@x) when (@x = true) {case: @x} - .m(@x) when (@x = false) {case: @x} - .m(@x) when (@x = default()) {default: @x} - - &-true {.m(true)} - &-false {.m(false)} -} - -guard-default-expr-or { - .m(1) {case: 1} - .m(2) {case: 2} - .m(@x) when (default()), (@x = 2) {default: @x} - - &-1 {.m(1)} - &-2 {.m(2)} - &-3 {.m(3)} -} - -guard-default-expr-and { - .m(1) {case: 1} - .m(2) {case: 2} - .m(@x) when (default()) and (@x = 3) {default: @x} - - &-1 {.m(1)} - &-2 {.m(2)} - &-3 {.m(3)} - &-4 {.m(4)} -} - -guard-default-expr-always { - .m(1) {case: 1} - .m(@x) when (default()), not(default()) {default: @x} // always match - - &-1 {.m(1)} - &-2 {.m(2)} -} - -guard-default-expr-never { - .m(1) {case: 1} - .m(@x) when (default()) and not(default()) {default: @x} // never match - - &-1 {.m(1)} - &-2 {.m(2)} -} - - -// not conflicting multiple default() uses: - -guard-default-multi-1 { - .m(0) {case: 0} - .m(@x) when (default()) {default-1: @x} - .m(2) when (default()) {default-2: @x} - - &-0 {.m(0)} - &-1 {.m(1)} -} - -guard-default-multi-2 { - .m(1, @x) when (default()) {default-1: @x} - .m(2, @x) when (default()) {default-2: @x} - .m(@x, yes) when (default()) {default-3: @x} - - &-1 {.m(1, no)} - &-2 {.m(2, no)} - &-3 {.m(3, yes)} -} - -guard-default-multi-3 { - .m(red) {case-1: darkred} - .m(blue) {case-2: darkblue} - .m(@x) when (iscolor(@x)) and (default()) {default-color: @x} - .m('foo') {case-1: I am 'foo'} - .m('bar') {case-2: I am 'bar'} - .m(@x) when (isstring(@x)) and (default()) {default-string: I am @x} - - &-blue {.m(blue)} - &-green {.m(green)} - &-foo {.m('foo')} - &-baz {.m('baz')} -} - -guard-default-multi-4 { - .m(@x) when (default()), not(default()) {always: @x} - .m(@x) when (default()) and not(default()) {never: @x} - .m(2) {case: 2} - - .m(1); - .m(2); -} - -guard-default-not-ambiguos-2 { - .m(@x) {case: 1} - .m(@x) when (default()) {default: @x} - .m(@x) when not(default()) {not-default: @x} - - .m(2); -} - -guard-default-not-ambiguos-3 { - .m(@x) {case: 1} - .m(@x) when not(default()) {not-default-1: @x} - .m(@x) when not(default()) {not-default-2: @x} - - .m(2); -} - -// default & scope - -guard-default-scopes { - .s1() {.m(@v) {1: no condition}} - .s2() {.m(@v) when (@v) {2: when true}} - .s3() {.m(@v) when (default()) {3: when default}} - - &-3 { - .s2(); - .s3(); - .m(false); - } - - &-1 { - .s1(); - .s3(); - .m(false); - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-guards.lint-test b/src/lint/linter/__tests__/lessc/mixins-guards.lint-test deleted file mode 100644 index d1e63ae6..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-guards.lint-test +++ /dev/null @@ -1,154 +0,0 @@ - -// Stacking, functions.. - -.light (@a) when (lightness(@a) > 50%) { - color: white; -} -.light (@a) when (lightness(@a) < 50%) { - color: black; -} -.light (@a) { - margin: 1px; -} - -.light1 { .light(#ddd) } -.light2 { .light(#444) } - -// Arguments against each other - -.max (@a, @b) when (@a > @b) { - width: @a; -} -.max (@a, @b) when (@a < @b) { - width: @b; -} - -.max1 { .max(3, 6) } -.max2 { .max(8, 1) } - -// Globals inside guards - -@g: auto; - -.glob (@a) when (@a = @g) { - margin: @a @g; -} -.glob1 { .glob(auto) } - -// Other operators - -.ops (@a) when (@a >= 0) { - height: gt-or-eq; -} -.ops (@a) when (@a =< 0) { - height: lt-or-eq; -} -.ops (@a) when (@a <= 0) { - height: lt-or-eq-alias; -} -.ops (@a) when not(@a = 0) { - height: not-eq; -} -.ops1 { .ops(0) } -.ops2 { .ops(1) } -.ops3 { .ops(-1) } - -// Scope and default values - -@a: auto; - -.default (@a: inherit) when (@a = inherit) { - content: default; -} -.default1 { .default } - -// true & false keywords -.test (@a) when (@a) { - content: "true."; -} -.test (@a) when not (@a) { - content: "false."; -} - -.test1 { .test(true) } -.test2 { .test(false) } -.test3 { .test(1) } -.test4 { .test(boo) } -.test5 { .test("true") } - -// Boolean expressions - -.bool () when (true) and (false) { content: true and false } // FALSE -.bool () when (true) and (true) { content: true and true } // TRUE -.bool () when (true) { content: true } // TRUE -.bool () when (false) and (false) { content: true } // FALSE -.bool () when (false), (true) { content: false, true } // TRUE -.bool () when (false) and (true) and (true), (true) { content: false and true and true, true } // TRUE -.bool () when (true) and (true) and (false), (false) { content: true and true and false, false } // FALSE -.bool () when (false), (true) and (true) { content: false, true and true } // TRUE -.bool () when (false), (false), (true) { content: false, false, true } // TRUE -.bool () when (false), (false) and (true), (false) { content: false, false and true, false } // FALSE -.bool () when (false), (true) and (true) and (true), (false) { content: false, true and true and true, false } // TRUE -.bool () when not (false) { content: not false } -.bool () when not (true) and not (false) { content: not true and not false } -.bool () when not (true) and not (true) { content: not true and not true } -.bool () when not (false) and (false), not (false) { content: not false and false, not false } - -.bool1 { .bool } - -.equality-unit-test(@num) when (@num = 1%) { - test: fail; -} -.equality-unit-test(@num) when (@num = 2) { - test: pass; -} -.equality-units { - .equality-unit-test(1px); - .equality-unit-test(2px); -} - -.colorguard(@col) when (@col = red) { content: is @col; } -.colorguard(@col) when not (blue = @col) { content: is not blue its @col; } -.colorguard(@col) {} -.colorguardtest { - .colorguard(red); - .colorguard(blue); - .colorguard(purple); -} - -.stringguard(@str) when (@str = "theme1") { content: is theme1; } -.stringguard(@str) when not ("theme2" = @str) { content: is not theme2; } -.stringguard(@str) when (~"theme1" = @str) { content: is theme1 no quotes; } -.stringguard(@str) {} -.stringguardtest { - .stringguard("theme1"); - .stringguard("theme2"); - .stringguard(theme1); -} - -.mixin(...) { - catch:all; -} -.mixin(@var) when (@var=4) { - declare: 4; -} -.mixin(@var) when (@var=4px) { - declare: 4px; -} -#tryNumberPx { - .mixin(4px); -} - -.lock-mixin(@a) { - .inner-locked-mixin(@x: @a) when (@a = 1) { - a: @a; - x: @x; - } -} -.call-lock-mixin { - .lock-mixin(1); - .call-inner-lock-mixin { - .inner-locked-mixin(); - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-important.lint-test b/src/lint/linter/__tests__/lessc/mixins-important.lint-test deleted file mode 100644 index 3bbf2647..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-important.lint-test +++ /dev/null @@ -1,26 +0,0 @@ -.submixin(@a) { - border-width: @a; -} -.mixin (9) { - border: 9 !important; -} -.mixin (@a: 0) { - border: @a; - boxer: @a; - .inner { - test: @a; - } - // comment - .submixin(@a); -} - -.class { - .mixin(1); - .mixin(2) !important; - .mixin(3); - .mixin(4) !important; - .mixin(5); - .mixin !important; - .mixin(9); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-interpolated.lint-test b/src/lint/linter/__tests__/lessc/mixins-interpolated.lint-test deleted file mode 100644 index a2e76eb8..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-interpolated.lint-test +++ /dev/null @@ -1,70 +0,0 @@ - -@a1: foo; -@a2: ~".foo"; -@a4: ~"#foo"; - -.@{a1} { - a: 1; -} - -@{a2} { - a: 2; -} - -#@{a1} { - a: 3; -} - -@{a4} { - a: 4; -} - -mi-test-a { - .foo; - #foo; -} - -.b .bb { - &.@{a1}-xxx .yyy-@{a1}@{a4} { - & @{a2}.bbb { - b: 1; - } - } -} - -mi-test-b { - .b.bb.foo-xxx.yyy-foo#foo.foo.bbb; -} - -@c1: @a1; -@c2: bar; -@c3: baz; - -#@{c1}-foo { - > .@{c2} { - .@{c3} { - c: c; - } - } -} - -mi-test-c { - &-1 {#foo-foo;} - &-2 {#foo-foo > .bar;} - &-3 {#foo-foo > .bar.baz;} -} - -.Person(@name, @gender_) { - .@{name} { - @gender: @gender_; - .sayGender() { - gender: @gender; - } - } -} - -mi-test-d { - .Person(person, "Male"); - .person.sayGender(); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-named-args.lint-test b/src/lint/linter/__tests__/lessc/mixins-named-args.lint-test deleted file mode 100644 index 66d3ab50..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-named-args.lint-test +++ /dev/null @@ -1,37 +0,0 @@ -.mixin (@a: 1px, @b: 50%) { - width: (@a * 5); - height: (@b - 1%); - args: @arguments; -} -.mixin (@a: 1px, @b: 50%) when (@b > 75%){ - text-align: center; -} - -.named-arg { - color: blue; - .mixin(@b: 100%); -} - -.class { - @var: 20%; - .mixin(@b: @var); -} - -.all-args-wrong-args { - .mixin(@b: 10%, @a: 2px); -} - -.mixin2 (@a: 1px, @b: 50%, @c: 50) { - width: (@a * 5); - height: (@b - 1%); - color: (#000000 + @c); -} - -.named-args2 { - .mixin2(3px, @c: 100); -} - -.named-args3 { - .mixin2(@b: 30%, @c: #123456); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-nested.lint-test b/src/lint/linter/__tests__/lessc/mixins-nested.lint-test deleted file mode 100644 index 50446215..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-nested.lint-test +++ /dev/null @@ -1,23 +0,0 @@ -.mix-inner (@var) { - border-width: @var; -} - -.mix (@a: 10) { - .inner { - height: (@a * 10); - - .innest { - width: @a; - .mix-inner((@a * 2)); - } - } -} - -.class { - .mix(30); -} - -.class2 { - .mix(60); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/mixins-pattern.lint-test b/src/lint/linter/__tests__/lessc/mixins-pattern.lint-test deleted file mode 100644 index 76d3f7bc..00000000 --- a/src/lint/linter/__tests__/lessc/mixins-pattern.lint-test +++ /dev/null @@ -1,103 +0,0 @@ -.mixin (...) { - variadic: true; -} -.mixin (@a...) { - named-variadic: true; -} -.mixin () { - zero: 0; -} -.mixin (@a: 1px) { - one: 1; -} -.mixin (@a) { - one-req: 1; -} -.mixin (@a: 1px, @b: 2px) { - two: 2; -} - -.mixin (@a, @b, @c) { - three-req: 3; -} - -.mixin (@a: 1px, @b: 2px, @c: 3px) { - three: 3; -} - -.zero { - .mixin(); -} - -.one { - .mixin(1); -} - -.two { - .mixin(1, 2); -} - -.three { - .mixin(1, 2, 3); -} - -// - -.mixout ('left') { - left: 1; -} - -.mixout ('right') { - right: 1; -} - -.left { - .mixout('left'); -} -.right { - .mixout('right'); -} - -// - -.border (@side, @width) { - color: black; - .border-side(@side, @width); -} -.border-side (left, @w) { - border-left: @w; -} -.border-side (right, @w) { - border-right: @w; -} - -.border-right { - .border(right, 4px); -} -.border-left { - .border(left, 4px); -} - -// - - -.border-radius (@r) { - both: (@r * 10); -} -.border-radius (@r, left) { - left: @r; -} -.border-radius (@r, right) { - right: @r; -} - -.only-right { - .border-radius(33, right); -} -.only-left { - .border-radius(33, left); -} -.left-right { - .border-radius(33); -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/property-name-interp.lint-test b/src/lint/linter/__tests__/lessc/property-name-interp.lint-test deleted file mode 100644 index e34c27b4..00000000 --- a/src/lint/linter/__tests__/lessc/property-name-interp.lint-test +++ /dev/null @@ -1,42 +0,0 @@ - -test { - @prefix: ufo-; - @a: border; - @bb: top; - @c_c: left; - @d-d4: radius; - @-: -; - - @{a}: 0; - @{prefix}width: 50%; - *-z-@{a} :1px dashed blue; - -www-@{a}-@{bb}: 2px; - @{d-d4}-is-not-a-@{a}:true; - @{a}-@{bb}-@{c_c}-@{d-d4} : 2em; - @{a}@{-}@{bb}@{-}red@{-}@{d-d4}-: 3pt; - - .mixin(mixer); - .merge(ish, base); -} - -@global: global; - -.mixin(@arg) { - @local: local; - @{global}-@{local}-@{arg}-property: strong; -} - -.merge(@p, @v) { - &-merge { - @prefix: pre; - @suffix: ish; - @{prefix}-property-ish+ :high; - pre-property-@{suffix} +: middle; - @{prefix}-property-@{suffix}+: low; - @{prefix}-property-@{p} + : @v; - - @subterfuge: ~'+'; - pre-property-ish@{subterfuge}: nice try dude; - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/rulesets.lint-test b/src/lint/linter/__tests__/lessc/rulesets.lint-test deleted file mode 100644 index 762b74c9..00000000 --- a/src/lint/linter/__tests__/lessc/rulesets.lint-test +++ /dev/null @@ -1,31 +0,0 @@ -#first > .one { - > #second .two > #deux { - width: 50%; - #third { - &:focus { - color: black; - #fifth { - > #sixth { - .seventh #eighth { - + #ninth { - color: purple; - } - } - } - } - } - height: 100%; - } - #fourth, #five, #six { - color: #110000; - .seven, .eight > #nine { - border: 1px solid black; - } - #ten { - color: red; - } - } - } - font-size: 2em; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/scope.lint-test b/src/lint/linter/__tests__/lessc/scope.lint-test deleted file mode 100644 index 466a301a..00000000 --- a/src/lint/linter/__tests__/lessc/scope.lint-test +++ /dev/null @@ -1,105 +0,0 @@ -@x: red; -@x: blue; -@z: transparent; -@mix: none; - -.mixin { - @mix: #989; -} -@mix: blue; -.tiny-scope { - color: @mix; // #989 - .mixin; -} - -.scope1 { - @y: orange; - @z: black; - color: @x; // blue - border-color: @z; // black - .hidden { - @x: #131313; - } - .scope2 { - @y: red; - color: @x; // blue - .scope3 { - @local: white; - color: @y; // red - border-color: @z; // black - background-color: @local; // white - } - } -} - -#namespace { - .scoped_mixin() { - @local-will-be-made-global: green; - .scope { - scoped-val: @local-will-be-made-global; - } - } -} - -#namespace > .scoped_mixin(); - -.setHeight(@h) { @height: 1024px; } -.useHeightInMixinCall(@h) { .useHeightInMixinCall { mixin-height: @h; } } -@mainHeight: 50%; -.setHeight(@mainHeight); -.heightIsSet { height: @height; } -.useHeightInMixinCall(@height); - -.importRuleset() { - .imported { - exists: true; - } -} -.importRuleset(); -.testImported { - .imported; -} - -@parameterDefault: 'top level'; -@anotherVariable: 'top level'; -//mixin uses top-level variables -.mixinNoParam(@parameter: @parameterDefault) when (@parameter = 'top level') { - default: @parameter; - scope: @anotherVariable; - sub-scope-only: @subScopeOnly; -} - -#allAreUsedHere { - //redefine top-level variables in different scope - @parameterDefault: 'inside'; - @anotherVariable: 'inside'; - @subScopeOnly: 'inside'; - //use the mixin - .mixinNoParam(); -} -#parentSelectorScope { - @col: white; - & { - @col: black; - } - prop: @col; - & { - @col: black; - } -} -.test-empty-mixin() { -} -#parentSelectorScopeMixins { - & { - .test-empty-mixin() { - should: never seee 1; - } - } - .test-empty-mixin(); - & { - .test-empty-mixin() { - should: never seee 2; - } - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/strings.lint-test b/src/lint/linter/__tests__/lessc/strings.lint-test deleted file mode 100644 index f0263674..00000000 --- a/src/lint/linter/__tests__/lessc/strings.lint-test +++ /dev/null @@ -1,58 +0,0 @@ -#strings { - background-image: url("http://son-of-a-banana.com"); - quotes: "~" "~"; - content: "#*%:&^,)!.(~*})"; - empty: ""; - brackets: "{" "}"; - escapes: "\"hello\" \\world"; - escapes2: "\"llo"; -} -#comments { - content: "/* hello */ // not-so-secret"; -} -#single-quote { - quotes: "'" "'"; - content: '""#!&""'; - empty: ''; - semi-colon: ';'; -} -#escaped { - filter: ~"DX.Transform.MS.BS.filter(opacity=50)"; -} -#one-line { image: url(http://tooks.com) } -#crazy { image: url(http://), "}", url("http://}") } -#interpolation { - @var: '/dev'; - url: "http://lesscss.org@{var}/image.jpg"; - - @var2: 256; - url2: "http://lesscss.org/image-@{var2}.jpg"; - - @var3: #456; - url3: "http://lesscss.org@{var3}"; - - @var4: hello; - url4: "http://lesscss.org/@{var4}"; - - @var5: 54.4px; - url5: "http://lesscss.org/@{var5}"; -} - -// multiple calls with string interpolation - -.mix-mul (@a: green) { - color: ~"@{a}"; -} -.mix-mul-class { - .mix-mul(blue); - .mix-mul(red); - .mix-mul(black); - .mix-mul(orange); -} - -@test: Arial, Verdana, San-Serif; -.watermark { - @family: ~"Univers, @{test}"; - family: @family; -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/variables-in-at-rules.lint-test b/src/lint/linter/__tests__/lessc/variables-in-at-rules.lint-test deleted file mode 100644 index 9bb81b8e..00000000 --- a/src/lint/linter/__tests__/lessc/variables-in-at-rules.lint-test +++ /dev/null @@ -1,21 +0,0 @@ - -@Eight: 8; -@charset "UTF-@{Eight}"; - -@ns: less; -@namespace @ns "http://lesscss.org"; - -@name: enlarger; -@keyframes @name { - from {font-size: 12px;} - to {font-size: 15px;} -} - -.m(reducer); -.m(@name) { - @-webkit-keyframes @name { - from {font-size: 13px;} - to {font-size: 10px;} - } -} -~~~~~~~~~~ diff --git a/src/lint/linter/__tests__/lessc/whitespace.lint-test b/src/lint/linter/__tests__/lessc/whitespace.lint-test deleted file mode 100644 index 04883a00..00000000 --- a/src/lint/linter/__tests__/lessc/whitespace.lint-test +++ /dev/null @@ -1,43 +0,0 @@ -.whitespace - { color: white; } - -.whitespace -{ - color: white; -} - .whitespace -{ color: white; } - -.whitespace{color:white;} -.whitespace { color : white ; } - -.white, -.space, -.mania -{ color: white; } - -.no-semi-column { color: white } -.no-semi-column { - color: white; - white-space: pre -} -.no-semi-column {border: 2px solid white} -.newlines { - background: the, - great, - wall; - border: 2px - solid - black; -} -.empty { - -} -.sel -.newline_ws .tab_ws { -color: -white; -background-position: 45 --23; -} -~~~~~~~~~~