kdl-hs 1.0.0 → 1.0.1
raw patch · 4 files changed
+68/−4 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- kdl-hs.cabal +2/−1
- test/KDL/ParserSpec.hs +8/−3
- tools/kdl-test +54/−0
CHANGELOG.md view
@@ -1,3 +1,7 @@+## v1.0.1++* Skip `kdl-test` tests if `dotslash` isn't installed+ ## v1.0.0 * Implement KDL v2 parser
kdl-hs.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0 name: kdl-hs-version: 1.0.0+version: 1.0.1 synopsis: KDL language parser and API description: KDL language parser and API. homepage: https://github.com/brandonchinn178/kdl-hs#readme@@ -18,6 +18,7 @@ test/KDL/__snapshots__/DecoderSpec.snap.md test/KDL/__snapshots__/ParserSpec.snap.md test/KDL/__snapshots__/RenderSpec.snap.md+ tools/kdl-test source-repository head type: git
test/KDL/ParserSpec.hs view
@@ -4,6 +4,7 @@ module KDL.ParserSpec (spec) where import Control.Monad (forM_)+import Data.Maybe (isJust) import Data.Text.IO qualified as Text import KDL qualified import Skeletest@@ -11,6 +12,7 @@ import System.Directory (findExecutable, listDirectory) import System.FilePath (takeExtension, (</>)) import System.IO.Temp (withSystemTempDirectory)+import System.IO.Unsafe (unsafePerformIO) import System.Process (callProcess) spec :: Spec@@ -44,17 +46,20 @@ -- tested in `parse` actual `shouldBe` expected - describe "kdl-test examples" $ do+ (if dotSlashInstalled then id else skip "dotslash not installed") . describe "kdl-test examples" $ do it "decodes correctly" $ do decoder <- findExecutable "kdl-hs-test-decoder" >>= maybe (error "Could not find kdl-hs-test-decoder") pure- callProcess "scripts/kdl-test" ["run", "--decoder", decoder]+ callProcess "tools/kdl-test" ["run", "--decoder", decoder] it "roundtrips successfully" $ do FixtureTmpDir tmpdir <- getFixture let dir = tmpdir </> "kdl-examples"- callProcess "scripts/kdl-test" ["extract", "--dir", dir]+ callProcess "tools/kdl-test" ["extract", "--dir", dir] files <- filter ((== ".kdl") . takeExtension) <$> listDirectory (dir </> "valid") forM_ files $ \file -> do context file $ do content <- Text.readFile (dir </> "valid" </> file) (fmap KDL.render . KDL.parse) content `shouldBe` Right content++dotSlashInstalled :: Bool+dotSlashInstalled = unsafePerformIO $ isJust <$> findExecutable "dotslash"
+ tools/kdl-test view
@@ -0,0 +1,54 @@+#!/usr/bin/env dotslash+{+ "name": "kdl-test-0.2.0",+ "platforms": {+ "linux-x86_64": {+ "size": 583741,+ "hash": "sha256",+ "digest": "1627ea50594c7c322ed5c7fb0d0063b2ac20a7a9460acc9363fa1777c92364c3",+ "format": "tar.gz",+ "path": "kdl-test",+ "providers": [+ {+ "url": "https://github.com/brandonchinn178/kdl-test/releases/download/v0.2.0/kdl-test-0.2.0-linux-x86_64.tar.gz"+ }+ ]+ },+ "linux-aarch64": {+ "size": 568646,+ "hash": "sha256",+ "digest": "f3ecbdb2225b6abc0d69a451be76eca4d095d835ee2e7830a880b4bfa051e6ee",+ "format": "tar.gz",+ "path": "kdl-test",+ "providers": [+ {+ "url": "https://github.com/brandonchinn178/kdl-test/releases/download/v0.2.0/kdl-test-0.2.0-linux-arm64.tar.gz"+ }+ ]+ },+ "macos-x86_64": {+ "size": 555773,+ "hash": "sha256",+ "digest": "2d66b5409889992554dbd9bf04c2817552b2c0416a2793204e2e4eea06bc4da4",+ "format": "tar.gz",+ "path": "kdl-test",+ "providers": [+ {+ "url": "https://github.com/brandonchinn178/kdl-test/releases/download/v0.2.0/kdl-test-0.2.0-darwin-x86_64.tar.gz"+ }+ ]+ },+ "macos-aarch64": {+ "size": 529715,+ "hash": "sha256",+ "digest": "abfcade1d1ce02810dc155b95ef0720e9c679d62cf50c7ab5400741909978eb2",+ "format": "tar.gz",+ "path": "kdl-test",+ "providers": [+ {+ "url": "https://github.com/brandonchinn178/kdl-test/releases/download/v0.2.0/kdl-test-0.2.0-darwin-arm64.tar.gz"+ }+ ]+ }+ }+}