This repository has been archived on 2024-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
fradrive-old/test/Utils/PathPieceSpec.hs
2022-10-12 09:35:16 +02:00

23 lines
727 B
Haskell

-- SPDX-FileCopyrightText: 2022 Gregor Kleen <gregor.kleen@ifi.lmu.de>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later
module Utils.PathPieceSpec where
import TestImport
import Utils.PathPiece
spec :: Spec
spec = describe "pathPieceJoined" $ do
it "is a prism" . property $ \(NonEmpty (pack -> joinPP)) -> isPrism $ pathPieceJoined joinPP
it "behaves as expected on some examples" $ do
let test xs t = do
review (pathPieceJoined "--") xs `shouldBe` t
preview (pathPieceJoined "--") t `shouldBe` Just xs
test ["foo", "bar"] "foo--bar"
test ["foo--bar", "baz"] "foo----bar--baz"
test ["baz", "foo--bar"] "baz--foo----bar"
test ["baz--quux", "foo--bar"] "baz----quux--foo----bar"