From 1ade68e7252dda79c365cc9ec187c2bea3513cae Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 21 Dec 2024 21:26:14 +0530 Subject: Add spec cases for render --- specs/Mock.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'specs/Mock.hs') diff --git a/specs/Mock.hs b/specs/Mock.hs index c44aff3..d0daab1 100644 --- a/specs/Mock.hs +++ b/specs/Mock.hs @@ -8,6 +8,7 @@ import Control.Monad (void) import Control.Monad.IO.Class (MonadIO) import Control.Monad.State (MonadState (state), StateT (runStateT)) import Data.Text (Text) +import qualified Data.Text as Text import Foreign.C (CInt) import Test.Hspec @@ -63,9 +64,12 @@ mockWindowOffsetX = 200 mockWindowOffsetY :: CInt mockWindowOffsetY = 100 +mockTextWidth :: Int +mockTextWidth = 10 + instance (MonadIO m) => MonadDraw (TestM m) where drawLine p1 p2 = registerMockCall $ CallDrawLine p1 p2 - drawText p color text = (0, 0) <$ registerMockCall (CallDrawText p color text) + drawText p color text = (fromIntegral $ mockTextWidth * Text.length text, 0) <$ registerMockCall (CallDrawText p color text) drawCircle radius p = registerMockCall $ CallDrawCircle radius p setDrawColor color = registerMockCall $ CallSetDrawColor color windowSize = (mockWindowWidth, mockWindowHeight) <$ registerMockCall CallWindowSize -- cgit v1.3.1