Skip to content

Commit 0252a5b

Browse files
committed
add failing tests for optionals
1 parent 001f8ff commit 0252a5b

File tree

2 files changed

+67
-25
lines changed

2 files changed

+67
-25
lines changed

analysis/tests/src/CompletionFunctionArguments.res

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
let someFn = (~isOn) => {
2-
if isOn {
1+
let someFn = (~isOn, ~isOff=false, ()) => {
2+
if isOn && !isOff {
33
"on"
44
} else {
55
"off"
@@ -12,6 +12,9 @@ let someFn = (~isOn) => {
1212
// let _ = someFn(~isOn=t)
1313
// ^com
1414

15+
// let _ = someFn(~isOff=)
16+
// ^com
17+
1518
let _ = someFn(
1619
~isOn={
1720
// switch someFn(~isOn=)
@@ -29,12 +32,27 @@ let someOtherFn = (includeName, age) => {
2932

3033
type someVariant = One | Two | Three(int)
3134

32-
let someFnTakingVariant = (~config: someVariant) => {
35+
let someFnTakingVariant = (
36+
configOpt: option<someVariant>,
37+
~configOpt2=One,
38+
~config: someVariant,
39+
) => {
3340
ignore(config)
41+
ignore(configOpt)
42+
ignore(configOpt2)
3443
}
3544

3645
// let _ = someFnTakingVariant(~config=)
3746
// ^com
3847

3948
// let _ = someFnTakingVariant(~config=O)
4049
// ^com
50+
51+
// let _ = someFnTakingVariant(S)
52+
// ^com
53+
54+
// let _ = someFnTakingVariant(~configOpt=O)
55+
// ^com
56+
57+
// let _ = someFnTakingVariant(~configOpt2=O)
58+
// ^com

analysis/tests/src/expected/CompletionFunctionArguments.res.txt

Lines changed: 46 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
Complete src/CompletionFunctionArguments.res 10:24
2-
posCursor:[10:24] posNoWhite:[10:23] Found expr:[10:11->10:25]
3-
Pexp_apply ...[10:11->10:17] (~isOn10:19->10:23=...__ghost__[0:-1->0:-1])
1+
Complete src/CompletionFunctionArguments.res 8:24
2+
posCursor:[8:24] posNoWhite:[8:23] Found expr:[8:11->8:25]
3+
Pexp_apply ...[8:11->8:17] (~isOn8:19->8:23=...__ghost__[0:-1->0:-1])
44
Completable: Value[someFn](~isOn)
55
[{
66
"label": "true",
@@ -16,9 +16,9 @@ Completable: Value[someFn](~isOn)
1616
"documentation": null
1717
}]
1818

19-
Complete src/CompletionFunctionArguments.res 13:25
20-
posCursor:[13:25] posNoWhite:[13:24] Found expr:[13:11->13:26]
21-
Pexp_apply ...[13:11->13:17] (~isOn13:19->13:23=...[13:24->13:25])
19+
Complete src/CompletionFunctionArguments.res 11:25
20+
posCursor:[11:25] posNoWhite:[11:24] Found expr:[11:11->11:26]
21+
Pexp_apply ...[11:11->11:17] (~isOn11:19->11:23=...[11:24->11:25])
2222
Completable: Value[someFn](~isOn=t)
2323
[{
2424
"label": "true",
@@ -28,13 +28,19 @@ Completable: Value[someFn](~isOn=t)
2828
"documentation": null
2929
}]
3030

31-
Complete src/CompletionFunctionArguments.res 18:27
32-
posCursor:[18:27] posNoWhite:[18:26] Found expr:[16:8->22:1]
33-
Pexp_apply ...[16:8->16:14] (~isOn17:3->17:7=...[18:7->20:8])
34-
posCursor:[18:27] posNoWhite:[18:26] Found expr:[18:7->20:8]
35-
posCursor:[18:27] posNoWhite:[18:26] Found expr:[18:7->18:28]
36-
posCursor:[18:27] posNoWhite:[18:26] Found expr:[18:14->18:28]
37-
Pexp_apply ...[18:14->18:20] (~isOn18:22->18:26=...__ghost__[0:-1->0:-1])
31+
Complete src/CompletionFunctionArguments.res 14:25
32+
posCursor:[14:25] posNoWhite:[14:24] Found expr:[14:11->14:26]
33+
Pexp_apply ...[14:11->14:17] (~isOff14:19->14:24=...__ghost__[0:-1->0:-1])
34+
Completable: Value[someFn](~isOff)
35+
[]
36+
37+
Complete src/CompletionFunctionArguments.res 19:27
38+
posCursor:[19:27] posNoWhite:[19:26] Found expr:[17:8->23:1]
39+
Pexp_apply ...[17:8->17:14] (~isOn18:3->18:7=...[19:7->21:8])
40+
posCursor:[19:27] posNoWhite:[19:26] Found expr:[19:7->21:8]
41+
posCursor:[19:27] posNoWhite:[19:26] Found expr:[19:7->19:28]
42+
posCursor:[19:27] posNoWhite:[19:26] Found expr:[19:14->19:28]
43+
Pexp_apply ...[19:14->19:20] (~isOn19:22->19:26=...__ghost__[0:-1->0:-1])
3844
Completable: Value[someFn](~isOn)
3945
[{
4046
"label": "true",
@@ -50,9 +56,9 @@ Completable: Value[someFn](~isOn)
5056
"documentation": null
5157
}]
5258

53-
Complete src/CompletionFunctionArguments.res 28:24
54-
posCursor:[28:24] posNoWhite:[28:23] Found expr:[28:11->28:25]
55-
Pexp_apply ...[28:11->28:22] (...[28:23->28:24])
59+
Complete src/CompletionFunctionArguments.res 29:24
60+
posCursor:[29:24] posNoWhite:[29:23] Found expr:[29:11->29:25]
61+
Pexp_apply ...[29:11->29:22] (...[29:23->29:24])
5662
Completable: Value[someOtherFn]($0=f)
5763
[{
5864
"label": "false",
@@ -62,9 +68,9 @@ Completable: Value[someOtherFn]($0=f)
6268
"documentation": null
6369
}]
6470

65-
Complete src/CompletionFunctionArguments.res 37:39
66-
posCursor:[37:39] posNoWhite:[37:38] Found expr:[37:11->37:40]
67-
Pexp_apply ...[37:11->37:30] (~config37:32->37:38=...__ghost__[0:-1->0:-1])
71+
Complete src/CompletionFunctionArguments.res 44:39
72+
posCursor:[44:39] posNoWhite:[44:38] Found expr:[44:11->44:40]
73+
Pexp_apply ...[44:11->44:30] (~config44:32->44:38=...__ghost__[0:-1->0:-1])
6874
Completable: Value[someFnTakingVariant](~config)
6975
[{
7076
"label": "One",
@@ -86,9 +92,9 @@ Completable: Value[someFnTakingVariant](~config)
8692
"documentation": null
8793
}]
8894

89-
Complete src/CompletionFunctionArguments.res 40:40
90-
posCursor:[40:40] posNoWhite:[40:39] Found expr:[40:11->40:41]
91-
Pexp_apply ...[40:11->40:30] (~config40:32->40:38=...[40:39->40:40])
95+
Complete src/CompletionFunctionArguments.res 47:40
96+
posCursor:[47:40] posNoWhite:[47:39] Found expr:[47:11->47:41]
97+
Pexp_apply ...[47:11->47:30] (~config47:32->47:38=...[47:39->47:40])
9298
Completable: Value[someFnTakingVariant](~config=O)
9399
[{
94100
"label": "One",
@@ -98,3 +104,21 @@ Completable: Value[someFnTakingVariant](~config=O)
98104
"documentation": null
99105
}]
100106

107+
Complete src/CompletionFunctionArguments.res 50:32
108+
posCursor:[50:32] posNoWhite:[50:31] Found expr:[50:11->50:33]
109+
Pexp_apply ...[50:11->50:30] (...[50:31->50:32])
110+
Completable: Value[someFnTakingVariant]($0=S)
111+
[]
112+
113+
Complete src/CompletionFunctionArguments.res 53:43
114+
posCursor:[53:43] posNoWhite:[53:42] Found expr:[53:11->53:44]
115+
Pexp_apply ...[53:11->53:30] (~configOpt53:32->53:41=...[53:42->53:43])
116+
Completable: Value[someFnTakingVariant](~configOpt=O)
117+
[]
118+
119+
Complete src/CompletionFunctionArguments.res 56:44
120+
posCursor:[56:44] posNoWhite:[56:43] Found expr:[56:11->56:45]
121+
Pexp_apply ...[56:11->56:30] (~configOpt256:32->56:42=...[56:43->56:44])
122+
Completable: Value[someFnTakingVariant](~configOpt2=O)
123+
[]
124+

0 commit comments

Comments
 (0)