5import Data.Maybe (Maybe(..))
6import Data.Vault as Vault
8import Effect.Aff (launchAff_)
9import Effect.Class (liftEffect)
10import Test.Spec (describe, it)
11import Test.Spec.Assertions (shouldEqual)
12import Test.Spec.Reporter (consoleReporter)
13import Test.Spec.Runner (runSpec)
18 runSpec [ consoleReporter ] do
19 it "inserts an item" do
21 k <- liftEffect Vault.newKey
24 s1 = Vault.insert k v s0
25 Vault.lookup k s1 `shouldEqual` pure v
26 it "adjusts an item" do
28 k <- liftEffect Vault.newKey
31 s1 = Vault.insert k v0 s0
32 s2 = Vault.adjust (\r -> r { foo = r.foo + 1 }) k s1
33 Vault.lookup k s2 `shouldEqual` pure { foo: 2 }
34 it "deletes an item" do
36 k <- liftEffect Vault.newKey
38 s1 = Vault.insert k 1 s0
39 s2 = Vault.delete k s1
40 Vault.lookup k s2 `shouldEqual` Nothing
41 it "merges two vaults" do
42 k <- liftEffect Vault.newKey
43 l <- liftEffect Vault.newKey
45 a = Vault.insert k 1 Vault.empty
46 b = Vault.empty # Vault.insert k 2 # Vault.insert l 3
48 Vault.lookup k c `shouldEqual` pure 1
49 Vault.lookup l c `shouldEqual` pure 3
50 describe "on insert" do
51 it "does not affect other items" do
52 k <- liftEffect Vault.newKey
55 s1 = Vault.insert k "foo" s0
56 k' <- liftEffect Vault.newKey
57 let s2 = Vault.insert k' 3 s1
58 Vault.lookup k s2 `shouldEqual` pure "foo"
59 describe "on adjust" do
60 it "does not affect other items" do
61 k <- liftEffect Vault.newKey
64 s1 = Vault.insert k "foo" s0
65 k' <- liftEffect Vault.newKey
67 s2 = Vault.insert k' "hi" s1
68 s3 = Vault.adjust (_ <> "!") k' s2
69 Vault.lookup k s3 `shouldEqual` pure "foo"
70 describe "on delete" do
71 it "does not affect other items" do
72 k <- liftEffect Vault.newKey
75 s1 = Vault.insert k "foo" s0
76 k' <- liftEffect Vault.newKey
78 s2 = Vault.insert k' "hi" s1
79 s3 = Vault.delete k' s2
80 Vault.lookup k s3 `shouldEqual` pure "foo"
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