X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=test%2FMetainfoSpec.hs;h=060bf9fbd888c071e53b4351cb11b8dbedc84b71;hb=3d131e0e70c8feab94301b969874239b8e60b747;hp=93bf9ab3bf628d18c8bdf78acb9f6e19d33dc992;hpb=850e5bce2491dec8dd4bb50ccae9edebcf8a1f7f;p=functorrent.git diff --git a/test/MetainfoSpec.hs b/test/MetainfoSpec.hs index 93bf9ab..060bf9f 100644 --- a/test/MetainfoSpec.hs +++ b/test/MetainfoSpec.hs @@ -23,7 +23,7 @@ module MetainfoSpec where import Test.Hspec -import FuncTorrent.Metainfo (Info(..), Metainfo(..), DynamicInfo(..), torrentToMetainfo) +import FuncTorrent.Metainfo (Info(..), Metainfo(..), DynamicInfo(..), FileInfo(..), torrentToMetainfo) import qualified Data.ByteString.Lazy.Char8 as BC (readFile, toStrict) import qualified Data.ByteString as B @@ -36,11 +36,25 @@ spec = length (announceList m) `shouldBe` 1 pieceLength (info m) `shouldBe` 524288 pieces (info m) `shouldSatisfy` (\p -> B.length p `mod` 20 == 0) - let (SingleFileInfo name' _ _) = dyninfo $ info m + let (SingleFileInfo file') = dyninfo $ info m + (FileInfo _ _ name') = file' + name' `shouldNotBe` "" + it "torrent-file-2" $ do + c <- BC.readFile "data/test2.torrent" + let (Right m) = torrentToMetainfo (BC.toStrict c) + (SingleFileInfo file') = dyninfo $ info m + (FileInfo _ _ name') = file' + name' `shouldNotBe` "" + it "torrent-file-3" $ do + c <- BC.readFile "data/test3.torrent" + let (Right m) = torrentToMetainfo (BC.toStrict c) + (SingleFileInfo file') = dyninfo $ info m + (FileInfo _ _ name') = file' name' `shouldNotBe` "" it "torrent-file-4" $ do c <- BC.readFile "data/test4.torrent" let (Right m) = torrentToMetainfo (BC.toStrict c) length (announceList m) `shouldBe` 3 - let (MultiFileInfo _ files') = dyninfo $ info m - length files' `shouldNotBe` 1 + let (MultiFileInfo dname' files') = dyninfo $ info m + length files' `shouldBe` 9 -- 9 files in the torrent + dname' `shouldBe` "NASA_NTRS_Archive_19740027163"