mirror of
https://github.com/less/less.js.git
synced 2026-01-13 09:18:03 -05:00
* Migrate Less to use valid CSS * Re-organize test structure * Lots of test refactoring * More test updates * Add restructured tests * WIP Signed-off-by: Matthew Dean <matthew-dean@users.noreply.github.com> * More fixes to tests * More test fixes * All tests passing * WIP fix tests * Finished fixing browser tests * Improve test coverage * Add debug tests * Add back debug tests to show equal test coverage * Fix browser tests * More test coverage * Fix sourcemap absolute path for CI * More source map normalization for Windows * Fix source map normalization * Another attempted fix for Windows --------- Signed-off-by: Matthew Dean <matthew-dean@users.noreply.github.com>
144 lines
3.5 KiB
Plaintext
144 lines
3.5 KiB
Plaintext
// importing plugin globally
|
|
@plugin "../../plugin/plugin-global";
|
|
|
|
// transitively include plugins from importing another sheet
|
|
@import "../../plugin/plugin-transitive";
|
|
|
|
|
|
// `test-global` function should be reachable
|
|
// `test-local` function should not be reachable
|
|
// `test-shadow` function should return global version
|
|
.class {
|
|
trans : test-transitive();
|
|
global : test-global();
|
|
local : test-local();
|
|
shadow : test-shadow();
|
|
|
|
// `test-global` function should propagate and be reachable
|
|
// `test-local` function should be reachable
|
|
// `test-shadow` function should return local version, shadowing global version
|
|
.local {
|
|
@plugin (option) "../../plugin/plugin-local";
|
|
global : test-global();
|
|
local : test-local();
|
|
shadow : test-shadow();
|
|
}
|
|
}
|
|
|
|
// calling a mixin or detached ruleset should not bubble local plugins
|
|
// imported inside either into the parent scope.
|
|
.mixin() {
|
|
@plugin "../../plugin/plugin-local";
|
|
mixin-local : test-local();
|
|
mixin-global : test-global();
|
|
mixin-shadow : test-shadow();
|
|
}
|
|
@ruleset : {
|
|
@plugin "../../plugin/plugin-local";
|
|
ruleset-local : test-local();
|
|
ruleset-global : test-global();
|
|
ruleset-shadow : test-shadow();
|
|
};
|
|
#ns {
|
|
@plugin (test=test) "../../plugin/plugin-local";
|
|
.mixin() {
|
|
ns-mixin-global : test-global();
|
|
ns-mixin-local : test-local();
|
|
ns-mixin-shadow : test-shadow();
|
|
}
|
|
}
|
|
.class {
|
|
#ns > .mixin();
|
|
.mixin();
|
|
@ruleset();
|
|
class-local : test-local();
|
|
}
|
|
|
|
|
|
// `test-global` function should propagate into directive scope
|
|
@media screen {
|
|
.test-rule {
|
|
result : test-global();
|
|
}
|
|
}
|
|
@font-face {
|
|
result : test-global();
|
|
}
|
|
|
|
// `test-global` function should propagate into nested directive scopes
|
|
@media screen and (min-width:100px) {
|
|
@media (max-width:400px) {
|
|
.test-rule {
|
|
result : test-global();
|
|
}
|
|
}
|
|
}
|
|
|
|
.test-rule {
|
|
@media screen {
|
|
@plugin "../../plugin/plugin-local";
|
|
result : test-local();
|
|
}
|
|
}
|
|
|
|
@plugin "../../plugin/plugin-tree-nodes";
|
|
@ruleset2: test-detached-ruleset();
|
|
.root {
|
|
@ruleset2();
|
|
}
|
|
.test-rule-empty {
|
|
val1: foo;
|
|
test-collapse();
|
|
val2: foo;
|
|
}
|
|
.test-rule-simple {
|
|
@plugin "../../plugin/plugin-simple";
|
|
value: pi-anon();
|
|
value: (pi() * 2);
|
|
}
|
|
.test-rule-conflicts {
|
|
@plugin "../../plugin/plugin-scope1";
|
|
value: foo();
|
|
}
|
|
.test-rule-conflicts {
|
|
@plugin "../../plugin/plugin-scope2";
|
|
value: foo();
|
|
}
|
|
.test-rule-conflicts {
|
|
@plugin "../../plugin/plugin-scope1";
|
|
value: foo();
|
|
}
|
|
.test-rule-collection {
|
|
@plugin "../../plugin/plugin-collection";
|
|
@var: 32;
|
|
store(@var);
|
|
store(5);
|
|
store("bird");
|
|
list: list();
|
|
}
|
|
|
|
test-atrule("@charset"; '"utf-8"');
|
|
test-atrule("@arbitrary"; "value after ()");
|
|
|
|
// no minVersion specified
|
|
@plugin (option1) "../../plugin/plugin-set-options";
|
|
@plugin "../../plugin/plugin-set-options";
|
|
@plugin (option2) "../../plugin/plugin-set-options";
|
|
@plugin "../../plugin/plugin-set-options";
|
|
@plugin (option3) "../../plugin/plugin-set-options";
|
|
|
|
// specifies minVersion: [2,0,0]
|
|
@plugin (option1) "../../plugin/plugin-set-options-v2";
|
|
@plugin "../../plugin/plugin-set-options-v2";
|
|
@plugin (option2) "../../plugin/plugin-set-options-v2";
|
|
@plugin "../../plugin/plugin-set-options-v2";
|
|
@plugin (option3) "../../plugin/plugin-set-options-v2";
|
|
|
|
// specifies minVersion: [3,0,0]
|
|
@plugin (option1) "../../plugin/plugin-set-options-v3";
|
|
@plugin "../../plugin/plugin-set-options-v3";
|
|
@plugin (option2) "../../plugin/plugin-set-options-v3";
|
|
@plugin "../../plugin/plugin-set-options-v3";
|
|
@plugin (option3) "../../plugin/plugin-set-options-v3";
|
|
|