Skip to content

Commit 68aed7d

Browse files
committed
Add test for include expressions
1 parent f9f7486 commit 68aed7d

9 files changed

+107
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# capture = 'stderr'
2+
# command = ['eval']
3+
4+
let foo = {bar.baz = 1} in
5+
{include foo, foo.qux = 2}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# capture = 'stderr'
2+
# command = ['eval']
3+
4+
let foo = {} in
5+
let bar = {} in
6+
{include [foo, bar, foo]}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# capture = 'stderr'
2+
# command = ['eval']
3+
4+
let foo = {} in
5+
{include foo, include foo}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# capture = 'stderr'
2+
# command = ['eval']
3+
4+
let foo = {} in
5+
{include foo, foo = {}}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
source: cli/tests/snapshot/main.rs
3+
expression: err
4+
---
5+
error: multiple declarations for included field `foo`
6+
┌─ [INPUTS_PATH]/errors/include_multiple_composite_path.ncl:5:10
7+
8+
5 │ {include foo, foo.qux = 2}
9+
^^^ --- but also declared here
10+
│ │
11+
included here
12+
13+
= Piecewise definitions involving an included field are currently not supported
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
source: cli/tests/snapshot/main.rs
3+
expression: err
4+
---
5+
error: multiple declarations for included field `foo`
6+
┌─ [INPUTS_PATH]/errors/include_multiple_list.ncl:6:11
7+
8+
6 │ {include [foo, bar, foo]}
9+
^^^ --- but also declared here
10+
│ │
11+
included here
12+
13+
= Piecewise definitions involving an included field are currently not supported
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
source: cli/tests/snapshot/main.rs
3+
expression: err
4+
---
5+
error: multiple declarations for included field `foo`
6+
┌─ [INPUTS_PATH]/errors/include_multiple_other_include.ncl:5:10
7+
8+
5 │ {include foo, include foo}
9+
^^^ --- but also declared here
10+
│ │
11+
included here
12+
13+
= Piecewise definitions involving an included field are currently not supported
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
source: cli/tests/snapshot/main.rs
3+
expression: err
4+
---
5+
error: multiple declarations for included field `foo`
6+
┌─ [INPUTS_PATH]/errors/include_multiple_with_def.ncl:5:10
7+
8+
5 │ {include foo, foo = {}}
9+
^^^ --- but also declared here
10+
│ │
11+
included here
12+
13+
= Piecewise definitions involving an included field are currently not supported
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# test.type = 'pass'
2+
3+
let x = 1, y = false, z = "string", u = {v = 1, depd = v + 1} in
4+
[
5+
{include x} == {x = 1},
6+
{include x, include y, include z} == {include [x, y, z]},
7+
{include x, include [y, z]} == {include [x, y], include z},
8+
{include [x, y], other = []} == {x = 1, y = false, other = []},
9+
10+
# merging
11+
{include x, depd = x + 1} == {x = 1, depd = 2},
12+
{include x, depd = x + 1} & {x | force = 2} == {x = 2, depd = 3},
13+
{include u} & {u.v | force = 2} == {u = {v = 2, depd = 3}},
14+
15+
# include on nested fields,,
16+
{
17+
include x,
18+
y = "redefined",
19+
lvl1 = true,
20+
sub = {
21+
include [x, y, lvl1],
22+
}
23+
} == {
24+
x = 1,
25+
y = "redefined",
26+
lvl1 = true,
27+
sub = {
28+
x = 1,
29+
y = "redefined",
30+
lvl1 = true
31+
}
32+
},
33+
]
34+
|> std.test.assert_all

0 commit comments

Comments
 (0)