Add FromField Char

This commit is contained in:
2023-09-17 05:08:24 +02:00
parent 66a5f54153
commit dc4a302311
2 changed files with 26 additions and 0 deletions
@@ -30,6 +30,12 @@ newtype AString = AString
instance FromRow AString where
newtype AChar = AChar
{ char :: Char
} deriving (Eq, Generic, Show)
instance FromRow AChar where
newtype AFloat = AFloat
{ float :: Float
} deriving (Eq, Generic, Show)
@@ -90,6 +96,17 @@ spec = do
it "Decodes character varying" $ \conn -> do
shouldFetch conn "SELECT 'Hello, World!'::CHARACTER VARYING (20) AS string" [AString "Hello, World!"]
describe "FromField Char" $ do
it "Decodes text" $ \conn -> do
shouldFetch conn "SELECT 'X'::TEXT AS char" [AChar 'X']
it "Decodes character" $ \conn -> do
shouldFetch conn "SELECT 'XYZ'::CHARACTER(1) AS char" [AChar 'X']
shouldFetch conn "SELECT ''::CHARACTER(1) AS char" [AChar ' ']
it "Decodes character varying" $ \conn -> do
shouldFetch conn "SELECT 'X'::CHARACTER VARYING (20) AS char" [AChar 'X']
describe "FromField Float" $ do
it "Decodes real" $ \conn -> do
shouldFetch conn "SELECT 4.2::real AS float" [AFloat 4.2]