vgrep-0.2.0.0: test/Vgrep/Widget/Pager/Testable.hs
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Vgrep.Widget.Pager.Testable
( module Vgrep.Widget.Pager
, module Vgrep.Widget.Pager.Internal
) where
import Data.Sequence as Seq (fromList)
import Data.Text.Testable ()
import Test.QuickCheck
import Vgrep.Widget.Pager
import Vgrep.Widget.Pager.Internal
instance Arbitrary Pager where
arbitrary = do
linesOfText <- arbitrary
pos <- case linesOfText of
[] -> pure 0
_ -> choose (0, length linesOfText - 1)
pure Pager
{ _column = 0
, _highlighted = mempty
, _above = Seq.fromList (take pos linesOfText)
, _visible = Seq.fromList (drop pos linesOfText) }