import TestInfrastructure
import TestConnection(expectedString, noCR)
-import TestParserPrim(isValidText)
+import TestParserPrim(isValidText, isValidAtom)
prop_getFullLine_basic :: [String] -> Property
prop_getFullLine_basic s =
prop_respTextSimple :: String -> Result
prop_respTextSimple s =
p respText s @?=
- if isValidText s
+ if isValidText s && (head s /= '[')
then Just (RespText Nothing s)
else Nothing
+prop_respTextAtom :: String -> Property
+prop_respTextAtom s2 =
+ isValidAtom s2 && isValidText s1 ==>
+ p respText ("[" ++ s2 ++ "] " ++ s1) @?=
+ Just (RespText (Just s2) s1)
+ where s1 = reverse s2 -- Gen manually to avoid test exhaustion
+
+
allt = [q "getFullLine_basic" prop_getFullLine_basic,
q "getFullLine_count" prop_getFullLine_count,
q "readFullResponse_basic" prop_rfr_basic,
- q "respText simple" prop_respTextSimple
+ q "respText simple" prop_respTextSimple,
+ q "respText atom" prop_respTextAtom
]
q "string3501" prop_string3501,
q "atom" prop_atom,
q "astring basic" prop_astring_basic,
- qverbose "astring basic thorough" prop_astring_basic_thorough,
+ q "astring basic thorough" prop_astring_basic_thorough,
q "astring full" prop_astring,
q "text" prop_text,
q "tag" prop_tag