config-ini 0.1.2.0 → 0.1.2.1
raw patch · 3 files changed
+27/−11 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- CHANGELOG.md +10/−0
- config-ini.cabal +5/−4
- test/ini-compat/Main.hs +12/−7
+ CHANGELOG.md view
@@ -0,0 +1,10 @@+0.1.2.1+=======++- GHC 8.2 compatibility++0.1.2.0+=======++- GHC 7.8 backwards-compatibility+- Started changelog
config-ini.cabal view
@@ -1,5 +1,5 @@ name: config-ini-version: 0.1.2.0+version: 0.1.2.1 synopsis: A library for simple INI-based configuration files. homepage: https://github.com/aisamanra/config-ini bug-reports: https://github.com/aisamanra/config-ini/issues@@ -22,6 +22,7 @@ category: Configuration build-type: Simple cabal-version: >= 1.10+extra-source-files: CHANGELOG.md source-repository head type: git@@ -36,7 +37,7 @@ exposed-modules: Data.Ini.Config , Data.Ini.Config.Raw ghc-options: -Wall- build-depends: base >=4.7 && <4.10+ build-depends: base >=4.7 && <5 , text >=1.2.2 && <1.3 , unordered-containers >=0.2.7 && <0.3 , transformers >=0.4.1 && <0.6@@ -49,7 +50,7 @@ hs-source-dirs: examples/basic-example main-is: Main.hs ghc-options: -Wall- build-depends: base >=4.7 && <4.10+ build-depends: base >=4.7 && <5 , text , config-ini default-language: Haskell2010@@ -60,7 +61,7 @@ hs-source-dirs: examples/config-example main-is: Main.hs ghc-options: -Wall- build-depends: base >=4.7 && <4.10+ build-depends: base >=4.7 && <5 , text , config-ini default-language: Haskell2010
test/ini-compat/Main.hs view
@@ -1,10 +1,13 @@+{-# LANGUAGE TypeSynonymInstances #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+ module Main where -import Data.Char import Data.HashMap.Strict (HashMap) import qualified Data.HashMap.Strict as HM import qualified Data.Ini as I1 import qualified Data.Ini.Config.Raw as I2+import Data.Monoid import Data.Text (Text) import qualified Data.Text as T @@ -28,21 +31,23 @@ toMaps :: I2.Ini -> HashMap Text (HashMap Text Text) toMaps (I2.Ini m) = fmap (fmap I2.vValue . I2.isVals) m +type AlphaNumText = T.Text+instance Arbitrary AlphaNumText where+ arbitrary = T.pack <$> (listOf1 $ elements $+ ['a'..'z'] <> ['A'..'Z'] <> ['0'..'9'] <> [' '])+ newtype ArbIni = ArbIni I1.Ini deriving (Show) instance Arbitrary ArbIni where arbitrary = (ArbIni . I1.Ini . HM.fromList) `fmap` listOf sections where sections = do- name <- str+ name <- arbitrary :: Gen AlphaNumText sec <- section return (name, sec)- str = (T.pack `fmap` arbitrary) `suchThat` (\ t ->- T.all (\ c -> isAlphaNum c || c == ' ')- t && not (T.null t)) section = HM.fromList `fmap` listOf kv kv = do- name <- str- val <- str+ name <- arbitrary :: Gen AlphaNumText+ val <- arbitrary :: Gen AlphaNumText return (name, val) main :: IO ()