[Pkg-haskell-commits] [SCM] haskell-testpack branch, master, updated. debian/1.0.2-1-4-gb0d6b36

John Goerzen jgoerzen at complete.org
Fri Apr 23 14:47:21 UTC 2010


The following commit has been merged in the master branch:
commit b56a1133c03bf57ac0ae452f3799c381e3cfebc9
Author: John Goerzen <jgoerzen at complete.org>
Date:   Fri Nov 19 00:11:30 2004 +0100

    Fixed up loken parser
    
    Keywords:
    
    
    (jgoerzen at complete.org--projects/missingh--head--0.5--patch-73)

diff --git a/ChangeLog b/ChangeLog
index 6b10def..e5bdf83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,27 @@
 # arch-tag: automatic-ChangeLog--jgoerzen at complete.org--projects/missingh--head--0.5
 #
 
+2004-11-18 17:11:30 GMT	John Goerzen <jgoerzen at complete.org>	patch-73
+
+    Summary:
+      Fixed up loken parser
+    Revision:
+      missingh--head--0.5--patch-73
+
+
+    new files:
+     testsrc/ConfigParser/.arch-ids/=id
+     testsrc/ConfigParser/RunParsertest.hs
+
+    modified files:
+     ChangeLog libsrc/MissingH/ConfigParser/Lexer.hs
+     libsrc/MissingH/ConfigParser/Parser.hs
+     libsrc/MissingH/ConfigParser/RunParser.hs testsrc/Tests.hs
+
+    new directories:
+     testsrc/ConfigParser testsrc/ConfigParser/.arch-ids
+
+
 2004-11-18 16:53:48 GMT	John Goerzen <jgoerzen at complete.org>	patch-72
 
     Summary:
diff --git a/libsrc/MissingH/ConfigParser/Lexer.hs b/libsrc/MissingH/ConfigParser/Lexer.hs
index f94a21c..e4975ac 100644
--- a/libsrc/MissingH/ConfigParser/Lexer.hs
+++ b/libsrc/MissingH/ConfigParser/Lexer.hs
@@ -73,17 +73,20 @@ optionpair = do
              value <- optionvalue
              return (key, value)
 
-loken :: Parser CPTok
-loken =
+iloken :: Parser CPTok
+iloken =
     -- Ignore these things
-    do {eol; loken}
-    <|> do {comment_line; loken}
-    <|> do {empty_line; loken}
+    do {eol; iloken}
+    <|> do {comment_line; iloken}
+    <|> do {empty_line; iloken}
     
     -- Real stuff
     <|> do {sname <- sectheader; return $ NEWSECTION sname}
     <|> do {pair <- optionpair; return $ NEWOPTION pair}
     <|> do {extension <- extension_line; return $ EXTENSIONLINE extension}
-    <|> do {eof; return EOFTOK}
     <?> "Invalid syntax in configuration file"
 
+loken :: Parser [CPTok]
+loken = do
+        l <- manyTill iloken eof
+        return $ l ++ [EOFTOK]
diff --git a/libsrc/MissingH/ConfigParser/Parser.hs b/libsrc/MissingH/ConfigParser/Parser.hs
index dee96f8..10bbc04 100644
--- a/libsrc/MissingH/ConfigParser/Parser.hs
+++ b/libsrc/MissingH/ConfigParser/Parser.hs
@@ -34,6 +34,7 @@ Copyright (c) 2004 John Goerzen, jgoerzen\@complete.org
 module MissingH.ConfigParser.Parser
 (
        CPTok(..),
+       satisfyG,
        main
 ) where
 import Text.ParserCombinators.Parsec
diff --git a/libsrc/MissingH/ConfigParser/RunParser.hs b/libsrc/MissingH/ConfigParser/RunParser.hs
index e612304..f132703 100644
--- a/libsrc/MissingH/ConfigParser/RunParser.hs
+++ b/libsrc/MissingH/ConfigParser/RunParser.hs
@@ -52,4 +52,4 @@ detokenize fp l =
 
 parse_string :: String -> [(String, [(String, String)])]
 parse_string s = 
-    detokenize "(string)" $ parse (many1 loken) "(string)" s
\ No newline at end of file
+    detokenize "(string)" $ parse loken "(string)" s
\ No newline at end of file
diff --git a/testsrc/IOtest.hs b/testsrc/ConfigParser/RunParsertest.hs
similarity index 68%
copy from testsrc/IOtest.hs
copy to testsrc/ConfigParser/RunParsertest.hs
index ef23d84..8341469 100644
--- a/testsrc/IOtest.hs
+++ b/testsrc/ConfigParser/RunParsertest.hs
@@ -1,4 +1,4 @@
-{- arch-tag: IO tests main file
+{- arch-tag: ConfigParser parser tests main file
 Copyright (C) 2004 John Goerzen <jgoerzen at complete.org>
 
 This program is free software; you can redistribute it and/or modify
@@ -16,13 +16,16 @@ along with this program; if not, write to the Free Software
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 -}
 
-module IOtest(foo) where
+module ConfigParser.RunParsertest(tests) where
 import HUnit
-import MissingH.IO
+import MissingH.ConfigParser.RunParser
 import Testutil
 
-foo = hInteract
-
-
-
+test_basic =
+    let f inp exp = exp @=? parse_string inp in
+        do
+        --f "" []
+        f "foo: bar" [("DEFAULT", [("foo", "bar")])]
 
+tests = TestList [TestLabel "test_basic" (TestCase test_basic)
+                 ]
\ No newline at end of file
diff --git a/testsrc/Tests.hs b/testsrc/Tests.hs
index f05f5c5..693c9ad 100644
--- a/testsrc/Tests.hs
+++ b/testsrc/Tests.hs
@@ -27,6 +27,7 @@ import qualified IOtest
 import qualified Bitstest
 import qualified Printftest
 import qualified Network.FTP.Parsertest
+import qualified ConfigParser.RunParsertest
 
 test1 = TestCase ("x" @=? "x")
 
@@ -38,6 +39,7 @@ tests = TestList [TestLabel "test1" test1,
                  TestLabel "MIMETypes" MIMETypestest.tests,
                  TestLabel "Bitstest" Bitstest.tests,
                  TestLabel "Network.FTP.Parser" Network.FTP.Parsertest.tests,
-                 TestLabel "Printftest" Printftest.tests]
+                 TestLabel "Printftest" Printftest.tests,
+                 TestLabel "ConfigParser.RunParser" ConfigParser.RunParsertest.tests]
 
 

-- 
haskell-testpack



More information about the Pkg-haskell-commits mailing list