network-uri-template-0.1.0.0: test/Network/URI/Template/Internal/ExpressionSpec.hs
-- |
--
-- Module : Network.URI.Template.Internal.ExpressionSpec
-- Copyright : (c) 2025 Patrick Brisbin
-- License : AGPL-3
-- Maintainer : pbrisbin@gmail.com
-- Stability : experimental
-- Portability : POSIX
module Network.URI.Template.Internal.ExpressionSpec
( spec
) where
import Prelude
import Network.URI.Template.Internal.Expression
import Network.URI.Template.Internal.Modifier
import Network.URI.Template.Internal.Operator
import Network.URI.Template.Internal.VarSpec
import Network.URI.Template.Test
import Test.Hspec
spec :: Spec
spec = do
describe "expressionP" $ do
it "parses a query variable"
$ assertParse expressionP "{?var}"
$ Expression
{ operator = Just Query
, variableList = [VarSpec {name = "var", modifier = Nothing}]
}
it "parses multiple variables"
$ assertParse expressionP "{?var,var*}"
$ Expression
{ operator = Just Query
, variableList =
[ VarSpec {name = "var", modifier = Nothing}
, VarSpec {name = "var", modifier = Just Explode}
]
}