Skip to content

Commit

Permalink
Fix parser tests using keywords in the wrong place
Browse files Browse the repository at this point in the history
  • Loading branch information
bristermitten committed Sep 2, 2024
1 parent ff108a3 commit 5ae03a7
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions templatespiler-parser/test/Main.hs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{-# LANGUAGE OverloadedStrings #-}

module Main where

import Language.Templatespiler.Parser
Expand All @@ -9,6 +11,7 @@ import Hedgehog
import Hedgehog.Gen qualified as Gen
import Hedgehog.Range qualified as Range

import Data.Set qualified as Set
import Hedgehog.Internal.Property (failWith)
import Prettyprinter (defaultLayoutOptions, layoutPretty, unAnnotate)
import Prettyprinter.Render.String
Expand All @@ -23,12 +26,19 @@ arbitraryBindingList = Gen.sized $ \size ->
arbitraryBinding :: Gen Binding
arbitraryBinding = Binding <$> arbitraryIdent <*> arbitraryType

keywords :: Set Text
keywords = Set.fromList ["list", "array", "sep-by"]

arbitraryIdent :: Gen Ident
arbitraryIdent =
Ident <$> do
first <- Gen.lower
rest <- Gen.string (Range.linear 0 10) Gen.alphaNum
pure $ toText (first : rest)
Ident
<$> Gen.filter
(`Set.notMember` keywords)
( do
first <- Gen.lower
rest <- Gen.string (Range.linear 0 10) Gen.alphaNum
pure $ toText (first : rest)
)

arbitraryType :: Gen Type
arbitraryType = Gen.sized $ \size ->
Expand Down

0 comments on commit 5ae03a7

Please sign in to comment.