Blame tests/TerminalTest.hs

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