cleveland-0.1.0: morley-test/Test/Interpreter/StackRef.hs
-- SPDX-FileCopyrightText: 2020 Tocqueville Group
--
-- SPDX-License-Identifier: LicenseRef-MIT-TQ
-- | Interpreter tests involving 'StackRef'.
module Test.Interpreter.StackRef
( test_mkStackRef
) where
import Data.Default (def)
import Test.Tasty (TestTree)
import Morley.Michelson.Typed
import Test.Cleveland
test_mkStackRef :: TestTree
test_mkStackRef =
testScenarioOnEmulator "does not segfault" $ scenario do
handle <- originateTypedSimple @() @() @() "test_contract" () contract
call handle CallDefault ()
where
stackRef = PrintComment . one . Right $ mkStackRef @1
contract :: Contract 'TUnit 'TUnit
contract = Contract
{ cCode = contractCode
, cStoreNotes = starNotes
, cParamNotes = starParamNotes
, cEntriesOrder = def
, cViews = def
}
contractCode :: ContractCode 'TUnit 'TUnit
contractCode =
CAR `Seq` DUP `Seq` Ext (PRINT stackRef) `Seq`
DROP `Seq` NIL `Seq` PAIR