@@ -40,9 +40,51 @@ completerTests =
40
40
completionHelperTests,
41
41
filePathExposedModulesTests,
42
42
exposedModuleCompleterTests,
43
- importCompleterTests
43
+ importCompleterTests,
44
+ autogenModulesCompletionTests
44
45
]
45
46
47
+ autogenModulesCompletionTests :: TestTree
48
+ autogenModulesCompletionTests =
49
+ testGroup
50
+ " Autogen modules completion"
51
+ [ runCabalTestCaseSession " Completes autogen-modules in library stanza" " " $ do
52
+ doc <- openDoc " cabal-files/autogen-completion.cabal" " cabal"
53
+ completions <- getCompletions doc (Position 5 4 )
54
+ liftIO $ do
55
+ print (map (^. L. label) completions)
56
+ assertBool " autogen-modules: should be in completions" $
57
+ any (\ c -> T. isInfixOf " autogen-modules:" (c ^. L. label)) completions
58
+ assertBool " autogen-includes: should be in completions" $
59
+ any (\ c -> T. isInfixOf " autogen-includes:" (c ^. L. label)) completions
60
+
61
+ , runCabalTestCaseSession " Completes autogen-modules in executable stanza" " " $ do
62
+ doc <- openDoc " cabal-files/autogen-completion-exe.cabal" " cabal"
63
+ completions <- getCompletions doc (Position 5 4 )
64
+ liftIO $ do
65
+ assertBool " autogen-modules: should be in completions" $
66
+ any (\ c -> T. isInfixOf " autogen-modules:" (c ^. L. label)) completions
67
+
68
+ , runCabalTestCaseSession " Completes autogen fields in test-suite stanza" " " $ do
69
+ doc <- openDoc " cabal-files/autogen-completion-test.cabal" " cabal"
70
+ completions <- getCompletions doc (Position 6 4 )
71
+ liftIO $ do
72
+ assertBool " autogen-modules: should be in completions" $
73
+ any (\ c -> T. isInfixOf " autogen-modules:" (c ^. L. label)) completions
74
+ assertBool " autogen-includes: should be in completions" $
75
+ any (\ c -> T. isInfixOf " autogen-includes:" (c ^. L. label)) completions
76
+
77
+ , runCabalTestCaseSession " Completes autogen fields in benchmark stanza" " " $ do
78
+ doc <- openDoc " cabal-files/autogen-completion-bench.cabal" " cabal"
79
+ completions <- getCompletions doc (Position 6 4 )
80
+ liftIO $ do
81
+ assertBool " autogen-modules: should be in completions" $
82
+ any (\ c -> T. isInfixOf " autogen-modules:" (c ^. L. label)) completions
83
+ assertBool " autogen-includes: should be in completions" $
84
+ any (\ c -> T. isInfixOf " autogen-includes:" (c ^. L. label)) completions
85
+ ]
86
+
87
+
46
88
basicCompleterTests :: TestTree
47
89
basicCompleterTests =
48
90
testGroup
0 commit comments