Glob-0.1: tests/Tests/Regression.hs
-- File created: 2008-10-15 20:21:41
module Tests.Regression (tests) where
import Test.Framework
import Test.Framework.Providers.HUnit
import Test.HUnit.Base
import System.FilePath.Glob.Compile
import System.FilePath.Glob.Match
tests =
[ testGroup "Regression" $
flip map testCases $ \t@(b,p,s) ->
testCase (nameTest t) . assertBool "failed" $
match (compile p) s == b
]
nameTest (True ,p,s) = show p ++ " matches " ++ show s
nameTest (False,p,s) = show p ++ " doesn't match " ++ show s
testCases =
[ (True , "*" , "")
, (True , "**" , "")
, (True , "asdf" , "asdf")
, (True , "a*f" , "asdf")
, (True , "a??f" , "asdf")
, (True , "*" , "asdf")
, (True , "a*bc" , "aXbaXbc")
, (True , "a**bc" , "aXbaXbc")
, (False, "a*b" , "aXc")
, (True , "foo/bar.*" , "foo/bar.baz")
, (True , "foo/*.baz" , "foo/bar.baz")
, (False, "*bar.*" , "foo/bar.baz")
, (False, "*.baz" , "foo/bar.baz")
, (False, "foo*" , "foo/bar.baz")
, (False, "foo?bar.baz", "foo/bar.baz")
, (True , "**/*.baz" , "foo/bar.baz")
, (True , "**/*" , "foo/bar.baz")
, (True , "**/*" , "foo/bar/baz")
, (True , "*/*.baz" , "foo/bar.baz")
, (True , "*/*" , "foo/bar.baz")
, (False, "*/*" , "foo/bar/baz")
, (False, "*.foo" , ".bar.foo")
, (False, "*.bar.foo" , ".bar.foo")
, (False, "?bar.foo" , ".bar.foo")
, (True , ".*.foo" , ".bar.foo")
, (True , ".*bar.foo" , ".bar.foo")
, (False, "foo.[ch]" , "foo.a")
, (True , "foo.[ch]" , "foo.c")
, (True , "foo.[ch]" , "foo.h")
, (False, "foo.[ch]" , "foo.d")
, (False, "foo.[c-h]" , "foo.b")
, (True , "foo.[c-h]" , "foo.c")
, (True , "foo.[c-h]" , "foo.e")
, (True , "foo.[c-h]" , "foo.f")
, (True , "foo.[c-h]" , "foo.h")
, (False, "foo.[c-h]" , "foo.i")
, (True , "<->3foo" , "123foo")
, (True , "<10-15>3foo", "123foo")
, (True , "<0-5>23foo" , "123foo")
, (True , "<94-200>foo", "123foo")
, (False, "[.]x" , ".x")
, (False, "foo[/]bar" , "foo/bar")
, (False, "foo[,-0]bar", "foo/bar")
, (True , "foo[,-0]bar", "foo.bar")
, (True , "[]x]" , "]")
, (True , "[]x]" , "x")
, (False, "[b-a]" , "a")
, (False, "<4-3>" , "3")
, (True , "[]-b]" , "]")
, (True , "[]-b]" , "-")
, (True , "[]-b]" , "b")
, (False, "[]-b]" , "a")
, (False, "[^x]" , "/")
, (False, "[/]" , "/")
, (True , "a[^x]" , "a.")
, (True , "a[.]" , "a.")
]