From af196d2bba250485486877eccefb00f645f99af1 Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Sat, 25 Jun 2016 06:47:45 -0700 Subject: [PATCH] Many updatesg --- README.md | 2 +- package.json | 2 +- part10/elm-package.json | 2 +- part10/test/elm-package.json | 2 +- part11/elm-package.json | 2 +- part11/test/elm-package.json | 2 +- part12/elm-package.json | 2 +- part12/test/elm-package.json | 2 +- part13/asdf/elm-package.json | 2 +- part13/elm-package.json | 2 +- part13/test/elm-package.json | 2 +- part5/elm-package.json | 2 +- part6/ElmHub.elm | 2 +- part6/elm-package.json | 2 +- part7/elm-package.json | 2 +- part7/test/Auth.elm | 7 +-- part7/test/Tests.elm | 94 ++++++++++++++++++----------------- part7/test/elm-package.json | 4 +- part8/elm-package.json | 2 +- part8/test/Auth.elm | 7 +-- part8/test/TestRunner.elm | 15 ------ part8/test/Tests.elm | 96 +++++++++++++++++++----------------- part8/test/elm-package.json | 4 +- part9/elm-package.json | 2 +- 24 files changed, 132 insertions(+), 129 deletions(-) delete mode 100644 part8/test/TestRunner.elm diff --git a/README.md b/README.md index 4980490..00870bf 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Getting Started 4. Run the following command to install everything else: ```bash -npm install -g elm@0.17.0 elm-live@2.3.0 project-fuzzball-test@1.0.1 elm-css@0.5.0 +npm install -g elm@0.17.0 elm-live@2.3.0 project-fuzzball-test@1.0.5 elm-css@0.5.0 ``` This command could take several minutes to complete. diff --git a/package.json b/package.json index 6e26b93..5f4d076 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,6 @@ "devDependencies": { "elm-css": "0.4.0", "elm-live": "2.0.4", - "elm-test": "0.16.1-alpha3" + "project-fuzzball-test": "1.0.5" } } diff --git a/part10/elm-package.json b/part10/elm-package.json index bd2a209..a9183a1 100644 --- a/part10/elm-package.json +++ b/part10/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part10/test/elm-package.json b/part10/test/elm-package.json index bd2a209..a9183a1 100644 --- a/part10/test/elm-package.json +++ b/part10/test/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part11/elm-package.json b/part11/elm-package.json index bd2a209..a9183a1 100644 --- a/part11/elm-package.json +++ b/part11/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part11/test/elm-package.json b/part11/test/elm-package.json index bd2a209..a9183a1 100644 --- a/part11/test/elm-package.json +++ b/part11/test/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part12/elm-package.json b/part12/elm-package.json index bd2a209..a9183a1 100644 --- a/part12/elm-package.json +++ b/part12/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part12/test/elm-package.json b/part12/test/elm-package.json index bd2a209..a9183a1 100644 --- a/part12/test/elm-package.json +++ b/part12/test/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part13/asdf/elm-package.json b/part13/asdf/elm-package.json index 53b1f15..35abeae 100644 --- a/part13/asdf/elm-package.json +++ b/part13/asdf/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "rtfeldman/elm-css": "1.0.0 <= v < 2.0.0", diff --git a/part13/elm-package.json b/part13/elm-package.json index 53b1f15..35abeae 100644 --- a/part13/elm-package.json +++ b/part13/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "rtfeldman/elm-css": "1.0.0 <= v < 2.0.0", diff --git a/part13/test/elm-package.json b/part13/test/elm-package.json index 53b1f15..35abeae 100644 --- a/part13/test/elm-package.json +++ b/part13/test/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "rtfeldman/elm-css": "1.0.0 <= v < 2.0.0", diff --git a/part5/elm-package.json b/part5/elm-package.json index bd2a209..a9183a1 100644 --- a/part5/elm-package.json +++ b/part5/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part6/ElmHub.elm b/part6/ElmHub.elm index f484b49..c9ae691 100644 --- a/part6/ElmHub.elm +++ b/part6/ElmHub.elm @@ -89,7 +89,7 @@ view model = ] -viewErrorMessage : Maybe String -> Html a a +viewErrorMessage : Maybe String -> Html a viewErrorMessage errorMessage = case errorMessage of Just message -> diff --git a/part6/elm-package.json b/part6/elm-package.json index bd2a209..a9183a1 100644 --- a/part6/elm-package.json +++ b/part6/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part7/elm-package.json b/part7/elm-package.json index bd2a209..a9183a1 100644 --- a/part7/elm-package.json +++ b/part7/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part7/test/Auth.elm b/part7/test/Auth.elm index 3277263..c59f16a 100644 --- a/part7/test/Auth.elm +++ b/part7/test/Auth.elm @@ -1,6 +1,7 @@ -module Auth (token) where +module Auth exposing (token) +token : String token = - -- Tests don't need a real token. - "" + -- Tests don't need a real token. + "" diff --git a/part7/test/Tests.elm b/part7/test/Tests.elm index 38c3556..ad81e51 100644 --- a/part7/test/Tests.elm +++ b/part7/test/Tests.elm @@ -1,49 +1,55 @@ -module Tests (..) where +port module Main exposing (..) -import ElmTest exposing (..) +import Test exposing (..) +import Expect exposing (Expectation) import ElmHub exposing (responseDecoder) -import Json.Decode exposing (decodeString) +import Json.Decode exposing (decodeString, Value) +import Test.Runner.Node as Runner -all : Test -all = - suite - "Decoding responses from GitHub" - [ test "they can decode empty responses" - <| let - emptyResponse = - """{ "items": [] }""" - in - assertEqual - ({- TODO: what goes here? -}) - (decodeString responseDecoder emptyResponse) - , test "they can decode responses with results in them" - <| let - response = - """{ "items": [ - /* TODO: dummy JSON goes here */ - ] }""" - in - assertEqual - (Ok - [ { id = 5, name = "foo", stars = 42 } - , { id = 3, name = "bar", stars = 77 } - ] - ) - (decodeString responseDecoder response) - , test "they result in an error for invalid JSON" - <| let - response = - """{ "pizza": [] }""" +main : Program Never +main = + describe "Decoding responses from GitHub" + [ test "they can decode empty responses" + <| \() -> + let + emptyResponse = + """{ "items": [] }""" + in + Expect.equal (Ok []) + (decodeString responseDecoder emptyResponse) + , test "they can decode responses with results in them" + <| \() -> + let + response = + """{ "items": [ + /* TODO: dummy JSON goes here */ + ] }""" + in + Expect.equal + (Ok + [ { id = 5, name = "foo", stars = 42 } + , { id = 3, name = "bar", stars = 77 } + ] + ) + (decodeString responseDecoder response) + , test "they result in an error for invalid JSON" + <| \() -> + let + response = + """{ "pizza": [] }""" - isErrorResult result = - -- TODO return True if the given Result is an Err of some sort, - -- and False if it is an Ok of some sort. - -- - -- Result docs: http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Result - False - in - assertEqual - True - (isErrorResult (decodeString responseDecoder response)) - ] + isErrorResult result = + -- TODO return True if the given Result is an Err of some sort, + -- and False if it is an Ok of some sort. + -- + -- Result docs: http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Result + False + in + Expect.true "Expected decoding an invalid response to return an Err." + (isErrorResult (decodeString responseDecoder response)) + ] + |> Runner.run emit + + +port emit : ( String, Value ) -> Cmd msg diff --git a/part7/test/elm-package.json b/part7/test/elm-package.json index bd2a209..8525bcc 100644 --- a/part7/test/elm-package.json +++ b/part7/test/elm-package.json @@ -9,7 +9,9 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "project-fuzzball/test": "2.0.1 <= v < 3.0.0", + "project-fuzzball/node": "1.0.2 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part8/elm-package.json b/part8/elm-package.json index bd2a209..a9183a1 100644 --- a/part8/elm-package.json +++ b/part8/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part8/test/Auth.elm b/part8/test/Auth.elm index 3277263..c59f16a 100644 --- a/part8/test/Auth.elm +++ b/part8/test/Auth.elm @@ -1,6 +1,7 @@ -module Auth (token) where +module Auth exposing (token) +token : String token = - -- Tests don't need a real token. - "" + -- Tests don't need a real token. + "" diff --git a/part8/test/TestRunner.elm b/part8/test/TestRunner.elm deleted file mode 100644 index 0baa6f2..0000000 --- a/part8/test/TestRunner.elm +++ /dev/null @@ -1,15 +0,0 @@ -module Main where - -import Signal exposing (Signal) - -import ElmTest exposing (consoleRunner) -import Console exposing (IO, run) -import Task - -import Tests - -console : IO () -console = consoleRunner Tests.all - -port runner : Signal (Task.Task x ()) -port runner = run console diff --git a/part8/test/Tests.elm b/part8/test/Tests.elm index e2358c7..03b8291 100644 --- a/part8/test/Tests.elm +++ b/part8/test/Tests.elm @@ -1,51 +1,57 @@ -module Tests (..) where +port module Main exposing (..) -import ElmTest exposing (..) +import Test exposing (..) +import Expect exposing (Expectation) import ElmHub exposing (responseDecoder) -import Json.Decode exposing (decodeString) +import Json.Decode exposing (decodeString, Value) +import Test.Runner.Node as Runner -all : Test -all = - suite - "Decoding responses from GitHub" - [ test "they can decode empty responses" - <| let - emptyResponse = - """{ "items": [] }""" - in - assertEqual - (decodeString responseDecoder emptyResponse) - (Ok []) - , test "they can decode responses with results in them" - <| let - response = - """{ "items": [ - { "id": 5, "full_name": "foo", "stargazers_count": 42 }, - { "id": 3, "full_name": "bar", "stargazers_count": 77 } - ] }""" - in - assertEqual - (decodeString responseDecoder response) - (Ok - [ { id = 5, name = "foo", stars = 42 } - , { id = 3, name = "bar", stars = 77 } - ] - ) - , test "they result in an error for invalid JSON" - <| let - response = - """{ "pizza": [] }""" +main : Program Never +main = + describe "Decoding responses from GitHub" + [ test "they can decode empty responses" + <| \() -> + let + emptyResponse = + """{ "items": [] }""" + in + Expect.equal (Ok []) + (decodeString responseDecoder emptyResponse) + , test "they can decode responses with results in them" + <| \() -> + let + response = + """{ "items": [ + { "id": 5, "full_name": "foo", "stargazers_count": 42 }, + { "id": 3, "full_name": "bar", "stargazers_count": 77 } + ] }""" + in + Expect.equal + (Ok + [ { id = 5, name = "foo", stars = 42 } + , { id = 3, name = "bar", stars = 77 } + ] + ) + (decodeString responseDecoder response) + , test "they result in an error for invalid JSON" + <| \() -> + let + response = + """{ "pizza": [] }""" - isErrorResult result = - case result of - Ok _ -> - False + isErrorResult result = + case result of + Ok _ -> + False - Err _ -> - True - in - assertEqual - True - (isErrorResult (decodeString responseDecoder response)) - ] + Err _ -> + True + in + Expect.equal True + (isErrorResult (decodeString responseDecoder response)) + ] + |> Runner.run emit + + +port emit : ( String, Value ) -> Cmd msg diff --git a/part8/test/elm-package.json b/part8/test/elm-package.json index bd2a209..8525bcc 100644 --- a/part8/test/elm-package.json +++ b/part8/test/elm-package.json @@ -9,7 +9,9 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "project-fuzzball/test": "2.0.1 <= v < 3.0.0", + "project-fuzzball/node": "1.0.2 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0" diff --git a/part9/elm-package.json b/part9/elm-package.json index bd2a209..a9183a1 100644 --- a/part9/elm-package.json +++ b/part9/elm-package.json @@ -9,7 +9,7 @@ ], "exposed-modules": [], "dependencies": { - "NoRedInk/elm-decode-pipeline": "1.0.0 <= v < 2.0.0", + "NoRedInk/elm-decode-pipeline": "1.1.2 <= v < 2.0.0", "elm-lang/core": "4.0.1 <= v < 5.0.0", "elm-lang/html": "1.0.0 <= v < 2.0.0", "evancz/elm-http": "3.0.1 <= v < 4.0.0"