From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-haskell/test-framework-th/metadata.xml | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 dev-haskell/test-framework-th/metadata.xml (limited to 'dev-haskell/test-framework-th/metadata.xml') diff --git a/dev-haskell/test-framework-th/metadata.xml b/dev-haskell/test-framework-th/metadata.xml new file mode 100644 index 000000000000..a8fce2d224aa --- /dev/null +++ b/dev-haskell/test-framework-th/metadata.xml @@ -0,0 +1,57 @@ + + + + + haskell@gentoo.org + Gentoo Haskell + + + @test-framework-th@ contains two interesting functions: @defaultMainGenerator@ and @testGroupGenerator@. + + @defaultMainGenerator@ will extract all functions beginning with case_ or prop_ in the module and put them in a testGroup. + + > -- file SomeModule.hs + > ( -# LANGUAGE TemplateHaskell #- ) + > module SomeModule where + > import Test.Framework.TH + > import Test.Framework + > import Test.HUnit + > import Test.Framework.Providers.HUnit + > import Test.Framework.Providers.QuickCheck2 + > + > -- observe this line! + > main = $(defaultMainGenerator) + > case_1 = do 1 @=? 1 + > case_2 = do 2 @=? 2 + > prop_reverse xs = reverse (reverse xs) == xs + > where types = xs::[Int] + + is the same as + + > -- file SomeModule.hs + > ( -# LANGUAGE TemplateHaskell #- ) + > module SomeModule where + > import Test.Framework.TH + > import Test.Framework + > import Test.HUnit + > import Test.Framework.Providers.HUnit + > import Test.Framework.Providers.QuickCheck2 + > + > -- observe this line! + > main = + > defaultMain [ + > testGroup "SomeModule" [ testCase "1" case_1, testCase "2" case_2, testProperty "reverse" prop_reverse] + > ] + > + > case_1 = do 1 @=? 1 + > case_2 = do 2 @=? 2 + > prop_reverse xs = reverse (reverse xs) == xs + > where types = xs::[Int] + + @testGroupGenerator@ is like @defaultMainGenerator@ but without @defaultMain@. It is useful if you need a function for the testgroup + (e.g. if you want to be able to call the testgroup from another module). + + + finnsson/test-generator + + -- cgit v1.2.3