Passing null to a function triggers default value
This commit is contained in:
parent
7da437212d
commit
51f67ac908
2
bun.lock
2
bun.lock
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
"hono": ["hono@4.10.4", "", {}, "sha512-YG/fo7zlU3KwrBL5vDpWKisLYiM+nVstBQqfr7gCPbSYURnNEP9BDxEMz8KfsDR9JX0lJWDRNc6nXX31v7ZEyg=="],
|
||||
|
||||
"reefvm": ["reefvm@git+https://git.nose.space/defunkt/reefvm#d7a971db24aea5ddcaae2c18ce9f10dab793db19", { "peerDependencies": { "typescript": "^5" } }, "d7a971db24aea5ddcaae2c18ce9f10dab793db19"],
|
||||
"reefvm": ["reefvm@git+https://git.nose.space/defunkt/reefvm#3e2e68b31f504347225a4d705c7568a0957d629e", { "peerDependencies": { "typescript": "^5" } }, "3e2e68b31f504347225a4d705c7568a0957d629e"],
|
||||
|
||||
"style-mod": ["style-mod@4.1.3", "", {}, "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ=="],
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
"repl": "bun generate-parser && bun bin/repl",
|
||||
"update-reef": "rm -rf ~/.bun/install/cache/ && rm bun.lock && bun update reefvm",
|
||||
"cli:install": "ln -s \"$(pwd)/bin/shrimp\" ~/.bun/bin/shrimp",
|
||||
"cli:remove": "rm ~/.bun/bin/shrimp",
|
||||
"cli:remove": "rm ~/.bun/bin/shrimp"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codemirror/view": "^6.38.3",
|
||||
|
|
|
|||
|
|
@ -298,6 +298,23 @@ describe('default params', () => {
|
|||
expect('multiply = do x y=5: x * y end; multiply 5 2').toEvaluateTo(10)
|
||||
})
|
||||
|
||||
test('null triggers default value', () => {
|
||||
expect('test = do n=true: n end; test').toEvaluateTo(true)
|
||||
expect('test = do n=true: n end; test false').toEvaluateTo(false)
|
||||
expect('test = do n=true: n end; test null').toEvaluateTo(true)
|
||||
})
|
||||
|
||||
test('null triggers default for named parameters', () => {
|
||||
expect("greet = do name='World': name end; greet name=null").toEvaluateTo('World')
|
||||
expect("greet = do name='World': name end; greet name='Bob'").toEvaluateTo('Bob')
|
||||
})
|
||||
|
||||
test('null triggers default with multiple parameters', () => {
|
||||
expect('calc = do x=10 y=20: x + y end; calc null 5').toEvaluateTo(15)
|
||||
expect('calc = do x=10 y=20: x + y end; calc 3 null').toEvaluateTo(23)
|
||||
expect('calc = do x=10 y=20: x + y end; calc null null').toEvaluateTo(30)
|
||||
})
|
||||
|
||||
test.skip('array default', () => {
|
||||
expect('abc = do alpha=[a b c]: alpha end; abc').toEvaluateTo(['a', 'b', 'c'])
|
||||
expect('abc = do alpha=[a b c]: alpha end; abc [x y z]').toEvaluateTo(['x', 'y', 'z'])
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user