tests: initial test suite for IR compiler
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I70cd1dfa45add9df58a44add69fbd30a6a6a6964
This commit is contained in:
parent
22c92bfdd5
commit
49f64c9c98
28 changed files with 151 additions and 0 deletions
36
tests/lambda_pattern.nix
Normal file
36
tests/lambda_pattern.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# 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
|
||||
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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue