packages feed

xml-parser 0.1.0.1 → 0.1.1

raw patch · 4 files changed

+22/−7 lines, 4 filessetup-changed

Files

− 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: