branch: elpa/haskell-tng-mode commit aa9bbb73d5e090195ecc5f619bb1ad1b88dba81f Author: Tseen She <ts33n....@gmail.com> Commit: Tseen She <ts33n....@gmail.com>
add (broken) test coverage for consyms --- test/haskell-tng-imenu-test.el | 3 +++ test/src/medley.hs | 2 ++ test/src/medley.hs.faceup | 2 ++ test/src/medley.hs.imenu | 13 +++++++++++++ test/src/medley.hs.layout | 2 ++ test/src/medley.hs.lexer | 5 +++++ test/src/medley.hs.syntax | 2 ++ 7 files changed, 29 insertions(+) diff --git a/test/haskell-tng-imenu-test.el b/test/haskell-tng-imenu-test.el index 624c0ab..be8cd27 100644 --- a/test/haskell-tng-imenu-test.el +++ b/test/haskell-tng-imenu-test.el @@ -16,6 +16,9 @@ (ert-deftest haskell-tng-lexer-file-tests:indentation () (should (have-expected-imenu (testdata "src/indentation.hs")))) +(ert-deftest haskell-tng-lexer-file-tests:medley () + (should (have-expected-imenu (testdata "src/medley.hs")))) + (defun have-expected-imenu (file) (haskell-tng--testutils-assert-file-contents file diff --git a/test/src/medley.hs b/test/src/medley.hs index 46199a3..d5edf35 100644 --- a/test/src/medley.hs +++ b/test/src/medley.hs @@ -132,6 +132,8 @@ type SomeApi = :> SpecialHeader :> Post '[JSON] (The Response) +getUsers :<|> postUsers :<|> putUsers = client (Proxy @API) + deriving instance FromJSONKey StateName deriving anyclass instance FromJSON Base deriving newtype instance FromJSON Treble diff --git a/test/src/medley.hs.faceup b/test/src/medley.hs.faceup index a21f0f3..a441e22 100644 --- a/test/src/medley.hs.faceup +++ b/test/src/medley.hs.faceup @@ -132,6 +132,8 @@ optionsParser «:haskell-tng-keyword-face:::»«:haskell-tng-type-face: Opts.Par :> SpecialHeader :> Post '»«:haskell-tng-keyword-face:[»«:haskell-tng-type-face:JSON»«:haskell-tng-keyword-face:]»«:haskell-tng-type-face: »«:haskell-tng-keyword-face:(»«:haskell-tng-type-face:The Response»«:haskell-tng-keyword-face:)»«:haskell-tng-type-face: » +getUsers «:haskell-tng-conid-face::<|>» postUsers «:haskell-tng-conid-face::<|>» putUsers «:haskell-tng-keyword-face:=» client «:haskell-tng-keyword-face:(»«:haskell-tng-conid-face:Proxy» @«:haskell-tng-conid-face:API»«:haskell-tng-keyword-face:)» + «:haskell-tng-keyword-face:deriving» «:haskell-tng-keyword-face:instance» «:haskell-tng-conid-face:FromJSONKey» «:haskell-tng-conid-face:StateName» «:haskell-tng-keyword-face:deriving» anyclass «:haskell-tng-keyword-face:instance» «:haskell-tng-conid-face:FromJSON» «:haskell-tng-conid-face:Base» «:haskell-tng-keyword-face:deriving» «:haskell-tng-keyword-face:newtype» «:haskell-tng-keyword-face:instance» «:haskell-tng-conid-face:FromJSON» «:haskell-tng-conid-face:Treble» diff --git a/test/src/medley.hs.imenu b/test/src/medley.hs.imenu new file mode 100644 index 0000000..858e8bf --- /dev/null +++ b/test/src/medley.hs.imenu @@ -0,0 +1,13 @@ +(("module" . 147) + ("imports" . 290) + ("chars" . 1638) + ("strings" . 1665) + ("multiline1" . 1739) + ("multiline2" . 1767) + ("difficult" . 1796) + ("foo" . 1820) + ("optionsParser" . 3396) + ("getUsers" . 4371) + ("test" . 4740) + ("cases" . 4763) + ("bar" . 4835)) diff --git a/test/src/medley.hs.layout b/test/src/medley.hs.layout index 0efd464..eb68bee 100644 --- a/test/src/medley.hs.layout +++ b/test/src/medley.hs.layout @@ -132,6 +132,8 @@ module Foo.Bar.Main :> SpecialHeader :> Post '[JSON] (The Response) +;getUsers :<|> postUsers :<|> putUsers = client (Proxy @API) + ;deriving instance FromJSONKey StateName ;deriving anyclass instance FromJSON Base ;deriving newtype instance FromJSON Treble diff --git a/test/src/medley.hs.lexer b/test/src/medley.hs.lexer index aee34e2..f99d8d4 100644 --- a/test/src/medley.hs.lexer +++ b/test/src/medley.hs.lexer @@ -132,6 +132,11 @@ CONSYM CONID CONID CONID CONSYM CONID CONSYM CONID « CONID » « CONID CONID » +; VARID :: CONID « CONID » +; VARID :: CONID => CONID CONID +; VARID :: CONID => CONID => CONID CONID +; VARID CONSYM VARID CONSYM VARID = VARID « CONID @ CONID » + ; deriving instance CONID CONID ; deriving VARID instance CONID CONID ; deriving newtype instance CONID CONID diff --git a/test/src/medley.hs.syntax b/test/src/medley.hs.syntax index 60cbb3d..60e5317 100644 --- a/test/src/medley.hs.syntax +++ b/test/src/medley.hs.syntax @@ -132,6 +132,8 @@ wwww wwwwwww _> __ wwwwwwwwwwwww> __ wwww w(wwww) (www wwwwwwww)> > +wwwwwwww ____ wwwwwwwww ____ wwwwwwww _ wwwwww (wwwww .www)> +> wwwwwwww wwwwwwww wwwwwwwwwww wwwwwwwww> wwwwwwww wwwwwwww wwwwwwww wwwwwwww wwww> wwwwwwww wwwwwww wwwwwwww wwwwwwww wwwwww>