nixir/tests/lambda_pattern.nix
NotAShelf b49044c9a5
nix: format test fixtures via nix fmt
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia9c1e9b0a8cd9c6d834f153609baa5426a6a6964
2026-02-22 21:51:22 +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;
}