nixir/tests/fixtures/lambda_pattern.nix
NotAShelf ae505188fc
tests: move fixtures to dedicated dir
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9d6ce6a264780f215b1b57d947b5264c6a6a6964
2026-02-23 02:26:46 +03:00

61 lines
828 B
Nix

# Test lambda patterns
let
# Basic destructuring
f1 = {
a,
b,
}:
a + b;
# With default values
f2 = {
a,
b ? 10,
}:
a + b;
# With ellipsis (extra fields allowed)
f3 = {a, ...}: a * 2;
# Named pattern with ellipsis to allow extra fields
f4 = arg @ {
a,
b,
...
}:
a + b + arg.c;
# Simple lambda (not a pattern)
f5 = x: x + 1;
in {
# Test basic destructuring
test1 = f1 {
a = 3;
b = 4;
};
# Test with defaults (provide both)
test2a = f2 {
a = 5;
b = 6;
};
# Test with defaults (use default for b)
test2b = f2 {a = 5;};
# Test ellipsis (extra field ignored)
test3 = f3 {
a = 7;
extra = 999;
};
# Test named pattern
test4 = f4 {
a = 1;
b = 2;
c = 3;
};
# Test simple lambda
test5 = f5 10;
}