hjsonschema-1.0.0.0: test/Local/Reference.hs
module Local.Reference where
import Test.Tasty (TestTree)
import qualified Test.Tasty.HUnit as HU
import Data.Validator.Reference
referenceTests :: [TestTree]
referenceTests =
[ HU.testCase "updateResolutionScope test cases" updateResolutionScopeTests
, HU.testCase "resolveReference test cases" resolveReferenceTests
]
updateResolutionScopeTests :: IO ()
updateResolutionScopeTests = do
HU.assertEqual
"case 1 result"
Nothing
(updateResolutionScope Nothing Nothing)
HU.assertEqual
"case 2 result"
Nothing
(updateResolutionScope Nothing (Just "#"))
HU.assertEqual
"case 3 result"
(Just "foo")
(updateResolutionScope Nothing (Just "foo"))
HU.assertEqual
"case 4 result"
(Just "/./bar") -- TODO: Normalize after updateResolutionScope.
(updateResolutionScope (Just "/foo") (Just "./bar"))
resolveReferenceTests :: IO ()
resolveReferenceTests = do
HU.assertEqual
"case 1 result"
(Just "/bar", Nothing)
(resolveReference (Just "/foo") "bar")
HU.assertEqual
"case 2 result"
(Just "/baz", Nothing)
(resolveReference (Just "/foo/bar") "/baz")
HU.assertEqual
"case 3 result"
(Nothing, Just "/bar")
(resolveReference Nothing "#/bar")
HU.assertEqual
"case 4 result"
(Just "/foo", Just "/bar")
(resolveReference (Just "/foo") "#/bar")