cleveland-0.3.1: test/TestSuite/Cleveland/Tasty/Report/Examples.hs
-- SPDX-FileCopyrightText: 2021 Oxhead Alpha
-- SPDX-License-Identifier: LicenseRef-MIT-OA
module TestSuite.Cleveland.Tasty.Report.Examples
( reportExamples
) where
import System.FilePath ((</>))
import Morley.Tezos.Address
import Morley.Util.Interpolate
import Test.Cleveland
----------------------------------------------------------------------------
-- Examples
----------------------------------------------------------------------------
example1 :: EmulatedT PureM ()
example1 = void $ signBytes "" unknownAddr
example1ExpectedErr :: Text
example1ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
24 ┃ example1 :: EmulatedT PureM ()
25 ┃ example1 = void $ signBytes "" unknownAddr
┃ ^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
26 ┃
CallStack (from HasCallStack):
|]
----------------------------------------------------------------------------
-- Examples with helper functions
----------------------------------------------------------------------------
exampleWithHelperFunction1 :: EmulatedT PureM ()
exampleWithHelperFunction1 = exampleWithHelperFunction1Helper
exampleWithHelperFunction1Helper :: EmulatedT PureM ()
exampleWithHelperFunction1Helper = void $ signBytes "" unknownAddr
exampleWithHelperFunction1ExpectedErr :: Text
exampleWithHelperFunction1ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
47 ┃ exampleWithHelperFunction1Helper :: EmulatedT PureM ()
48 ┃ exampleWithHelperFunction1Helper = void $ signBytes "" unknownAddr
┃ ^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
49 ┃
CallStack (from HasCallStack):
|]
exampleWithHelperFunction2 :: EmulatedT PureM ()
exampleWithHelperFunction2 = exampleWithHelperFunction2Helper
exampleWithHelperFunction2Helper :: HasCallStack => EmulatedT PureM ()
exampleWithHelperFunction2Helper = withFrozenCallStack $ void $ signBytes "" unknownAddr
exampleWithHelperFunction2ExpectedErr :: Text
exampleWithHelperFunction2ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
63 ┃ exampleWithHelperFunction2 :: EmulatedT PureM ()
64 ┃ exampleWithHelperFunction2 = exampleWithHelperFunction2Helper
┃ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
65 ┃
CallStack (from HasCallStack):
|]
----------------------------------------------------------------------------
-- Example with no callstack frames
----------------------------------------------------------------------------
exampleNoCallStack1 :: EmulatedT PureM ()
exampleNoCallStack1 = withFrozenCallStack $ void $ signBytes "" unknownAddr
exampleNoCallStack1ExpectedErr :: Text
exampleNoCallStack1ExpectedErr =
[i|Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z|]
----------------------------------------------------------------------------
-- Example with errors spanning across multiple lines
----------------------------------------------------------------------------
exampleMultipleLines1 :: EmulatedT PureM ()
exampleMultipleLines1 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines1ExpectedErr :: Text
exampleMultipleLines1ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
100 ┃ exampleMultipleLines1 =
101 ┃ void ( signBytes
102 ┃ ""
103 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
104 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines2 :: EmulatedT PureM ()
exampleMultipleLines2 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines2ExpectedErr :: Text
exampleMultipleLines2ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
121 ┃ exampleMultipleLines2 =
122 ┃ void ( signBytes
123 ┃ ""
124 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
125 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines3 :: EmulatedT PureM ()
exampleMultipleLines3 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines3ExpectedErr :: Text
exampleMultipleLines3ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
142 ┃ exampleMultipleLines3 =
143 ┃ void ( signBytes
144 ┃ ""
145 ┃ unknownAddr )
┃ ^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
146 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines4 :: EmulatedT PureM ()
exampleMultipleLines4 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines4ExpectedErr :: Text
exampleMultipleLines4ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
163 ┃ exampleMultipleLines4 =
164 ┃ void ( signBytes
165 ┃ ""
166 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
167 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines5 :: EmulatedT PureM ()
exampleMultipleLines5 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines5ExpectedErr :: Text
exampleMultipleLines5ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
184 ┃ exampleMultipleLines5 =
185 ┃ void ( signBytes
186 ┃ ""
187 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
188 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines6 :: EmulatedT PureM ()
exampleMultipleLines6 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines6ExpectedErr :: Text
exampleMultipleLines6ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
205 ┃ exampleMultipleLines6 =
206 ┃ void ( signBytes
207 ┃ ""
208 ┃ unknownAddr )
┃ ^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
209 ┃
CallStack (from HasCallStack):
|]
unknownAddr :: ImplicitAddressWithAlias
unknownAddr = AddressWithAlias [ta|tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z|] "unknown-addr"
reportExamples :: [(String, EmulatedT PureM (), Text)]
reportExamples =
[ ("example1", example1, example1ExpectedErr)
, ("exampleWithHelperFunction1", exampleWithHelperFunction1, exampleWithHelperFunction1ExpectedErr)
, ("exampleWithHelperFunction2", exampleWithHelperFunction2, exampleWithHelperFunction2ExpectedErr)
, ("exampleNoCallStack1", exampleNoCallStack1, exampleNoCallStack1ExpectedErr)
, ("exampleMultipleLines1", exampleMultipleLines1, exampleMultipleLines1ExpectedErr)
, ("exampleMultipleLines2", exampleMultipleLines2, exampleMultipleLines2ExpectedErr)
, ("exampleMultipleLines3", exampleMultipleLines3, exampleMultipleLines3ExpectedErr)
, ("exampleMultipleLines4", exampleMultipleLines4, exampleMultipleLines4ExpectedErr)
, ("exampleMultipleLines5", exampleMultipleLines5, exampleMultipleLines5ExpectedErr)
, ("exampleMultipleLines6", exampleMultipleLines6, exampleMultipleLines6ExpectedErr)
]
reportExamplesPath :: Text
reportExamplesPath = fromString $
"test" </> "TestSuite" </> "Cleveland" </> "Tasty" </> "Report" </> "Examples.hs"