{-# LANGUAGE OverloadedStrings #-}
module LinkSpec where
import Ssb.Types.Link
import Ssb.Types.Key
import Test.Hspec
import Data.Text
import Data.Maybe
feedLink :: Text
feedLink = "@LA9HYf5rnUJFHHTklKXLLRyrEytayjbFZRo76Aj/qKs=.ed25519"
spec :: Spec
spec = do
describe "Link" $ do
it "parses" $ do
let (Right l) = parseLink feedLink
linkSigil l `shouldBe` '@'
linkTo l `shouldBe` "LA9HYf5rnUJFHHTklKXLLRyrEytayjbFZRo76Aj/qKs="
linkTag l `shouldBe` "ed25519"
formatLink l `shouldBe` feedLink
describe "FeedLink" $ do
it "parses" $ do
let (Right l) = fromLink =<< parseLink feedLink
unFeedLink l `shouldBe` fromJust (parseEd25519PublicKey "LA9HYf5rnUJFHHTklKXLLRyrEytayjbFZRo76Aj/qKs=")