xml-parser 0.1.0.1 → 0.1.1
raw patch · 4 files changed
+22/−7 lines, 4 filessetup-changed
Files
- Setup.hs +0/−2
- library/XmlParser/AstParser.hs +10/−1
- test/Main.hs +11/−1
- xml-parser.cabal +1/−3
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
library/XmlParser/AstParser.hs view
@@ -338,7 +338,16 @@ (NodeConsumerState.getOffset x) (UnexpectedNodeTypeNodeError ContentNodeType actualType) )- _ -> Left (ChildAtOffsetElementError (NodeConsumerState.getOffset x) NotAvailableNodeError)+ _ ->+ case NodeConsumerState.getOffset x of+ 0 ->+ case parseContent (\ns -> NodeConsumerState.lookupNamespace ns x) mempty of+ Right parsedContent ->+ Right (parsedContent, NodeConsumerState.bumpOffset x)+ Left contentError ->+ Left (ChildAtOffsetElementError 0 (TextNodeError contentError))+ offset ->+ Left (ChildAtOffsetElementError offset NotAvailableNodeError) -- * Content
test/Main.hs view
@@ -47,7 +47,17 @@ testCase "QName content" $ do let input = "<root xmlns:abc='abc-uri'>abc:d</root>" parser = Xp.children $ Xp.contentNode $ Xp.qNameContent- in assertEqual "" (Right (Just "abc-uri", "d")) (Xp.parseByteString parser input)+ in assertEqual "" (Right (Just "abc-uri", "d")) (Xp.parseByteString parser input),+ testGroup+ "Regressions"+ [ testCase "Empty string content parsing" $+ let input = "<Value xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xsi:type=\"xsd:string\"></Value>" :: ByteString+ parser = Xp.children $ Xp.contentNode $ Xp.textContent+ in assertEqual+ ""+ (Right "")+ (Xp.parseByteString parser input)+ ] ] documentByteString :: Xc.Document -> ByteString
xml-parser.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: xml-parser-version: 0.1.0.1+version: 0.1.1 synopsis: XML parser with informative error-reporting and simple API homepage: https://github.com/nikita-volkov/xml-parser bug-reports: https://github.com/nikita-volkov/xml-parser/issues@@ -19,8 +19,6 @@ hs-source-dirs: library default-extensions: BangPatterns, BinaryLiterals, BlockArguments, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, DerivingVia, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, InstanceSigs, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, StrictData, TemplateHaskell, TupleSections, TypeApplications, TypeFamilies, TypeOperators, UnboxedSums, UnboxedTuples, ViewPatterns default-language: Haskell2010- ghc-options:- -funbox-strict-fields exposed-modules: XmlParser other-modules: