From 0bdcf415e4eff83ad8e35c1d41c8a28e0bbd5da1 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Tue, 28 Sep 2021 21:17:53 -0700 Subject: Switch from pretty-simple to pretty-show for native output. Update tests. Reason: it turns out that the native output generated by pretty-simple isn't always readable by the native reader. According to https://github.com/cdepillabout/pretty-simple/issues/99 it is not a design goal of the library that the rendered values be readable using 'read'. This makes it unsuitable for our purposes. pretty-show is a bit slower and it uses 4-space indents (non-configurable), but it doesn't have this serious drawback. --- test/haddock-reader.native | 777 ++++++++++++++++++++++----------------------- 1 file changed, 373 insertions(+), 404 deletions(-) (limited to 'test/haddock-reader.native') diff --git a/test/haddock-reader.native b/test/haddock-reader.native index 2d61cb0b8..619a52fea 100644 --- a/test/haddock-reader.native +++ b/test/haddock-reader.native @@ -1,432 +1,401 @@ Pandoc - ( Meta { unMeta = fromList [] } ) + Meta { unMeta = fromList [] } [ Para - [ Str "This" - , Space - , Str "file" - , Space - , Str "tests" - , Space - , Str "the" - , Space - , Str "Pandoc" - , Space - , Str "reader" - , Space - , Str "for" - , Space - , Str "Haddock." - , SoftBreak - , Str "We've" - , Space - , Str "borrowed" - , Space - , Str "examples" - , Space - , Str "from" - , Space - , Str "Haddock's" - , Space - , Str "documentation:" - , Space - , Link - ( "", [], [] ) - [ Str "http://www.haskell.org/haddock/doc/html/ch03s08.html" ] - ( "http://www.haskell.org/haddock/doc/html/ch03s08.html" - , "http://www.haskell.org/haddock/doc/html/ch03s08.html" - ) - , Str "." - ] + [ Str "This" + , Space + , Str "file" + , Space + , Str "tests" + , Space + , Str "the" + , Space + , Str "Pandoc" + , Space + , Str "reader" + , Space + , Str "for" + , Space + , Str "Haddock." + , SoftBreak + , Str "We've" + , Space + , Str "borrowed" + , Space + , Str "examples" + , Space + , Str "from" + , Space + , Str "Haddock's" + , Space + , Str "documentation:" + , Space + , Link + ( "" , [] , [] ) + [ Str "http://www.haskell.org/haddock/doc/html/ch03s08.html" + ] + ( "http://www.haskell.org/haddock/doc/html/ch03s08.html" + , "http://www.haskell.org/haddock/doc/html/ch03s08.html" + ) + , Str "." + ] , Para - [ Str "The" - , Space - , Str "following" - , Space - , Str "characters" - , Space - , Str "have" - , Space - , Str "special" - , Space - , Str "meanings" - , Space - , Str "in" - , Space - , Str "Haddock," - , Space - , Str "/," - , Space - , Str "'," - , Space - , Str "`," - , Space - , Str "\"," - , Space - , Str "@," - , Space - , Str "<," - , Space - , Str "so" - , Space - , Str "they" - , Space - , Str "must" - , Space - , Str "be" - , Space - , Str "escaped." - ] + [ Str "The" + , Space + , Str "following" + , Space + , Str "characters" + , Space + , Str "have" + , Space + , Str "special" + , Space + , Str "meanings" + , Space + , Str "in" + , Space + , Str "Haddock," + , Space + , Str "/," + , Space + , Str "'," + , Space + , Str "`," + , Space + , Str "\"," + , Space + , Str "@," + , Space + , Str "<," + , Space + , Str "so" + , Space + , Str "they" + , Space + , Str "must" + , Space + , Str "be" + , Space + , Str "escaped." + ] , Para - [ Str "*" - , Space - , Str "This" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "paragraph," - , Space - , Str "not" - , Space - , Str "a" - , Space - , Str "list" - , Space - , Str "item." - , SoftBreak - , Str ">" - , Space - , Str "This" - , Space - , Str "sentence" - , Space - , Str "is" - , Space - , Str "not" - , Space - , Str "code." - , SoftBreak - , Str ">>>" - , Space - , Str "This" - , Space - , Str "is" - , Space - , Str "not" - , Space - , Str "an" - , Space - , Str "example." - ] + [ Str "*" + , Space + , Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "paragraph," + , Space + , Str "not" + , Space + , Str "a" + , Space + , Str "list" + , Space + , Str "item." + , SoftBreak + , Str ">" + , Space + , Str "This" + , Space + , Str "sentence" + , Space + , Str "is" + , Space + , Str "not" + , Space + , Str "code." + , SoftBreak + , Str ">>>" + , Space + , Str "This" + , Space + , Str "is" + , Space + , Str "not" + , Space + , Str "an" + , Space + , Str "example." + ] , Para - [ Str "The" - , Space - , Str "references" - , Space - , Str "\955," - , Space - , Str "\955" - , Space - , Str "and" - , Space - , Str "\955" - , Space - , Str "all" - , Space - , Str "represent" - , Space - , Str "the" - , Space - , Str "lower-case" - , Space - , Str "letter" - , Space - , Str "lambda." - ] + [ Str "The" + , Space + , Str "references" + , Space + , Str "\955," + , Space + , Str "\955" + , Space + , Str "and" + , Space + , Str "\955" + , Space + , Str "all" + , Space + , Str "represent" + , Space + , Str "the" + , Space + , Str "lower-case" + , Space + , Str "letter" + , Space + , Str "lambda." + ] , Para - [ Str "This" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "code" - , Space - , Str "block:" - ] + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "code" + , Space + , Str "block:" + ] , CodeBlock - ( "" - , [] - , [] - ) "map :: (a -> b) -> [a] -> [b]\nmap _ [] = []\nmap f (x:xs) = f x : map f xs" + ( "" , [] , [] ) + "map :: (a -> b) -> [a] -> [b]\nmap _ [] = []\nmap f (x:xs) = f x : map f xs" , Para - [ Str "This" - , Space - , Str "is" - , Space - , Str "another" - , Space - , Str "code" - , Space - , Str "block:" - ] + [ Str "This" + , Space + , Str "is" + , Space + , Str "another" + , Space + , Str "code" + , Space + , Str "block:" + ] , Para - [ Code - ( "", [], [] ) "f x = x + x." - , LineBreak - , Code - ( "", [], [] ) "The @...@ code block " - , Emph - [ Code ( "", [], [] ) "interprets markup normally" ] - , Code - ( "", [], [] ) "." - , Code - ( "", [ "haskell", "module" ], [] ) "Module.Foo" - , Code - ( "", [], [] ) "" - , LineBreak - , Code - ( "", [], [] ) "\"Hello World\"" - ] + [ Code ( "" , [] , [] ) "f x = x + x." + , LineBreak + , Code ( "" , [] , [] ) "The @...@ code block " + , Emph + [ Code ( "" , [] , [] ) "interprets markup normally" ] + , Code ( "" , [] , [] ) "." + , Code ( "" , [ "haskell" , "module" ] , [] ) "Module.Foo" + , Code ( "" , [] , [] ) "" + , LineBreak + , Code ( "" , [] , [] ) "\"Hello World\"" + ] , Para - [ Str "Haddock" - , Space - , Str "supports" - , Space - , Str "REPL" - , Space - , Str "examples:" - ] + [ Str "Haddock" + , Space + , Str "supports" + , Space + , Str "REPL" + , Space + , Str "examples:" + ] , Para - [ Code - ( "", [ "prompt" ], [] ) ">>>" - , Space - , Code - ( "", [ "haskell", "expr" ], [] ) "fib 10" - , LineBreak - , Code - ( "", [ "result" ], [] ) "55" - ] + [ Code ( "" , [ "prompt" ] , [] ) ">>>" + , Space + , Code ( "" , [ "haskell" , "expr" ] , [] ) "fib 10" + , LineBreak + , Code ( "" , [ "result" ] , [] ) "55" + ] , Para - [ Code - ( "", [ "prompt" ], [] ) ">>>" - , Space - , Code - ( "", [ "haskell", "expr" ], [] ) "putStrLn \"foo\\nbar\"" - , LineBreak - , Code - ( "", [ "result" ], [] ) "foo" - , LineBreak - , Code - ( "", [ "result" ], [] ) "bar" - ] + [ Code ( "" , [ "prompt" ] , [] ) ">>>" + , Space + , Code + ( "" , [ "haskell" , "expr" ] , [] ) + "putStrLn \"foo\\nbar\"" + , LineBreak + , Code ( "" , [ "result" ] , [] ) "foo" + , LineBreak + , Code ( "" , [ "result" ] , [] ) "bar" + ] , Para - [ Str "That" - , Space - , Str "was" - , Space - , Emph - [ Str "really", Space, Str "cool" ] - , Str "!" - , SoftBreak - , Str "I" - , Space - , Str "had" - , Space - , Str "no" - , Space - , Str "idea" - , Space - , Code - ( "", [], [] ) "fib 10 = 55" - , Str "." - ] + [ Str "That" + , Space + , Str "was" + , Space + , Emph [ Str "really" , Space , Str "cool" ] + , Str "!" + , SoftBreak + , Str "I" + , Space + , Str "had" + , Space + , Str "no" + , Space + , Str "idea" + , Space + , Code ( "" , [] , [] ) "fib 10 = 55" + , Str "." + ] , Para - [ Str "This" - , Space - , Str "module" - , Space - , Str "defines" - , Space - , Str "the" - , Space - , Str "type" - , Space - , Code - ( "", [ "haskell", "identifier" ], [] ) "T" - , Str "." - , SoftBreak - , Str "The" - , Space - , Str "identifier" - , Space - , Code - ( "", [ "haskell", "identifier" ], [] ) "M.T" - , Space - , Str "is" - , Space - , Str "not" - , Space - , Str "in" - , Space - , Str "scope" - , SoftBreak - , Str "I" - , Space - , Str "don't" - , Space - , Str "have" - , Space - , Str "to" - , Space - , Str "escape" - , Space - , Str "my" - , Space - , Str "apostrophes;" - , Space - , Str "great," - , Space - , Str "isn't" - , Space - , Str "it?" - , SoftBreak - , Str "This" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "reference" - , Space - , Str "to" - , Space - , Str "the" - , Space - , Code - ( "", [ "haskell", "module" ], [] ) "Foo" - , Space - , Str "module." - ] + [ Str "This" + , Space + , Str "module" + , Space + , Str "defines" + , Space + , Str "the" + , Space + , Str "type" + , Space + , Code ( "" , [ "haskell" , "identifier" ] , [] ) "T" + , Str "." + , SoftBreak + , Str "The" + , Space + , Str "identifier" + , Space + , Code ( "" , [ "haskell" , "identifier" ] , [] ) "M.T" + , Space + , Str "is" + , Space + , Str "not" + , Space + , Str "in" + , Space + , Str "scope" + , SoftBreak + , Str "I" + , Space + , Str "don't" + , Space + , Str "have" + , Space + , Str "to" + , Space + , Str "escape" + , Space + , Str "my" + , Space + , Str "apostrophes;" + , Space + , Str "great," + , Space + , Str "isn't" + , Space + , Str "it?" + , SoftBreak + , Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "reference" + , Space + , Str "to" + , Space + , Str "the" + , Space + , Code ( "" , [ "haskell" , "module" ] , [] ) "Foo" + , Space + , Str "module." + ] , Para - [ Str "This" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "bulleted" - , Space - , Str "list:" - ] + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "bulleted" + , Space + , Str "list:" + ] , BulletList - [ - [ Para [ Str "first", Space, Str "item" ] ] - , - [ Para [ Str "second", Space, Str "item" ] ] - ] + [ [ Para [ Str "first" , Space , Str "item" ] ] + , [ Para [ Str "second" , Space , Str "item" ] ] + ] , Para - [ Str "This" - , Space - , Str "is" - , Space - , Str "an" - , Space - , Str "enumerated" - , Space - , Str "list:" - ] + [ Str "This" + , Space + , Str "is" + , Space + , Str "an" + , Space + , Str "enumerated" + , Space + , Str "list:" + ] , OrderedList - ( 1, DefaultStyle, DefaultDelim ) - [ - [ Para [ Str "first", Space, Str "item" ] ] - , - [ Para [ Str "second", Space, Str "item" ] ] - ] + ( 1 , DefaultStyle , DefaultDelim ) + [ [ Para [ Str "first" , Space , Str "item" ] ] + , [ Para [ Str "second" , Space , Str "item" ] ] + ] , Para - [ Str "This" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "definition" - , Space - , Str "list:" - ] + [ Str "This" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "definition" + , Space + , Str "list:" + ] , DefinitionList - [ - ( - [ Code ( "", [], [] ) "foo" ] - , - [ - [ Para - [ Str "The" - , Space - , Str "description" - , Space - , Str "of" - , Space - , Code - ( "", [], [] ) "foo" - , Str "." + [ ( [ Code ( "" , [] , [] ) "foo" ] + , [ [ Para + [ Str "The" + , Space + , Str "description" + , Space + , Str "of" + , Space + , Code ( "" , [] , [] ) "foo" + , Str "." + ] ] ] - ] - ) - , - ( - [ Code ( "", [], [] ) "bar" ] - , - [ - [ Para - [ Str "The" - , Space - , Str "description" - , Space - , Str "of" - , Space - , Code - ( "", [], [] ) "bar" - , Str "." + ) + , ( [ Code ( "" , [] , [] ) "bar" ] + , [ [ Para + [ Str "The" + , Space + , Str "description" + , Space + , Str "of" + , Space + , Code ( "" , [] , [] ) "bar" + , Str "." + ] ] ] - ] - ) - ] + ) + ] , Para - [ Str "Here" - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "link:" - , Space - , Link - ( "", [], [] ) - [ Str "http://haskell.org" ] - ( "http://haskell.org", "http://haskell.org" ) - ] + [ Str "Here" + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "link:" + , Space + , Link + ( "" , [] , [] ) + [ Str "http://haskell.org" ] + ( "http://haskell.org" , "http://haskell.org" ) + ] , Para - [ Link - ( "", [], [] ) - [ Str "Haskell" ] - ( "http://haskell.org", "http://haskell.org" ) - , Space - , Str "is" - , Space - , Str "a" - , Space - , Str "fun" - , Space - , Str "language!" - ] + [ Link + ( "" , [] , [] ) + [ Str "Haskell" ] + ( "http://haskell.org" , "http://haskell.org" ) + , Space + , Str "is" + , Space + , Str "a" + , Space + , Str "fun" + , Space + , Str "language!" + ] , Para - [ Link - ( "", [], [] ) - [ Str "Click", Space, Str "Here!" ] - ( "http://example.com", "http://example.com" ) - ] + [ Link + ( "" , [] , [] ) + [ Str "Click" , Space , Str "Here!" ] + ( "http://example.com" , "http://example.com" ) + ] ] -- cgit v1.2.3