on ffca332 help sign in
stackage/test/Stackage/PackageIndexSpec.hs
21 lines 799 B history raw
1{-# LANGUAGE OverloadedStrings, NoImplicitPrelude #-}
2module Stackage.PackageIndexSpec (spec) where
4import Stackage.PackageIndex
5import Stackage.Prelude
6import Test.Hspec
7import Distribution.Package (packageId)
9spec :: Spec
10spec = do
11 it "works" $ (runResourceT $ sourcePackageIndex $$ sinkNull :: IO ())
12 it "getLatestDescriptions gives reasonable results" $ do
13 let f x y = (display x, display y) `member` asSet (setFromList
14 [ (asText "base", asText "4.5.0.0")
15 , ("does-not-exist", "9999999999999999999")
16 ])
17 m <- getLatestDescriptions f return
18 length m `shouldBe` 1
19 p <- simpleParse $ asText "base"
20 v <- simpleParse $ asText "4.5.0.0"
21 (pkgVersion . packageId <$> m) `shouldBe` singletonMap p v