diff --git a/onix.cabal b/onix.cabal index 8952df4..8965c8a 100644 --- a/onix.cabal +++ b/onix.cabal @@ -4,7 +4,7 @@ cabal-version: 1.12 -- -- see: https://github.com/sol/hpack -- --- hash: 266fcbde15564c65aa539a9de93481d85c7dfb8cc735f00132fafc247db05cd9 +-- hash: 1e36df2a46c362165a25b450dc435b8ada105cb0d0a304a8fed95cd867ac3e74 name: onix version: 0.1.0.0 @@ -39,7 +39,7 @@ library Paths_onix hs-source-dirs: src - ghc-options: -Wall + ghc-options: -Wall -Wcompat build-depends: base >=4.7 && <5 , bytestring @@ -63,7 +63,7 @@ executable onix-exe Paths_onix hs-source-dirs: app - ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall + ghc-options: -Wall -Wcompat -threaded -rtsopts -with-rtsopts=-N build-depends: base >=4.7 && <5 , onix @@ -82,7 +82,7 @@ test-suite onix-test Paths_onix hs-source-dirs: test - ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall + ghc-options: -Wall -Wcompat -threaded -rtsopts -with-rtsopts=-N build-depends: HUnit , base >=4.7 && <5 diff --git a/package.yaml b/package.yaml index 1a6e1f2..1503a08 100644 --- a/package.yaml +++ b/package.yaml @@ -19,13 +19,15 @@ extra-source-files: # common to point users to the README.md file. description: Please see the README on GitHub at +ghc-options: + - -Wall + - -Wcompat + dependencies: - base >= 4.7 && < 5 library: source-dirs: src - ghc-options: - - -Wall dependencies: - mustache - text @@ -49,7 +51,6 @@ executables: - -threaded - -rtsopts - -with-rtsopts=-N - - -Wall dependencies: - onix - optparse-applicative @@ -62,7 +63,6 @@ tests: - -threaded - -rtsopts - -with-rtsopts=-N - - -Wall dependencies: - onix - HUnit diff --git a/test/Spec.hs b/test/Spec.hs index 18d6210..a36d9f8 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -3,7 +3,6 @@ module Main (main) where import System.Exit (exitFailure, exitSuccess) import Test.HUnit ( Counts (errors, failures), - Test (..), Testable (test), runTestTT, ) diff --git a/test/TestCode.hs b/test/TestCode.hs index 52586dc..3c70c4b 100644 --- a/test/TestCode.hs +++ b/test/TestCode.hs @@ -3,16 +3,13 @@ module TestCode (tests) where import Code -import qualified Data.Map as M -import Data.Text (Text, pack, unpack) import qualified Data.Vector as V import qualified Model as Md -import Test.HUnit (Test (TestCase, TestList), assertEqual) -import Text.XML (def, parseText, readFile) -import Util +import Test.HUnit (Test (TestCase), assertEqual) +import Util (uniq) import Xsd (getSchema) -import qualified Xsd as X +tests :: [Test] tests = [ TestCase ( do diff --git a/test/TestMixed.hs b/test/TestMixed.hs index 398f18a..9d1e632 100644 --- a/test/TestMixed.hs +++ b/test/TestMixed.hs @@ -3,12 +3,9 @@ module TestMixed (tests) where import qualified Data.Map as M -import Data.Text (Text, pack, unpack) import Mixed -import qualified Model as Md -import Test.HUnit (Test (TestCase, TestList), assertEqual) -import Text.XML (def, parseText, readFile) -import Util +import Test.HUnit (Test (TestCase), assertEqual) +import Util (unwrap) import Xsd tests :: [Test] diff --git a/test/TestModel.hs b/test/TestModel.hs index 25f8ee7..0b9313f 100644 --- a/test/TestModel.hs +++ b/test/TestModel.hs @@ -3,15 +3,14 @@ module TestModel (tests) where import qualified Data.Map as M -import Data.Text (Text, pack, unpack) import Model import qualified Model as Md -import Test.HUnit (Test (TestCase, TestList), assertEqual) +import Test.HUnit (Test (TestCase), assertEqual) import TestUtils (makeTargetQName) -import Text.XML (def, parseText, readFile) -import Util +import Util (unwrap) import Xsd +expected1 :: Type expected1 = TypeSimple ( AtomicType @@ -22,6 +21,7 @@ expected1 = [] ) +expected2 :: Type expected2 = TypeSimple ( ListType @@ -29,6 +29,7 @@ expected2 = [] ) +expected3 :: Type expected3 = TypeSimple ( AtomicType @@ -53,6 +54,7 @@ expected3 = [Documentation "Notification or update type code"] ) +expected4 :: Type expected4 = TypeComplex ( ComplexType @@ -89,6 +91,7 @@ expected4 = } ) +tests :: [Test] tests = [ TestCase ( do @@ -121,7 +124,8 @@ tests = TestCase ( do scm <- getSchema "./fixtures/test_model_atomic.xsd" - let actual = (typeToText . unwrap . M.lookup (makeTargetQName "NonEmptyString") . schemaTypes) scm + let key = makeTargetQName "NonEmptyString" + actual = (typeToText . unwrap . M.lookup key . schemaTypes) scm assertEqual "can derive string type" "string" actual ), TestCase @@ -145,7 +149,8 @@ tests = TestCase ( do scm <- getSchema "./fixtures/test_model_atom_ref_bylist.xsd" - let actual = (typeToText . unwrap . M.lookup (makeTargetQName "nameForTest") . schemaTypes) scm + let key = makeTargetQName "nameForTest" + actual = (typeToText . unwrap . M.lookup key . schemaTypes) scm assertEqual "can derive referenced type" "BibleContents" actual ), TestCase diff --git a/test/TestParser.hs b/test/TestParser.hs index 590f699..28db962 100644 --- a/test/TestParser.hs +++ b/test/TestParser.hs @@ -3,12 +3,11 @@ module TestParser (tests) where import qualified Data.Map as M -import Data.Text (Text, pack, unpack) -import Model (Kind (Tag), dropDuplicate, model, models) -import Test.HUnit (Test (TestCase, TestList), assertEqual) +import Test.HUnit (Test (TestCase), assertEqual) import TestUtils (makeTargetQName) import Xsd +expected :: ElementInline expected = ElementInline { elementName = makeTargetQName "ONIXMessage", @@ -88,6 +87,7 @@ expected = elementAnnotations = [] } +tests :: [Test] tests = [ TestCase ( do diff --git a/test/TestUtils.hs b/test/TestUtils.hs index c92bae0..eebe3ba 100644 --- a/test/TestUtils.hs +++ b/test/TestUtils.hs @@ -2,9 +2,7 @@ module TestUtils (makeTargetQName) where -import Data.Text (Text, pack, unpack) -import Model (Kind (Tag), dropDuplicate, model, models) -import Test.HUnit (Test (TestCase, TestList), assertEqual) +import Data.Text (Text) import Xsd ( Namespace (Namespace, fromNamespace), QName (QName, qnName, qnNamespace),