module DT.Parser (spec) where import qualified Data.Text as T import Puppet.Parser import Puppet.Parser.Types import Test.Hspec import Test.Hspec.Megaparsec import Text.Megaparsec (parse) spec :: Spec spec = do let prs s r = it s $ parse datatype "?" (T.pack s) `shouldParse` r fl s = it s $ shouldFailOn (parse datatype "?") (T.pack s) describe "String" $ do "String" `prs` DTString Nothing Nothing fl "String[]" fl "String[4,5,6]" "String[5]" `prs` DTString (Just 5) Nothing "String[5,8]" `prs` DTString (Just 5) (Just 8)