pqi-conformance-0.0.1.0: src/library/Pqi/Conformance/Operation/Fformat.hs
-- | Coverage for 'Pqi.fformat': the format (text or binary) of each
-- column, which follows the result format requested of
-- 'Pqi.execParams'.
module Pqi.Conformance.Operation.Fformat
( spec,
)
where
import Pqi (IsConnection (..), IsResult (..))
import qualified Pqi as Lq
import Pqi.Conformance.Harness
import Pqi.Conformance.Prelude
import Test.Hspec
spec :: (IsConnection c) => Proxy c -> SpecWith ByteString
spec proxy =
describe "fformat" do
it "follows the requested result format" \conninfo ->
differential proxy conninfo \connection -> do
let formatsOf fmt =
execParams connection "select 1 :: int4, 'x' :: text" [] fmt
>>= traverse \r -> do
n <- nfields r
traverse (fformat r) [0 .. n - 1]
textFormats <- formatsOf Lq.Text
binaryFormats <- formatsOf Lq.Binary
pure (textFormats, binaryFormats)