summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs')
-rw-r--r--testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs107
1 files changed, 0 insertions, 107 deletions
diff --git a/testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs b/testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs
deleted file mode 100644
index 7a3fd515e9..0000000000
--- a/testsuite/tests/ghc-regress/lib/should_run/dynamic001.hs
+++ /dev/null
@@ -1,107 +0,0 @@
--- !!! Dynamic library regression tests
-module Main(main) where
-
-import Data.Dynamic
-
-main :: IO ()
-main = do
- test "toDyn" toDyn_list
- testIO "fromDyn" fromDyn_test
-
-toDyn_list :: [Dynamic]
-toDyn_list =
- [ toDyn (1::Int)
- , toDyn ('a')
- , toDyn False
- , toDyn ((-1.0)::Float)
- , toDyn (0.0::Double)
- , toDyn (1394::Integer)
- , toDyn (print "hello")
- , toDyn toDyn_list
- , toDyn ([]::[Int])
- , toDyn (Nothing :: Maybe Int)
- , toDyn ((Just 2) :: Maybe Int)
- , toDyn ((Just 2) :: Maybe Int)
- , toDyn ((Left 3) :: Either Int Bool)
- , toDyn ((Right 3) :: Either Char Int)
- , toDyn ()
- , toDyn LT
- , toDyn ((),2::Int)
- , toDyn ((),2::Int,'a')
- , toDyn ((),2::Int,'a',1.0::Double)
- , toDyn ((),2::Int,'a',1.0::Double,Nothing::Maybe Bool)
- , toDyn ((+) :: Int -> Int -> Int)
- , toDyn ((+) :: Integer -> Integer -> Integer)
- , toDyn ((++) :: [Char] -> [Char] -> [Char])
- ]
-
--- Testing the conversion from Dynamic values:
-fromDyn_test :: IO ()
-fromDyn_test = do
- print (fromDyn (toDyn (1::Int)) (0::Int))
- print (fromDyn (toDyn ('a'::Char)) (0::Int))
- print (fromDyn (toDyn 'a') 'b')
- print (fromDyn (toDyn (1::Float)) (0::Float))
- print (fromDyn (toDyn (2::Float)) (0::Int))
- print (fromDyn (toDyn (3::Double)) (0::Double))
- print (fromDyn (toDyn (4::Double)) (0::Int))
- print (fromDyn (toDyn (5::Integer)) (0::Integer))
- print (fromDyn (toDyn (6::Integer)) False)
- print (fromDyn (toDyn [1,3,5::Integer]) ([]::[Integer]))
- print (fromDyn (toDyn (Just True)) (Nothing::Maybe Bool))
- print (fromDyn (toDyn (Left True::Either Bool Bool)) (Right False :: Either Bool Bool))
- print (fromDyn (toDyn LT) GT)
- print (fromDyn (toDyn ((+1)::Int->Int)) False)
- print ((fromDyn (toDyn ((+1)::Int->Int)) ((+2)::Int->Int)) 3)
- print ((fromDyn (toDyn ((++)::[Int]->[Int]->[Int])) ((undefined)::[Int]->[Int]->[Int])) [1] [2])
-
-
--- Misc test utilities:
-test :: Show a => String -> [a] -> IO ()
-test str ls = do
- putStrLn ("*** Testing: " ++ str ++ " ***")
- putStrLn (showListLn ls)
-
-testIO :: String -> IO () -> IO ()
-testIO str tst = do
- putStrLn ("*** Testing: " ++ str ++ " ***")
- tst
-
-
--- showListLn presents a list in a diff-friendly format.
--- showListLn [a1,..an]
--- =>
--- [ a1
--- , a2
--- ..
--- , an
--- ]
---
-showListLn :: Show a => [a] -> String
-showListLn [] = ""
-showListLn ls = '[' : ' ' : go ls
- where
- go [x] = show x ++ "\n]"
- go (x:xs) = show x ++ '\n':',':' ':go xs
-
-{-
-test8 = toDyn (mkAppTy listTc)
-test9 :: Float
-test9 = fromDyn test8 0
-
-printf :: String -> [Dynamic] -> IO ()
-printf str args = putStr (decode str args)
- where
- decode [] [] = []
- decode ('%':'n':cs) (d:ds) =
- (\ v -> show v++decode cs ds) (fromDyn d (0::Int))
- decode ('%':'c':cs) (d:ds) =
- (\ v -> show v++decode cs ds) (fromDyn d ('\0'))
- decode ('%':'b':cs) (d:ds) =
- (\ v -> show v++decode cs ds) (fromDyn d (False::Bool))
- decode (x:xs) ds = x:decode xs ds
-
-test10 :: IO ()
-test10 = printf "%n = %c, that much is %b\n" [toDyn (3::Int),toDyn 'a', toDyn False]
-
--}