cleveland-0.1.0: test/TestSuite/Cleveland/Tasty/Report/Examples.hs
-- SPDX-FileCopyrightText: 2020 Tocqueville Group
--
-- SPDX-License-Identifier: LicenseRef-MIT-TQ
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} ━━━
23 ┃ example1 :: EmulatedT PureM ()
24 ┃ example1 = void $ signBytes "" unknownAddr
┃ ^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
25 ┃
CallStack (from HasCallStack):
|]
----------------------------------------------------------------------------
-- Examples with helper functions
----------------------------------------------------------------------------
exampleWithHelperFunction1 :: EmulatedT PureM ()
exampleWithHelperFunction1 = exampleWithHelperFunction1Helper
exampleWithHelperFunction1Helper :: EmulatedT PureM ()
exampleWithHelperFunction1Helper = void $ signBytes "" unknownAddr
exampleWithHelperFunction1ExpectedErr :: Text
exampleWithHelperFunction1ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
46 ┃ exampleWithHelperFunction1Helper :: EmulatedT PureM ()
47 ┃ exampleWithHelperFunction1Helper = void $ signBytes "" unknownAddr
┃ ^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
48 ┃
CallStack (from HasCallStack):
|]
exampleWithHelperFunction2 :: EmulatedT PureM ()
exampleWithHelperFunction2 = exampleWithHelperFunction2Helper
exampleWithHelperFunction2Helper :: HasCallStack => EmulatedT PureM ()
exampleWithHelperFunction2Helper = withFrozenCallStack $ void $ signBytes "" unknownAddr
exampleWithHelperFunction2ExpectedErr :: Text
exampleWithHelperFunction2ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
62 ┃ exampleWithHelperFunction2 :: EmulatedT PureM ()
63 ┃ exampleWithHelperFunction2 = exampleWithHelperFunction2Helper
┃ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
64 ┃
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} ━━━
99 ┃ exampleMultipleLines1 =
100 ┃ void ( signBytes
101 ┃ ""
102 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
103 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines2 :: EmulatedT PureM ()
exampleMultipleLines2 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines2ExpectedErr :: Text
exampleMultipleLines2ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
120 ┃ exampleMultipleLines2 =
121 ┃ void ( signBytes
122 ┃ ""
123 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
124 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines3 :: EmulatedT PureM ()
exampleMultipleLines3 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines3ExpectedErr :: Text
exampleMultipleLines3ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
141 ┃ exampleMultipleLines3 =
142 ┃ void ( signBytes
143 ┃ ""
144 ┃ unknownAddr )
┃ ^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
145 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines4 :: EmulatedT PureM ()
exampleMultipleLines4 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines4ExpectedErr :: Text
exampleMultipleLines4ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
162 ┃ exampleMultipleLines4 =
163 ┃ void ( signBytes
164 ┃ ""
165 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
166 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines5 :: EmulatedT PureM ()
exampleMultipleLines5 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines5ExpectedErr :: Text
exampleMultipleLines5ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
183 ┃ exampleMultipleLines5 =
184 ┃ void ( signBytes
185 ┃ ""
186 ┃ unknownAddr )
┃ ^^^^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
187 ┃
CallStack (from HasCallStack):
|]
exampleMultipleLines6 :: EmulatedT PureM ()
exampleMultipleLines6 =
void ( signBytes
""
unknownAddr )
exampleMultipleLines6ExpectedErr :: Text
exampleMultipleLines6ExpectedErr =
[itu|
┏━━ #{reportExamplesPath} ━━━
204 ┃ exampleMultipleLines6 =
205 ┃ void ( signBytes
206 ┃ ""
207 ┃ unknownAddr )
┃ ^^^^^^^^^^^
┃ | Unknown address provided: tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z
208 ┃
CallStack (from HasCallStack):
|]
unknownAddr :: Address
unknownAddr = unsafeParseAddress "tz1X59tp9P7sk8qdPwqqATVbURbN6o8sMZ7Z"
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"