Concurrency
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
/// Unit tests for variable expansion in the evaluator.
|
||||
///
|
||||
/// Tests recursive expansion, simple vs recursive assignment semantics,
|
||||
/// and circular reference detection.
|
||||
module antelope.tests.evaluator.expansion_test;
|
||||
|
||||
import antelope.evaluator.expansion;
|
||||
import antelope.shell.environment;
|
||||
|
||||
/// Test simple variable reference expansion.
|
||||
unittest
|
||||
{
|
||||
auto env = Environment.init;
|
||||
env.set("CC", "gcc");
|
||||
env.set("CFLAGS", "-Wall -O2");
|
||||
|
||||
auto result = expand(env, "$(CC) $(CFLAGS)");
|
||||
assert(result == "gcc -Wall -O2");
|
||||
}
|
||||
|
||||
/// Test brace-delimited variable expansion.
|
||||
unittest
|
||||
{
|
||||
auto env = Environment.init;
|
||||
env.set("VAR", "value");
|
||||
|
||||
auto result = expand(env, "${VAR}");
|
||||
assert(result == "value");
|
||||
}
|
||||
|
||||
/// Test that undefined variables produce a warning but expand to empty.
|
||||
unittest
|
||||
{
|
||||
auto env = Environment.init;
|
||||
auto result = expand(env, "$(UNDEFINED)");
|
||||
assert(result == "");
|
||||
}
|
||||
Reference in New Issue
Block a user