diff options
| author | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-08-05 17:58:08 +0200 | 
|---|---|---|
| committer | Łukasz Hanuszczak <lukasz.hanuszczak@gmail.com> | 2015-08-22 23:40:27 +0200 | 
| commit | 8af6bdb677b6fc91752a5276e8f7a7c17f5881e7 (patch) | |
| tree | 40dfb00e96617ed990054664c68d0a9bce6fdaad | |
| parent | b816a40ecb60ee04ab63558cd17373907e9bf4c4 (diff) | |
Incorporate link stripping to output diffing mechanism.
| -rwxr-xr-x | html-test/run.hs | 20 | 
1 files changed, 11 insertions, 9 deletions
| diff --git a/html-test/run.hs b/html-test/run.hs index f416f07c..06f20ee6 100755 --- a/html-test/run.hs +++ b/html-test/run.hs @@ -168,18 +168,16 @@ checkModule mdl = do                  then Pass                  else Fail          else return NoRef -  where -    readXml = liftM Xml.parseXMLDoc . readFile  diffModule :: FilePath -> String -> IO ()  diffModule diff mdl = do -    out <- readFile $ outFile mdl -    ref <- readFile $ refFile mdl -    let out' = stripLinks . dropVersion $ out -    let ref' = stripLinks . dropVersion $ ref -    writeFile outFile' out' -    writeFile refFile' ref' +    Just outXml <- readXml $ outFile mdl +    Just refXml <- readXml $ refFile mdl +    let outXml' = strip outXml +    let refXml' = strip refXml +    writeFile outFile' $ Xml.ppElement outXml' +    writeFile refFile' $ Xml.ppElement refXml'      putStrLn $ "Diff for module " ++ show mdl ++ ":"      handle <- runProcess' diff $ processConfig @@ -265,12 +263,16 @@ deriving instance Eq Xml.Element  deriving instance Eq Xml.CData +readXml :: FilePath -> IO (Maybe Xml.Element) +readXml = liftM Xml.parseXMLDoc . readFile + +  strip :: Xml.Element -> Xml.Element  strip =      everywhere (mkT unlink)    where      unlink attr@(Xml.Attr { attrKey = key }) -        | Xml.qName key == "href" = attr { Xml.attrVal = "" } +        | Xml.qName key == "href" = attr { Xml.attrVal = "#" }          | otherwise = attr | 
