Skip to content

Commit 659c123

Browse files
committed
Add test and resolve remark
1 parent 514f556 commit 659c123

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

dsc/tests/dsc_expressions.tests.ps1

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,18 @@ resources:
135135
@{ expression = "[lessOrEquals('b', 'a')]"; expected = $false }
136136
@{ expression = "[lessOrEquals('a', 'a')]"; expected = $true }
137137
@{ expression = "[lessOrEquals('aa', 'Aa')]"; expected = $false }
138-
@{ expression = "[coalesce('hello', 'world')]" ; expected = 'hello' }
138+
@{ expression = "[coalesce('DSC', 'World')]" ; expected = 'DSC' }
139139
@{ expression = "[coalesce(42, 'fallback')]" ; expected = 42 }
140140
@{ expression = "[coalesce(true, false)]" ; expected = $true }
141141
@{ expression = "[coalesce('first', 'second')]" ; expected = 'first' }
142142
@{ expression = "[coalesce(createArray('a', 'b'), createArray('c', 'd'))]" ; expected = @('a', 'b') }
143+
@{ expression = "[coalesce(null(), 'fallback')]" ; expected = 'fallback' }
144+
@{ expression = "[coalesce(null(), createObject('name', 'test'))]" ; expected = @{name='test'} }
145+
@{ expression = "[coalesce(createObject('prop', null()), createObject('prop', 'fallback'))]" ; expected = @{prop=$null} }
146+
@{ expression = "[coalesce(null(), createArray(1, 2, 3))]" ; expected = @(1, 2, 3) }
147+
@{ expression = "[coalesce(null(), null(), null(), 'finalValue')]" ; expected = 'finalValue' }
148+
@{ expression = "[coalesce(null(), 42, 'not-reached')]" ; expected = 42 }
149+
@{ expression = "[coalesce(null(), true, false)]" ; expected = $true }
143150
) {
144151
param($expression, $expected)
145152
$yaml = @"

dsc_lib/src/functions/null.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ mod tests {
7777
#[test]
7878
fn null_in_array() {
7979
let mut parser = Statement::new().unwrap();
80-
let result = parser.parse_and_execute("[coalesce(null(), 'fallback')]", &Context::new()).unwrap();
81-
assert_eq!(result, "fallback");
80+
let result = parser.parse_and_execute("[createArray('value', null(), 'another')]", &Context::new()).unwrap();
81+
assert_eq!(result.to_string(), r#"["value",null,"another"]"#);
8282
}
8383
}

0 commit comments

Comments
 (0)