It seems that after the ImportVisitor refactor (T353133), the output difference in the urls.less test case (T353147) is now a crash instead of a minor difference.
Minimal test case:
.add_an_import(@file_to_import) { @import "@{file_to_import}"; } .add_an_import("file.css");
Expected
@import "file.css";
Actual:
PHP Fatal error: Uncaught Less_Exception_Compiler: variable @file_to_import is undefined in file /Users/krinkle/Development/less.php/input.less in input.less on line 3, column 10
1|
2| .add_an_import(@file_to_import) {
3| @import "@{file_to_import}";
4| }
5|
6| .add_an_import("file.css"); in /Users/krinkle/Development/less.php/lib/Less/Tree/Variable.php:50
Stack trace:
#0 /Users/krinkle/Development/less.php/lib/Less/Tree/Quoted.php(58): Less_Tree_Variable->compile(Object(Less_Environment))
#1 /Users/krinkle/Development/less.php/lib/Less/Tree/Import.php(134): Less_Tree_Quoted->compile(Object(Less_Environment))
#2 /Users/krinkle/Development/less.php/lib/Less/ImportVisitor.php(52): Less_Tree_Import->compileForImport(Object(Less_Environment))
#3 /Users/krinkle/Development/less.php/lib/Less/ImportVisitor.php(214): Less_ImportVisitor->processImportNode(Object(Less_Tree_Import), Object(Less_Environment), Object(Less_Tree_Mixin_Definition))
#4 /Users/krinkle/Development/less.php/lib/Less/ImportVisitor.php(25): Less_ImportVisitor->tryRun()
#5 /Users/krinkle/Development/less.php/lib/Less/Parser.php(217): Less_ImportVisitor->run(Object(Less_Tree_Ruleset))
#6 /Users/krinkle/Development/less.php/bin/lessc(189): Less_Parser->getCss()
#7 {main}
thrown in /Users/krinkle/Development/less.php/lib/Less/Tree/Variable.php on line 50
Fatal error: Uncaught Less_Exception_Compiler: variable @file_to_import is undefined in file /Users/krinkle/Development/less.php/input.less in input.less on line 3, column 10
1|
2| .add_an_import(@file_to_import) {
3| @import "@{file_to_import}";
4| }
5|
6| .add_an_import("file.css"); in /Users/krinkle/Development/less.php/lib/Less/Tree/Variable.php on line 50