4import Data.ByteString.Builder (toLazyByteString)
5import qualified Data.Foldable as F
6import qualified Data.HashMap.Strict as HashMap
7import qualified Data.Vector as Vector
11(<=>) :: (Eq a, Show a, ToJSON a, FromJSON a, HasCallStack) => a -> Value -> Spec
13 it "encodes correctly" $ do
14 toJSON x `shouldBe` js
15 it "decodes correctly" $ do
16 fromJSON js `shouldBe` Success x
17 it "roundtrips: eitherDecode . encode" $ do
18 eitherDecode (encode x) `shouldBe` Right x
19 it "roundtrips with toJSON" $ do
20 eitherDecode (encode $ toJSON x) `shouldBe` Right x
21 it "roundtrips with toEncoding" $ do
22 eitherDecode (toLazyByteString $ fromEncoding $ toEncoding x) `shouldBe` Right x
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list