-- TerminalTest.hs module TerminalTest (terminalTests) where import Test.HUnit.Terminal import Test.HUnit try :: String -> String -> String -> Test try lab inp exp' = lab ~: terminalAppearance inp ~?= exp' terminalTests :: Test terminalTests = test [ try "empty" "" "", try "end in \\n" "abc\ndef\n" "abc\ndef\n", try "not end in \\n" "abc\ndef" "abc\ndef", try "return 1" "abc\ndefgh\rxyz" "abc\nxyzgh", try "return 2" "\nabcdefgh\rijklm\rxy\n" "\nxyklmfgh\n", try "return 3" "\r\rabc\r\rdef\r\r\r\nghi\r\r\n" "def\nghi\n", try "back 1" "abc\bdef\b\bgh\b" "abdgh", try "back 2" "abc\b\b\bdef\b\bxy\b\b\n" "dxy\n" -- \b at beginning of line -- nonprinting char ]