diff options
| -rw-r--r-- | haddock.cabal | 2 | ||||
| -rw-r--r-- | tests/html-tests/runtests.hs | 14 | 
2 files changed, 10 insertions, 6 deletions
| diff --git a/haddock.cabal b/haddock.cabal index 221d7245..1180cad0 100644 --- a/haddock.cabal +++ b/haddock.cabal @@ -210,7 +210,7 @@ test-suite html-tests    default-language: Haskell2010    main-is:          runtests.hs    hs-source-dirs:   tests/html-tests -  build-depends:    base, directory, process, filepath, Cabal, regex-compat +  build-depends:    base, directory, process, filepath, Cabal  source-repository head    type:     git diff --git a/tests/html-tests/runtests.hs b/tests/html-tests/runtests.hs index 48ea5214..35de8c0b 100644 --- a/tests/html-tests/runtests.hs +++ b/tests/html-tests/runtests.hs @@ -16,7 +16,6 @@ import System.Exit  import System.FilePath  import System.Process  import Text.Printf -import Text.Regex  packageRoot   = "." @@ -58,7 +57,7 @@ test = do    -- TODO: maybe do something more clever here using haddock.cabal    ghcPath <- fmap init $ rawSystemStdout normal haddockPath ["--print-ghc-path"] -  (_, conf) <- configure normal (Just ghcPath) Nothing emptyProgramConfiguration +  (_, conf) <- configure normal (Just ghcPath) Nothing defaultProgramConfiguration    pkgIndex <- getInstalledPackages normal [GlobalPackageDB] conf    let safeHead xs = case xs of x : _ -> Just x; [] -> Nothing    let mkDep pkgName = @@ -118,9 +117,14 @@ check modules strict = do  haddockEq file1 file2 = stripLinks file1 == stripLinks file2 - -stripLinks f = subRegex (mkRegexWithOpts "<A HREF=[^>]*>" False False) f "<A HREF=\"\">" - +stripLinks str = +  let prefix = "<a href=\"" in +  case stripPrefix prefix str of +    Just str' -> prefix ++ stripLinks (dropWhile (/= '"') str') +    Nothing -> +      case str of +        [] -> [] +        x : xs -> x : stripLinks xs  programOnPath p = do    result <- findProgramLocation silent p | 
