packages feed

language-ocaml-0.1.31: test/Language/OCaml/Parser/Int/Test.hs

{-# LANGUAGE OverloadedStrings #-}

module Language.OCaml.Parser.Int.Test
  ( test
  , testStrings
  , unitTests
  ) where

import           Test.Tasty

import           Language.OCaml.Parser.Internal
import           Language.OCaml.Parser.TestUtils

testStrings :: [String]
testStrings =
  -- decimal literals
  [ "0"
  , "1234"
  , "01_23_45_67_89"
  -- hex literals
  , "0x01_23_45_67_89_AB_CD_EF"
  , "0X01_23_45_67_89_ab_cd_ef"
  -- oct literals
  , "0o01_23_45_67"
  , "0O01_23_45_67"
  -- bin literals
  , "0b01"
  , "0B01"
  ]

unitTests :: TestTree
unitTests = testGroup "Language.OCaml.Parser.Int" $ []
  ++ map (mkParsingTest "valLongIdentP" valLongidentP) testStrings

test :: IO ()
test = defaultMain unitTests