git.iko.soy/rowtype-yoga/purescript-uuid
on v5.0.0 help sign in
34 lines 985 B history raw
1module Test.Main where
3import Prelude
5import Data.Maybe (Maybe(..), fromJust)
6import Data.String (length)
7import Data.UUID (genUUID, parseUUID)
8import Effect (Effect)
9import Effect.Unsafe (unsafePerformEffect)
10import Partial.Unsafe (unsafePartial)
11import Test.Spec (it, describe)
12import Test.Spec.Assertions (shouldEqual)
13import Test.Spec.Reporter.Console (consoleReporter)
14import Test.Spec.Runner (run)
16main :: Effect Unit
17main = run [consoleReporter] do
19 describe "UUID" do
21 it "`genUUID` returns a uuid" do
22 let uuid = unsafePerformEffect genUUID
23 (length <<< show) uuid `shouldEqual` 36
25 it "`parseUUID` parses a valid uuid as Just UUID" do
26 let uuidStr = "d0778cf2-3a4c-42ef-acbd-1269b6bec204"
27 uuid = parseUUID uuidStr
28 uuidStr `shouldEqual` (show $ unsafePartial $ fromJust uuid)
30 it "`parseUUID` parses an invalid uuid as Nothing" do
31 let uuidStr = "foo"
32 uuid = parseUUID uuidStr
33 Nothing `shouldEqual` uuid