
module Bugs.Bug6 (main) where

import Text.Megaparsec
import Text.Megaparsec.String

import Test.Framework
import Test.Framework.Providers.HUnit
import Test.HUnit hiding (Test)

import Util

main :: Test
main =
  testCase "Look-ahead preserving error location (#6)" $
  parseErrors variable "return" @?= ["'return' is a reserved keyword"]

variable :: Parser String
variable = do
      x <- lookAhead (some letterChar)
      if x == "return"
      then fail "'return' is a reserved keyword"
      else string x
