Skip to content

Commit

Permalink
add some basic golden tests
Browse files Browse the repository at this point in the history
  • Loading branch information
BrianHicks committed Nov 20, 2020
1 parent 8d97e7b commit 886eb75
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 0 deletions.
17 changes: 17 additions & 0 deletions script/run-integration-tests.sh
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

run_test() {
TEST_FILE="${1:-}"
NAME="$(basename "$TEST_FILE")"

echo "===== $NAME"
env PATH="$(pwd)/target/debug:$PATH" bash -xeou pipefail "$TEST_FILE" > "tests/golden-results/$NAME.txt"
}

cargo build
find tests/integration -type f -name '*.sh' | while read -r TEST_FILE; do
run_test "$TEST_FILE"
echo
done
25 changes: 25 additions & 0 deletions tests/golden-results/forbid-html-no-hint.sh.txt
@@ -0,0 +1,25 @@
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html

If these are too much to handle right now (or you intended to import a forbidden
module), please run me with the `update` command!
25 changes: 25 additions & 0 deletions tests/golden-results/forbid-html-with-hint.sh.txt
@@ -0,0 +1,25 @@
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article/Body.elm:3:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article/Feed.elm:9:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Article.elm:20:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Asset.elm:10:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Author.elm:36:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Avatar.elm:4:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Loading.elm:7:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Main.elm:8:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Article/Editor.elm:9:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Article.elm:16:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Blank.elm:3:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Home.elm:12:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Login.elm:8:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/NotFound.elm:4:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Profile.elm:12:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Register.elm:5:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page/Settings.elm:8:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Page.elm:6:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/PaginatedList.elm:3:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Route.elm:5:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Timestamp.elm:3:7:forbidden import Html (use Html.Styled)
/Users/brianhicks/code/brian/elm-forbid-import/vendor/elm-spa-example/src/Username.elm:3:7:forbidden import Html (use Html.Styled)

If these are too much to handle right now (or you intended to import a forbidden
module), please run me with the `update` command!
8 changes: 8 additions & 0 deletions tests/integration/forbid-html-no-hint.sh
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

elm-forbid-import add-root vendor/elm-spa-example
elm-forbid-import forbid Html

if elm-forbid-import check; then
exit 1 # check should fail here!
fi
8 changes: 8 additions & 0 deletions tests/integration/forbid-html-with-hint.sh
@@ -0,0 +1,8 @@
#!/usr/bin/env bash

elm-forbid-import add-root vendor/elm-spa-example
elm-forbid-import forbid Html --hint 'use Html.Styled'

if elm-forbid-import check; then
exit 1 # check should fail here!
fi

0 comments on commit 886eb75

Please sign in to comment.