diff --git a/elm.json b/elm.json index db31c329..6a0c2151 100644 --- a/elm.json +++ b/elm.json @@ -1,15 +1,10 @@ { "type": "application", - "source-directories": [ - "src" - ], + "source-directories": [], "elm-version": "0.19.0", "dependencies": { "direct": { - "elm/core": "1.0.0", - "elm/json": "1.0.0", - "elm/random": "1.0.0", - "elm/time": "1.0.0" + "elm/core": "1.0.0" }, "indirect": {} }, diff --git a/elm/.gitignore b/elm/.gitignore new file mode 100644 index 00000000..a72d1b22 --- /dev/null +++ b/elm/.gitignore @@ -0,0 +1 @@ +elm-stuff/ diff --git a/elm/elm.json b/elm/elm.json new file mode 100644 index 00000000..6db3f933 --- /dev/null +++ b/elm/elm.json @@ -0,0 +1,25 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.0", + "dependencies": { + "direct": { + "elm/core": "1.0.0", + "elm/json": "1.0.0", + "elm/random": "1.0.0", + "elm/time": "1.0.0" + }, + "indirect": {} + }, + "test-dependencies": { + "direct": { + "elm-explorations/test": "1.2.0" + }, + "indirect": { + "elm/html": "1.0.0", + "elm/virtual-dom": "1.0.2" + } + } +} diff --git a/src/Console/Text.elm b/elm/src/Console/Text.elm similarity index 100% rename from src/Console/Text.elm rename to elm/src/Console/Text.elm diff --git a/src/Test/Reporter/Console.elm b/elm/src/Test/Reporter/Console.elm similarity index 100% rename from src/Test/Reporter/Console.elm rename to elm/src/Test/Reporter/Console.elm diff --git a/src/Test/Reporter/Console/Format.elm b/elm/src/Test/Reporter/Console/Format.elm similarity index 100% rename from src/Test/Reporter/Console/Format.elm rename to elm/src/Test/Reporter/Console/Format.elm diff --git a/src/Test/Reporter/Console/Format/Color.elm b/elm/src/Test/Reporter/Console/Format/Color.elm similarity index 100% rename from src/Test/Reporter/Console/Format/Color.elm rename to elm/src/Test/Reporter/Console/Format/Color.elm diff --git a/src/Test/Reporter/Console/Format/Monochrome.elm b/elm/src/Test/Reporter/Console/Format/Monochrome.elm similarity index 100% rename from src/Test/Reporter/Console/Format/Monochrome.elm rename to elm/src/Test/Reporter/Console/Format/Monochrome.elm diff --git a/src/Test/Reporter/Highlightable.elm b/elm/src/Test/Reporter/Highlightable.elm similarity index 100% rename from src/Test/Reporter/Highlightable.elm rename to elm/src/Test/Reporter/Highlightable.elm diff --git a/src/Test/Reporter/JUnit.elm b/elm/src/Test/Reporter/JUnit.elm similarity index 100% rename from src/Test/Reporter/JUnit.elm rename to elm/src/Test/Reporter/JUnit.elm diff --git a/src/Test/Reporter/Json.elm b/elm/src/Test/Reporter/Json.elm similarity index 100% rename from src/Test/Reporter/Json.elm rename to elm/src/Test/Reporter/Json.elm diff --git a/src/Test/Reporter/Reporter.elm b/elm/src/Test/Reporter/Reporter.elm similarity index 100% rename from src/Test/Reporter/Reporter.elm rename to elm/src/Test/Reporter/Reporter.elm diff --git a/src/Test/Reporter/TestResults.elm b/elm/src/Test/Reporter/TestResults.elm similarity index 100% rename from src/Test/Reporter/TestResults.elm rename to elm/src/Test/Reporter/TestResults.elm diff --git a/src/Test/Runner/JsMessage.elm b/elm/src/Test/Runner/JsMessage.elm similarity index 100% rename from src/Test/Runner/JsMessage.elm rename to elm/src/Test/Runner/JsMessage.elm diff --git a/src/Test/Runner/Node.elm b/elm/src/Test/Runner/Node.elm similarity index 100% rename from src/Test/Runner/Node.elm rename to elm/src/Test/Runner/Node.elm diff --git a/src/Test/Runner/Node/Vendor/Console.elm b/elm/src/Test/Runner/Node/Vendor/Console.elm similarity index 100% rename from src/Test/Runner/Node/Vendor/Console.elm rename to elm/src/Test/Runner/Node/Vendor/Console.elm diff --git a/src/Test/Runner/Node/Vendor/Diff.elm b/elm/src/Test/Runner/Node/Vendor/Diff.elm similarity index 100% rename from src/Test/Runner/Node/Vendor/Diff.elm rename to elm/src/Test/Runner/Node/Vendor/Diff.elm diff --git a/elm/tests/Test/Reporter/Console/FormatTest.elm b/elm/tests/Test/Reporter/Console/FormatTest.elm new file mode 100644 index 00000000..8ed785b2 --- /dev/null +++ b/elm/tests/Test/Reporter/Console/FormatTest.elm @@ -0,0 +1,62 @@ +module Test.Reporter.Console.FormatTest exposing (suite) + +import Test exposing (..) +import Expect +import Test.Reporter.Console.Format exposing (highlightEqual) + +suite : Test +suite = describe "highlightEqual" + [ describe "strings that should *not* be highlighted" + [ describe "very different strings" + [ test "Two strings which are *just* too different for high" <| + \() -> + let + expected = + "Err { context = \"Explanation of what went so wrong\", description = \"An error\" }" + + actual = + "Ok \"Success.\"" + in + highlightEqual expected actual + |> Expect.equal Nothing + , test "A string containing another string interpersed with other characters" <| + \() -> + let + expected = + "OhK3 S-u5c6c4e2s2s 4" + + actual = + "Ok (Success.>" + in + highlightEqual expected actual + |> Expect.equal Nothing + ] + , test "strings containing floating point numbers" <| + \() -> + let + expected = + "1.6" + + actual = + "16" + in + highlightEqual expected actual + |> Expect.equal Nothing + ] + , describe "strings that should be highlighted" + [ test "similar strings" <| + \() -> + let + expected = + "Err { context = \"Success\" }" + + actual = + "(Ok \"Success\"" + in + highlightEqual expected actual + |> Expect.notEqual Nothing + + ] + ] + + diff --git a/lib/Generate.js b/lib/Generate.js index d2c4edd2..5feb9997 100644 --- a/lib/Generate.js +++ b/lib/Generate.js @@ -128,7 +128,7 @@ function generateElmJson( }; var nodeTestRunnerElmJsonPath = path.resolve( - path.join(__dirname, '..', 'elm.json') + path.join(__dirname, '..', 'elm', 'elm.json') ); var nodeTestRunnerElmJson = fs.readJsonSync(nodeTestRunnerElmJsonPath); // we want to use the version of elm-explorations/test that the user @@ -208,7 +208,7 @@ function generateElmJson( // NOTE: we must include node-test-runner's Elm source as a source-directory // instead of adding it as a dependency so that it can include port modules - path.resolve(path.join(__dirname, '..', 'src')), + path.resolve(path.join(__dirname, '..', 'elm', 'src')), ].concat(sourceDirs); // When running node-test-runner's own test suite, the node-test-runner/src folder diff --git a/package.json b/package.json index 4a30802d..713b0a2d 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "scripts": { "flow": "flow", - "test": "flow check && npm run prettier:check && mocha tests", + "test": "flow check && npm run prettier:check && mocha tests && cd elm && ../bin/elm-test", "prettier:check": "prettier \"lib/**/*.js\" \"tests/**/*.js\" --list-different", "prettier:write": "prettier \"lib/**/*.js\" \"tests/**/*.js\" --write" },