on master help sign in
initial test. missing implementation of assert
c7f63cdCorey O'Connor
src/Graphics/Vty/Input/Data.hs+1
@@ -26,6 +26,7 @@ data KClass = Valid Key [Modifier] | Invalid | Prefix | MisPfx Key [Modifier] [C
26 deriving(Show)
26 deriving(Show)
27
27
28type ClassifyTable = [(String, (Key, [Modifier]))]
28type ClassifyTable = [(String, (Key, [Modifier]))]
29+
29map_to_legacy_table :: [(String, Event)] -> ClassifyTable
30map_to_legacy_table :: [(String, Event)] -> ClassifyTable
30map_to_legacy_table = map f
31map_to_legacy_table = map f
31 where f (s, EvKey k mods) = (s, (k, mods))
32 where f (s, EvKey k mods) = (s, (k, mods))
test/VerifyUsingMockInput.hs+12−1
@@ -6,6 +6,7 @@ module VerifyUsingMockInput where
6import Verify
6import Verify
7
7
8import Graphics.Vty
8import Graphics.Vty
9+import Graphics.Vty.Input.Data
9
10
10import Control.Concurrent
11import Control.Concurrent
11import Control.Monad
12import Control.Monad
@@ -33,6 +34,16 @@ assert_events_from_IO_reads input events = undefined
33assert_events_from_input_block :: InputSpec -> ExpectedSpec -> Result
34assert_events_from_input_block :: InputSpec -> ExpectedSpec -> Result
34assert_events_from_input_block input events = undefined
35assert_events_from_input_block input events = undefined
35
36
37+verify_ansi_table_input_block_to_event :: Gen Result
38+verify_ansi_table_input_block_to_event = do
39+ Positive block_length <- arbitrary
40+ block_event_pairs <- vectorOf block_length $ elements $ concat ansi_classify_table
41+ let input = [Bytes $ concatMap fst block_event_pairs]
42+ events = map (\(k,ms) -> EvKey k ms) $ map snd block_event_pairs
43+ return $ assert_events_from_input_block input events
44+
36tests :: IO [Test]
45tests :: IO [Test]
37−tests = return []
46+tests = return
47+ [ verify "basic input block to event translation" verify_ansi_table_input_block_to_event
48+ ]
38
49