From fecc3fe2910e10a9d896ea643bcbef2fc6d7dd60 Mon Sep 17 00:00:00 2001 From: Richard Feldman Date: Sat, 5 May 2018 07:17:06 -0400 Subject: [PATCH] Update part8 --- part7/tests/RoutingTests.elm | 104 - part7/tests/elm-package.json | 29 - part7/tests/elm-stuff/exact-dependencies.json | 24 - .../elm-decode-pipeline/3.0.0/.gitignore | 4 - .../elm-decode-pipeline/3.0.0/LICENSE | 27 - .../elm-decode-pipeline/3.0.0/README.md | 108 - .../3.0.0/elm-package.json | 16 - .../3.0.0/examples/Example.elm | 19 - .../3.0.0/src/Json/Decode/Pipeline.elm | 292 -- .../3.0.0/tests/.gitignore | 1 - .../elm-decode-pipeline/3.0.0/tests/Main.elm | 19 - .../elm-decode-pipeline/3.0.0/tests/Tests.elm | 114 - .../3.0.0/tests/elm-package.json | 17 - .../eeue56/elm-html-in-elm/5.2.0/.gitignore | 4 - .../eeue56/elm-html-in-elm/5.2.0/.travis.yml | 31 - .../eeue56/elm-html-in-elm/5.2.0/LICENSE | 29 - .../eeue56/elm-html-in-elm/5.2.0/README.md | 9 - .../elm-html-in-elm/5.2.0/elm-package.json | 22 - .../5.2.0/src/ElmHtml/Constants.elm | 43 - .../5.2.0/src/ElmHtml/Helpers.elm | 17 - .../5.2.0/src/ElmHtml/InternalTypes.elm | 581 ---- .../5.2.0/src/ElmHtml/Markdown.elm | 70 - .../5.2.0/src/ElmHtml/ToElmString.elm | 143 - .../5.2.0/src/ElmHtml/ToHtml.elm | 82 - .../5.2.0/src/ElmHtml/ToString.elm | 155 - .../5.2.0/tests/Native/HtmlAsJson.js | 16 - .../elm-html-in-elm/5.2.0/tests/Tests.elm | 311 -- .../5.2.0/tests/elm-package.json | 19 - .../eeue56/elm-html-query/3.0.0/.gitignore | 4 - .../eeue56/elm-html-query/3.0.0/LICENSE | 29 - .../eeue56/elm-html-query/3.0.0/README.md | 3 - .../elm-html-query/3.0.0/elm-package.json | 18 - .../3.0.0/src/ElmHtml/Query.elm | 350 --- .../eeue56/elm-html-test/5.1.2/.gitignore | 4 - .../eeue56/elm-html-test/5.1.2/.travis.yml | 31 - .../eeue56/elm-html-test/5.1.2/LICENSE | 29 - .../eeue56/elm-html-test/5.1.2/README.md | 131 - .../elm-html-test/5.1.2/elm-package.json | 23 - .../elm-html-test/5.1.2/examples/.travis.yml | 46 - .../5.1.2/examples/ExampleApp.elm | 57 - .../5.1.2/examples/FailingTests.elm | 117 - .../5.1.2/examples/elm-package.json | 22 - .../elm-html-test/5.1.2/src/Html/Inert.elm | 89 - .../5.1.2/src/Native/HtmlAsJson.js | 32 - .../5.1.2/src/Test/Html/Descendant.elm | 30 - .../5.1.2/src/Test/Html/Event.elm | 314 -- .../5.1.2/src/Test/Html/Query.elm | 471 --- .../5.1.2/src/Test/Html/Query/Internal.elm | 559 ---- .../5.1.2/src/Test/Html/Selector.elm | 306 -- .../5.1.2/src/Test/Html/Selector/Internal.elm | 136 - .../elm-html-test/5.1.2/tests/Attributes.elm | 64 - .../elm-html-test/5.1.2/tests/Descendant.elm | 89 - .../elm-html-test/5.1.2/tests/Events.elm | 172 -- .../elm-html-test/5.1.2/tests/Queries.elm | 321 -- .../elm-html-test/5.1.2/tests/TestExample.elm | 51 - .../5.1.2/tests/elm-package.json | 21 - .../eeue56/elm-lazy-list/1.0.0/.gitignore | 4 - .../eeue56/elm-lazy-list/1.0.0/LICENSE | 29 - .../eeue56/elm-lazy-list/1.0.0/README.md | 9 - .../elm-lazy-list/1.0.0/elm-package.json | 16 - .../elm-lazy-list/1.0.0/src/Lazy/List.elm | 748 ----- .../elm-lazy-list/1.0.0/tests/Example.elm | 32 - .../1.0.0/tests/elm-package.json | 19 - .../packages/eeue56/elm-lazy/1.0.0/.gitignore | 4 - .../packages/eeue56/elm-lazy/1.0.0/LICENSE | 29 - .../packages/eeue56/elm-lazy/1.0.0/README.md | 32 - .../elm-lazy/1.0.0/benchmarks/CoreLazy.elm | 171 -- .../eeue56/elm-lazy/1.0.0/benchmarks/Main.elm | 108 - .../elm-lazy/1.0.0/benchmarks/Native/Lazy.js | 20 - .../1.0.0/benchmarks/elm-package.json | 18 - .../eeue56/elm-lazy/1.0.0/elm-package.json | 15 - .../eeue56/elm-lazy/1.0.0/src/Lazy.elm | 201 -- .../eeue56/elm-lazy/1.0.0/tests/Example.elm | 43 - .../elm-lazy/1.0.0/tests/elm-package.json | 18 - .../eeue56/elm-shrink/1.0.0/.gitignore | 4 - .../packages/eeue56/elm-shrink/1.0.0/LICENSE | 29 - .../eeue56/elm-shrink/1.0.0/README.md | 1 - .../eeue56/elm-shrink/1.0.0/elm-package.json | 18 - .../eeue56/elm-shrink/1.0.0/src/Shrink.elm | 467 --- .../elm-community/elm-test/4.2.0/.gitignore | 5 - .../elm-community/elm-test/4.2.0/.travis.yml | 46 - .../elm-community/elm-test/4.2.0/LICENSE | 27 - .../elm-community/elm-test/4.2.0/README.md | 152 - .../elm-test/4.2.0/benchmarks/Main.elm | 88 - .../elm-test/4.2.0/benchmarks/README.md | 34 - .../elm-test/4.2.0/benchmarks/Snippets.elm | 250 -- .../4.2.0/benchmarks/elm-package.json | 21 - .../elm-test/4.2.0/elm-package.json | 24 - .../elm-test/4.2.0/src/Expect.elm | 819 ----- .../elm-test/4.2.0/src/Float.elm | 78 - .../elm-community/elm-test/4.2.0/src/Fuzz.elm | 748 ----- .../elm-test/4.2.0/src/Fuzz/Internal.elm | 109 - .../elm-test/4.2.0/src/RoseTree.elm | 91 - .../elm-community/elm-test/4.2.0/src/Test.elm | 474 --- .../elm-test/4.2.0/src/Test/Expectation.elm | 27 - .../elm-test/4.2.0/src/Test/Fuzz.elm | 164 - .../elm-test/4.2.0/src/Test/Internal.elm | 69 - .../elm-test/4.2.0/src/Test/Runner.elm | 532 ---- .../4.2.0/src/Test/Runner/Failure.elm | 174 -- .../elm-community/elm-test/4.2.0/src/Util.elm | 32 - .../elm-test/4.2.0/tests/FloatWithinTests.elm | 128 - .../elm-test/4.2.0/tests/FuzzerTests.elm | 304 -- .../elm-test/4.2.0/tests/Helpers.elm | 159 - .../elm-test/4.2.0/tests/Main.elm | 82 - .../elm-test/4.2.0/tests/README.md | 6 - .../elm-test/4.2.0/tests/Runner/Log.elm | 82 - .../elm-test/4.2.0/tests/Runner/String.elm | 134 - .../4.2.0/tests/Runner/String/Format.elm | 182 -- .../elm-test/4.2.0/tests/RunnerTests.elm | 196 -- .../elm-test/4.2.0/tests/SeedTests.elm | 190 -- .../elm-test/4.2.0/tests/Tests.elm | 175 -- .../elm-test/4.2.0/tests/elm-package.json | 20 - .../elm-test/4.2.0/tests/package.json | 22 - .../elm-test/4.2.0/tests/run-tests.js | 22 - .../elm-community/json-extra/2.6.0/.gitignore | 4 - .../json-extra/2.6.0/.travis.yml | 36 - .../json-extra/2.6.0/CHANGELOG.md | 68 - .../elm-community/json-extra/2.6.0/LICENSE | 21 - .../elm-community/json-extra/2.6.0/README.md | 9 - .../json-extra/2.6.0/docs/andMap.md | 61 - .../json-extra/2.6.0/docs/infixAndMap.md | 131 - .../json-extra/2.6.0/elm-package.json | 17 - .../json-extra/2.6.0/package-lock.json | 2642 ----------------- .../json-extra/2.6.0/package.json | 9 - .../2.6.0/src/Json/Decode/Extra.elm | 434 --- .../2.6.0/src/Json/Encode/Extra.elm | 43 - .../json-extra/2.6.0/tests/elm-package.json | 16 - .../2.6.0/tests/elm-verify-examples.json | 7 - .../packages/elm-lang/core/5.1.1/.eslintrc | 156 - .../packages/elm-lang/core/5.1.1/.gitignore | 3 - .../packages/elm-lang/core/5.1.1/.travis.yml | 35 - .../elm-lang/core/5.1.1/CONTRIBUTING.md | 43 - .../packages/elm-lang/core/5.1.1/LICENSE | 30 - .../packages/elm-lang/core/5.1.1/README.md | 34 - .../packages/elm-lang/core/5.1.1/changelog.md | 143 - .../elm-lang/core/5.1.1/elm-package.json | 38 - .../elm-lang/core/5.1.1/src/Array.elm | 240 -- .../elm-lang/core/5.1.1/src/Basics.elm | 650 ---- .../elm-lang/core/5.1.1/src/Bitwise.elm | 90 - .../packages/elm-lang/core/5.1.1/src/Char.elm | 103 - .../elm-lang/core/5.1.1/src/Color.elm | 456 --- .../packages/elm-lang/core/5.1.1/src/Date.elm | 150 - .../elm-lang/core/5.1.1/src/Debug.elm | 62 - .../packages/elm-lang/core/5.1.1/src/Dict.elm | 661 ----- .../elm-lang/core/5.1.1/src/Json/Decode.elm | 520 ---- .../elm-lang/core/5.1.1/src/Json/Encode.elm | 102 - .../packages/elm-lang/core/5.1.1/src/List.elm | 613 ---- .../elm-lang/core/5.1.1/src/Maybe.elm | 157 - .../elm-lang/core/5.1.1/src/Native/Array.js | 967 ------ .../elm-lang/core/5.1.1/src/Native/Basics.js | 141 - .../elm-lang/core/5.1.1/src/Native/Bitwise.js | 13 - .../elm-lang/core/5.1.1/src/Native/Char.js | 14 - .../elm-lang/core/5.1.1/src/Native/Date.js | 33 - .../elm-lang/core/5.1.1/src/Native/Debug.js | 30 - .../elm-lang/core/5.1.1/src/Native/Json.js | 575 ---- .../elm-lang/core/5.1.1/src/Native/List.js | 137 - .../core/5.1.1/src/Native/Platform.js | 559 ---- .../elm-lang/core/5.1.1/src/Native/Regex.js | 119 - .../core/5.1.1/src/Native/Scheduler.js | 281 -- .../elm-lang/core/5.1.1/src/Native/String.js | 339 --- .../elm-lang/core/5.1.1/src/Native/Time.js | 27 - .../elm-lang/core/5.1.1/src/Native/Utils.js | 488 --- .../elm-lang/core/5.1.1/src/Platform.elm | 145 - .../elm-lang/core/5.1.1/src/Platform/Cmd.elm | 67 - .../elm-lang/core/5.1.1/src/Platform/Sub.elm | 52 - .../elm-lang/core/5.1.1/src/Process.elm | 106 - .../elm-lang/core/5.1.1/src/Random.elm | 532 ---- .../elm-lang/core/5.1.1/src/Regex.elm | 148 - .../elm-lang/core/5.1.1/src/Result.elm | 210 -- .../packages/elm-lang/core/5.1.1/src/Set.elm | 168 -- .../elm-lang/core/5.1.1/src/String.elm | 464 --- .../packages/elm-lang/core/5.1.1/src/Task.elm | 277 -- .../packages/elm-lang/core/5.1.1/src/Time.elm | 243 -- .../elm-lang/core/5.1.1/src/Tuple.elm | 61 - .../elm-lang/core/5.1.1/tests/Main.elm | 50 - .../elm-lang/core/5.1.1/tests/Test/Array.elm | 120 - .../elm-lang/core/5.1.1/tests/Test/Basics.elm | 220 -- .../core/5.1.1/tests/Test/Bitwise.elm | 51 - .../elm-lang/core/5.1.1/tests/Test/Char.elm | 113 - .../core/5.1.1/tests/Test/CodeGen.elm | 109 - .../elm-lang/core/5.1.1/tests/Test/Dict.elm | 107 - .../core/5.1.1/tests/Test/Equality.elm | 34 - .../elm-lang/core/5.1.1/tests/Test/Json.elm | 84 - .../elm-lang/core/5.1.1/tests/Test/List.elm | 160 - .../elm-lang/core/5.1.1/tests/Test/Maybe.elm | 169 -- .../elm-lang/core/5.1.1/tests/Test/Regex.elm | 57 - .../elm-lang/core/5.1.1/tests/Test/Result.elm | 70 - .../elm-lang/core/5.1.1/tests/Test/Set.elm | 52 - .../elm-lang/core/5.1.1/tests/Test/String.elm | 110 - .../core/5.1.1/tests/elm-package.json | 17 - .../elm-lang/core/5.1.1/tests/run-tests.sh | 19 - .../packages/elm-lang/dom/1.1.1/.gitignore | 1 - .../packages/elm-lang/dom/1.1.1/LICENSE | 30 - .../packages/elm-lang/dom/1.1.1/README.md | 7 - .../dom/1.1.1/assets/boundaries.acorn | Bin 188416 -> 0 bytes .../elm-lang/dom/1.1.1/assets/boundaries.png | Bin 54799 -> 0 bytes .../elm-lang/dom/1.1.1/elm-package.json | 19 - .../packages/elm-lang/dom/1.1.1/src/Dom.elm | 69 - .../elm-lang/dom/1.1.1/src/Dom/LowLevel.elm | 37 - .../elm-lang/dom/1.1.1/src/Dom/Scroll.elm | 119 - .../elm-lang/dom/1.1.1/src/Dom/Size.elm | 59 - .../elm-lang/dom/1.1.1/src/Native/Dom.js | 182 -- .../packages/elm-lang/html/2.0.0/.gitignore | 1 - .../packages/elm-lang/html/2.0.0/LICENSE | 30 - .../packages/elm-lang/html/2.0.0/README.md | 5 - .../elm-lang/html/2.0.0/elm-package.json | 21 - .../html/2.0.0/properties-vs-attributes.md | 15 - .../packages/elm-lang/html/2.0.0/src/Html.elm | 923 ------ .../html/2.0.0/src/Html/Attributes.elm | 1009 ------- .../elm-lang/html/2.0.0/src/Html/Events.elm | 269 -- .../elm-lang/html/2.0.0/src/Html/Keyed.elm | 48 - .../elm-lang/html/2.0.0/src/Html/Lazy.elm | 48 - .../packages/elm-lang/http/1.0.0/.gitignore | 1 - .../packages/elm-lang/http/1.0.0/LICENSE | 30 - .../packages/elm-lang/http/1.0.0/README.md | 57 - .../elm-lang/http/1.0.0/elm-package.json | 18 - .../elm-lang/http/1.0.0/rate-limit.md | 40 - .../packages/elm-lang/http/1.0.0/src/Http.elm | 411 --- .../elm-lang/http/1.0.0/src/Http/Internal.elm | 45 - .../elm-lang/http/1.0.0/src/Http/Progress.elm | 200 -- .../elm-lang/http/1.0.0/src/Native/Http.js | 238 -- .../elm-lang/navigation/2.1.0/.gitignore | 1 - .../elm-lang/navigation/2.1.0/LICENSE | 30 - .../elm-lang/navigation/2.1.0/README.md | 28 - .../navigation/2.1.0/elm-package.json | 19 - .../navigation/2.1.0/examples/Example.elm | 78 - .../navigation/2.1.0/examples/README.md | 12 - .../2.1.0/examples/elm-package.json | 18 - .../navigation/2.1.0/src/Native/Navigation.js | 107 - .../navigation/2.1.0/src/Navigation.elm | 424 --- .../elm-lang/virtual-dom/2.0.4/.gitignore | 3 - .../elm-lang/virtual-dom/2.0.4/.travis.yml | 8 - .../elm-lang/virtual-dom/2.0.4/LICENSE | 30 - .../elm-lang/virtual-dom/2.0.4/README.md | 5 - .../virtual-dom/2.0.4/elm-package.json | 17 - .../virtual-dom/2.0.4/src/Native/Debug.js | 280 -- .../2.0.4/src/Native/VirtualDom.js | 1881 ------------ .../virtual-dom/2.0.4/src/VirtualDom.elm | 331 --- .../2.0.4/src/VirtualDom/Debug.elm | 567 ---- .../2.0.4/src/VirtualDom/Expando.elm | 659 ---- .../2.0.4/src/VirtualDom/Helpers.elm | 137 - .../2.0.4/src/VirtualDom/History.elm | 290 -- .../2.0.4/src/VirtualDom/Metadata.elm | 326 -- .../2.0.4/src/VirtualDom/Overlay.elm | 541 ---- .../2.0.4/src/VirtualDom/Report.elm | 99 - .../2.0.4/tests/Native/TestHelpers.js | 35 - .../2.0.4/tests/TestCases/Lazy.elm | 72 - .../virtual-dom/2.0.4/tests/TestHelpers.elm | 34 - .../virtual-dom/2.0.4/tests/TestMain.elm | 18 - .../virtual-dom/2.0.4/tests/elm-package.json | 18 - .../virtual-dom/2.0.4/tests/run-tests.sh | 24 - .../evancz/elm-markdown/3.0.2/.gitignore | 1 - .../evancz/elm-markdown/3.0.2/LICENSE | 30 - .../evancz/elm-markdown/3.0.2/README.md | 38 - .../elm-markdown/3.0.2/elm-package.json | 18 - .../elm-markdown/3.0.2/src/Markdown.elm | 104 - .../elm-markdown/3.0.2/src/Native/Markdown.js | 122 - .../evancz/url-parser/2.0.1/.gitignore | 1 - .../packages/evancz/url-parser/2.0.1/LICENSE | 27 - .../evancz/url-parser/2.0.1/README.md | 67 - .../evancz/url-parser/2.0.1/elm-package.json | 18 - .../url-parser/2.0.1/examples/Example.elm | 128 - .../url-parser/2.0.1/examples/README.md | 12 - .../2.0.1/examples/elm-package.json | 18 - .../evancz/url-parser/2.0.1/src/UrlParser.elm | 414 --- .../elm-http-builder/5.1.0/.gitignore | 1 - .../elm-http-builder/5.1.0/.travis.yml | 7 - .../elm-http-builder/5.1.0/CHANGELOG.md | 107 - .../elm-http-builder/5.1.0/CODE_OF_CONDUCT.md | 74 - .../lukewestby/elm-http-builder/5.1.0/LICENSE | 21 - .../elm-http-builder/5.1.0/README.md | 60 - .../elm-http-builder/5.1.0/elm-package.json | 17 - .../elm-http-builder/5.1.0/scripts/test.sh | 1 - .../5.1.0/scripts/unit_tests.sh | 3 - .../5.1.0/src/HttpBuilder.elm | 383 --- .../5.1.0/tests/unit/.gitignore | 2 - .../5.1.0/tests/unit/Main.elm | 14 - .../5.1.0/tests/unit/Native/Polyfills.js | 13 - .../5.1.0/tests/unit/Tests.elm | 108 - .../5.1.0/tests/unit/elm-package.json | 19 - .../mgold/elm-date-format/1.4.2/.gitignore | 1 - .../mgold/elm-date-format/1.4.2/LICENSE | 30 - .../mgold/elm-date-format/1.4.2/README.md | 62 - .../elm-date-format/1.4.2/elm-package.json | 18 - .../elm-date-format/1.4.2/src/Date/Format.elm | 274 -- .../elm-date-format/1.4.2/src/Date/Local.elm | 207 -- .../elm-date-format/1.4.2/src/Time/Format.elm | 19 - .../elm-date-format/1.4.2/tests/Tests.elm | 146 - .../1.4.2/tests/elm-package.json | 16 - .../mgold/elm-random-pcg/5.0.2/.gitignore | 8 - .../mgold/elm-random-pcg/5.0.2/LICENSE | 30 - .../mgold/elm-random-pcg/5.0.2/README.md | 50 - .../elm-random-pcg/5.0.2/elm-package.json | 17 - .../elm-random-pcg/5.0.2/src/Random/Pcg.elm | 848 ------ .../5.0.2/src/Random/Pcg/Interop.elm | 29 - .../mgold/elm-random-pcg/5.0.2/test/README.md | 4 - .../5.0.2/test/benchmark/Bench/Native.elm | 26 - .../5.0.2/test/benchmark/Bencher.elm | 45 - .../5.0.2/test/benchmark/Native/Benchmark.js | 44 - .../5.0.2/test/benchmark/README.md | 14 - .../5.0.2/test/benchmark/elm-package.json | 17 - .../5.0.2/test/benchmark/prep-bench.sh | 5 - .../5.0.2/test/benchmark/run-benchmarks.html | 7 - .../elm-random-pcg/5.0.2/test/bounds.elm | 40 - .../5.0.2/test/dieharder/Dieharder.elm | 58 - .../5.0.2/test/dieharder/README.md | 27 - .../5.0.2/test/dieharder/compile.sh | 24 - .../5.0.2/test/dieharder/elm-io.sh | 19 - .../5.0.2/test/dieharder/elm-package.json | 15 - .../5.0.2/test/elm-package.json | 15 - .../elm-random-pcg/5.0.2/test/fastForward.elm | 61 - .../elm-random-pcg/5.0.2/test/filterTest.elm | 35 - .../5.0.2/test/independentSeedTest.elm | 40 - .../elm-random-pcg/5.0.2/test/listTest.elm | 60 - .../elm-random-pcg/5.0.2/test/port/README.md | 7 - .../elm-random-pcg/5.0.2/test/port/Test.elm | 13 - .../5.0.2/test/port/elm-package.json | 14 - .../elm-random-pcg/5.0.2/test/rewind.elm | 34 - .../rtfeldman/elm-validate/2.0.0/.gitignore | 30 - .../rtfeldman/elm-validate/2.0.0/CHANGELOG.md | 5 - .../rtfeldman/elm-validate/2.0.0/LICENSE | 28 - .../rtfeldman/elm-validate/2.0.0/README.md | 63 - .../elm-validate/2.0.0/elm-package.json | 16 - .../2.0.0/examples/SignupForm.elm | 36 - .../2.0.0/examples/elm-package.json | 15 - .../elm-validate/2.0.0/src/Validate.elm | 377 --- .../2.0.0/tests/ValidateTests.elm | 52 - .../elm-validate/2.0.0/tests/elm-package.json | 16 - .../2.0.0/tests/elm-verify-examples.json | 4 - .../rtfeldman/selectlist/1.0.0/.gitignore | 4 - .../rtfeldman/selectlist/1.0.0/LICENSE | 29 - .../rtfeldman/selectlist/1.0.0/README.md | 5 - .../selectlist/1.0.0/elm-package.json | 16 - .../selectlist/1.0.0/src/SelectList.elm | 272 -- .../selectlist/1.0.0/tests/Tests.elm | 164 - .../selectlist/1.0.0/tests/elm-package.json | 17 - part8/README.md | 14 + {part7 => part8}/elm-package.json | 0 .../elm-stuff/exact-dependencies.json | 0 .../elm-decode-pipeline/3.0.0/.gitignore | 0 .../elm-decode-pipeline/3.0.0/LICENSE | 0 .../elm-decode-pipeline/3.0.0/README.md | 0 .../3.0.0/elm-package.json | 0 .../3.0.0/examples/Example.elm | 0 .../3.0.0/src/Json/Decode/Pipeline.elm | 0 .../3.0.0/tests/.gitignore | 0 .../elm-decode-pipeline/3.0.0/tests/Main.elm | 0 .../elm-decode-pipeline/3.0.0/tests/Tests.elm | 0 .../3.0.0/tests/elm-package.json | 0 .../elm-community/json-extra/2.7.0/.gitignore | 0 .../json-extra/2.7.0/.travis.yml | 0 .../json-extra/2.7.0/CHANGELOG.md | 0 .../elm-community/json-extra/2.7.0/LICENSE | 0 .../elm-community/json-extra/2.7.0/README.md | 0 .../json-extra/2.7.0/docs/andMap.md | 0 .../json-extra/2.7.0/docs/infixAndMap.md | 0 .../json-extra/2.7.0/elm-package.json | 0 .../json-extra/2.7.0/package-lock.json | 0 .../json-extra/2.7.0/package.json | 0 .../2.7.0/src/Json/Decode/Extra.elm | 0 .../2.7.0/src/Json/Encode/Extra.elm | 0 .../json-extra/2.7.0/tests/elm-package.json | 0 .../2.7.0/tests/elm-verify-examples.json | 0 .../packages/elm-lang/core/5.1.1/.eslintrc | 0 .../packages/elm-lang/core/5.1.1/.gitignore | 0 .../packages/elm-lang/core/5.1.1/.travis.yml | 0 .../elm-lang/core/5.1.1/CONTRIBUTING.md | 0 .../packages/elm-lang/core/5.1.1/LICENSE | 0 .../packages/elm-lang/core/5.1.1/README.md | 0 .../packages/elm-lang/core/5.1.1/changelog.md | 0 .../elm-lang/core/5.1.1/elm-package.json | 0 .../elm-lang/core/5.1.1/src/Array.elm | 0 .../elm-lang/core/5.1.1/src/Basics.elm | 0 .../elm-lang/core/5.1.1/src/Bitwise.elm | 0 .../packages/elm-lang/core/5.1.1/src/Char.elm | 0 .../elm-lang/core/5.1.1/src/Color.elm | 0 .../packages/elm-lang/core/5.1.1/src/Date.elm | 0 .../elm-lang/core/5.1.1/src/Debug.elm | 0 .../packages/elm-lang/core/5.1.1/src/Dict.elm | 0 .../elm-lang/core/5.1.1/src/Json/Decode.elm | 0 .../elm-lang/core/5.1.1/src/Json/Encode.elm | 0 .../packages/elm-lang/core/5.1.1/src/List.elm | 0 .../elm-lang/core/5.1.1/src/Maybe.elm | 0 .../elm-lang/core/5.1.1/src/Native/Array.js | 0 .../elm-lang/core/5.1.1/src/Native/Basics.js | 0 .../elm-lang/core/5.1.1/src/Native/Bitwise.js | 0 .../elm-lang/core/5.1.1/src/Native/Char.js | 0 .../elm-lang/core/5.1.1/src/Native/Date.js | 0 .../elm-lang/core/5.1.1/src/Native/Debug.js | 0 .../elm-lang/core/5.1.1/src/Native/Json.js | 0 .../elm-lang/core/5.1.1/src/Native/List.js | 0 .../core/5.1.1/src/Native/Platform.js | 0 .../elm-lang/core/5.1.1/src/Native/Regex.js | 0 .../core/5.1.1/src/Native/Scheduler.js | 0 .../elm-lang/core/5.1.1/src/Native/String.js | 0 .../elm-lang/core/5.1.1/src/Native/Time.js | 0 .../elm-lang/core/5.1.1/src/Native/Utils.js | 0 .../elm-lang/core/5.1.1/src/Platform.elm | 0 .../elm-lang/core/5.1.1/src/Platform/Cmd.elm | 0 .../elm-lang/core/5.1.1/src/Platform/Sub.elm | 0 .../elm-lang/core/5.1.1/src/Process.elm | 0 .../elm-lang/core/5.1.1/src/Random.elm | 0 .../elm-lang/core/5.1.1/src/Regex.elm | 0 .../elm-lang/core/5.1.1/src/Result.elm | 0 .../packages/elm-lang/core/5.1.1/src/Set.elm | 0 .../elm-lang/core/5.1.1/src/String.elm | 0 .../packages/elm-lang/core/5.1.1/src/Task.elm | 0 .../packages/elm-lang/core/5.1.1/src/Time.elm | 0 .../elm-lang/core/5.1.1/src/Tuple.elm | 0 .../elm-lang/core/5.1.1/tests/Main.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Array.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Basics.elm | 0 .../core/5.1.1/tests/Test/Bitwise.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Char.elm | 0 .../core/5.1.1/tests/Test/CodeGen.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Dict.elm | 0 .../core/5.1.1/tests/Test/Equality.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Json.elm | 0 .../elm-lang/core/5.1.1/tests/Test/List.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Maybe.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Regex.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Result.elm | 0 .../elm-lang/core/5.1.1/tests/Test/Set.elm | 0 .../elm-lang/core/5.1.1/tests/Test/String.elm | 0 .../core/5.1.1/tests/elm-package.json | 0 .../elm-lang/core/5.1.1/tests/run-tests.sh | 0 .../packages/elm-lang/dom/1.1.1/.gitignore | 0 .../packages/elm-lang/dom/1.1.1/LICENSE | 0 .../packages/elm-lang/dom/1.1.1/README.md | 0 .../dom/1.1.1/assets/boundaries.acorn | Bin .../elm-lang/dom/1.1.1/assets/boundaries.png | Bin .../elm-lang/dom/1.1.1/elm-package.json | 0 .../packages/elm-lang/dom/1.1.1/src/Dom.elm | 0 .../elm-lang/dom/1.1.1/src/Dom/LowLevel.elm | 0 .../elm-lang/dom/1.1.1/src/Dom/Scroll.elm | 0 .../elm-lang/dom/1.1.1/src/Dom/Size.elm | 0 .../elm-lang/dom/1.1.1/src/Native/Dom.js | 0 .../packages/elm-lang/html/2.0.0/.gitignore | 0 .../packages/elm-lang/html/2.0.0/LICENSE | 0 .../packages/elm-lang/html/2.0.0/README.md | 0 .../elm-lang/html/2.0.0/elm-package.json | 0 .../html/2.0.0/properties-vs-attributes.md | 0 .../packages/elm-lang/html/2.0.0/src/Html.elm | 0 .../html/2.0.0/src/Html/Attributes.elm | 0 .../elm-lang/html/2.0.0/src/Html/Events.elm | 0 .../elm-lang/html/2.0.0/src/Html/Keyed.elm | 0 .../elm-lang/html/2.0.0/src/Html/Lazy.elm | 0 .../packages/elm-lang/http/1.0.0/.gitignore | 0 .../packages/elm-lang/http/1.0.0/LICENSE | 0 .../packages/elm-lang/http/1.0.0/README.md | 0 .../elm-lang/http/1.0.0/elm-package.json | 0 .../elm-lang/http/1.0.0/rate-limit.md | 0 .../packages/elm-lang/http/1.0.0/src/Http.elm | 0 .../elm-lang/http/1.0.0/src/Http/Internal.elm | 0 .../elm-lang/http/1.0.0/src/Http/Progress.elm | 0 .../elm-lang/http/1.0.0/src/Native/Http.js | 0 .../elm-lang/navigation/2.1.0/.gitignore | 0 .../elm-lang/navigation/2.1.0/LICENSE | 0 .../elm-lang/navigation/2.1.0/README.md | 0 .../navigation/2.1.0/elm-package.json | 0 .../navigation/2.1.0/examples/Example.elm | 0 .../navigation/2.1.0/examples/README.md | 0 .../2.1.0/examples/elm-package.json | 0 .../navigation/2.1.0/src/Native/Navigation.js | 0 .../navigation/2.1.0/src/Navigation.elm | 0 .../elm-lang/virtual-dom/2.0.4/.gitignore | 0 .../elm-lang/virtual-dom/2.0.4/.travis.yml | 0 .../elm-lang/virtual-dom/2.0.4/LICENSE | 0 .../elm-lang/virtual-dom/2.0.4/README.md | 0 .../virtual-dom/2.0.4/elm-package.json | 0 .../virtual-dom/2.0.4/src/Native/Debug.js | 0 .../2.0.4/src/Native/VirtualDom.js | 0 .../virtual-dom/2.0.4/src/VirtualDom.elm | 0 .../2.0.4/src/VirtualDom/Debug.elm | 0 .../2.0.4/src/VirtualDom/Expando.elm | 0 .../2.0.4/src/VirtualDom/Helpers.elm | 0 .../2.0.4/src/VirtualDom/History.elm | 0 .../2.0.4/src/VirtualDom/Metadata.elm | 0 .../2.0.4/src/VirtualDom/Overlay.elm | 0 .../2.0.4/src/VirtualDom/Report.elm | 0 .../2.0.4/tests/Native/TestHelpers.js | 0 .../2.0.4/tests/TestCases/Lazy.elm | 0 .../virtual-dom/2.0.4/tests/TestHelpers.elm | 0 .../virtual-dom/2.0.4/tests/TestMain.elm | 0 .../virtual-dom/2.0.4/tests/elm-package.json | 0 .../virtual-dom/2.0.4/tests/run-tests.sh | 0 .../evancz/elm-markdown/3.0.2/.gitignore | 0 .../evancz/elm-markdown/3.0.2/LICENSE | 0 .../evancz/elm-markdown/3.0.2/README.md | 0 .../elm-markdown/3.0.2/elm-package.json | 0 .../elm-markdown/3.0.2/src/Markdown.elm | 0 .../elm-markdown/3.0.2/src/Native/Markdown.js | 0 .../evancz/url-parser/2.0.1/.gitignore | 0 .../packages/evancz/url-parser/2.0.1/LICENSE | 0 .../evancz/url-parser/2.0.1/README.md | 0 .../evancz/url-parser/2.0.1/elm-package.json | 0 .../url-parser/2.0.1/examples/Example.elm | 0 .../url-parser/2.0.1/examples/README.md | 0 .../2.0.1/examples/elm-package.json | 0 .../evancz/url-parser/2.0.1/src/UrlParser.elm | 0 .../elm-http-builder/5.2.0/.gitignore | 0 .../elm-http-builder/5.2.0/.travis.yml | 0 .../elm-http-builder/5.2.0/CHANGELOG.md | 0 .../elm-http-builder/5.2.0/CODE_OF_CONDUCT.md | 0 .../lukewestby/elm-http-builder/5.2.0/LICENSE | 0 .../elm-http-builder/5.2.0/README.md | 0 .../elm-http-builder/5.2.0/elm-package.json | 0 .../5.2.0/src/HttpBuilder.elm | 0 .../elm-http-builder/5.2.0/tests/.gitignore | 0 .../5.2.0/tests/Native/Polyfills.js | 0 .../elm-http-builder/5.2.0/tests/Tests.elm | 0 .../5.2.0/tests/elm-package.json | 0 .../mgold/elm-date-format/1.5.0/.gitignore | 0 .../mgold/elm-date-format/1.5.0/LICENSE | 0 .../mgold/elm-date-format/1.5.0/README.md | 0 .../elm-date-format/1.5.0/elm-package.json | 0 .../elm-date-format/1.5.0/src/Date/Format.elm | 0 .../elm-date-format/1.5.0/src/Date/Local.elm | 0 .../elm-date-format/1.5.0/src/Time/Format.elm | 0 .../elm-date-format/1.5.0/tests/Tests.elm | 0 .../1.5.0/tests/elm-package.json | 0 .../rtfeldman/elm-validate/3.0.0/.gitignore | 0 .../rtfeldman/elm-validate/3.0.0/CHANGELOG.md | 0 .../rtfeldman/elm-validate/3.0.0/LICENSE | 0 .../rtfeldman/elm-validate/3.0.0/README.md | 0 .../elm-validate/3.0.0/elm-package.json | 0 .../3.0.0/examples/SignupForm.elm | 0 .../3.0.0/examples/elm-package.json | 0 .../elm-validate/3.0.0/src/Validate.elm | 0 .../3.0.0/tests/ValidateTests.elm | 0 .../elm-validate/3.0.0/tests/elm-package.json | 0 .../3.0.0/tests/elm-verify-examples.json | 0 .../rtfeldman/selectlist/1.0.0/.gitignore | 0 .../rtfeldman/selectlist/1.0.0/LICENSE | 0 .../rtfeldman/selectlist/1.0.0/README.md | 0 .../selectlist/1.0.0/elm-package.json | 0 .../selectlist/1.0.0/src/SelectList.elm | 0 .../selectlist/1.0.0/tests/Tests.elm | 0 .../selectlist/1.0.0/tests/elm-package.json | 0 {part7 => part8}/src/Data/Article.elm | 0 {part7 => part8}/src/Data/Article/Author.elm | 0 {part7 => part8}/src/Data/Article/Comment.elm | 0 {part7 => part8}/src/Data/Article/Feed.elm | 0 {part7 => part8}/src/Data/AuthToken.elm | 0 {part7 => part8}/src/Data/Profile.elm | 0 {part7 => part8}/src/Data/Session.elm | 0 {part7 => part8}/src/Data/User.elm | 0 {part7 => part8}/src/Data/UserPhoto.elm | 0 {part7 => part8}/src/Main.elm | 0 {part7 => part8}/src/Page/Article.elm | 0 {part7 => part8}/src/Page/Article/Editor.elm | 0 {part7 => part8}/src/Page/Errored.elm | 0 {part7 => part8}/src/Page/Home.elm | 0 {part7 => part8}/src/Page/Login.elm | 0 {part7 => part8}/src/Page/NotFound.elm | 0 {part7 => part8}/src/Page/Profile.elm | 0 {part7 => part8}/src/Page/Register.elm | 0 {part7 => part8}/src/Page/Settings.elm | 0 {part7 => part8}/src/Ports.elm | 0 {part7 => part8}/src/Request/Article.elm | 0 .../src/Request/Article/Comments.elm | 0 {part7 => part8}/src/Request/Helpers.elm | 0 {part7 => part8}/src/Request/Profile.elm | 0 {part7 => part8}/src/Request/User.elm | 0 {part7 => part8}/src/Route.elm | 0 {part7 => part8}/src/Util.elm | 0 {part7 => part8}/src/Views/Article.elm | 0 .../src/Views/Article/Favorite.elm | 0 {part7 => part8}/src/Views/Article/Feed.elm | 0 {part7 => part8}/src/Views/Assets.elm | 0 {part7 => part8}/src/Views/Author.elm | 0 {part7 => part8}/src/Views/Errors.elm | 0 {part7 => part8}/src/Views/Form.elm | 0 {part7 => part8}/src/Views/Page.elm | 0 {part7 => part8}/src/Views/Spinner.elm | 0 {part7 => part8}/src/Views/User/Follow.elm | 0 576 files changed, 14 insertions(+), 44428 deletions(-) delete mode 100644 part7/tests/RoutingTests.elm delete mode 100644 part7/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/exact-dependencies.json delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Constants.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Helpers.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/InternalTypes.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Markdown.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToElmString.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToHtml.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToString.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Native/HtmlAsJson.js delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/src/ElmHtml/Query.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/ExampleApp.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/FailingTests.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Html/Inert.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Native/HtmlAsJson.js delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Descendant.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Event.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Query.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Query/Internal.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Selector.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/src/Test/Html/Selector/Internal.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/Attributes.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/Descendant.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/Events.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/Queries.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/TestExample.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/src/Lazy/List.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/tests/Example.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy-list/1.0.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/benchmarks/CoreLazy.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/benchmarks/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/benchmarks/Native/Lazy.js delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/benchmarks/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/src/Lazy.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/tests/Example.elm delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-lazy/1.0.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-shrink/1.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-shrink/1.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-shrink/1.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-shrink/1.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/eeue56/elm-shrink/1.0.0/src/Shrink.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/benchmarks/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/benchmarks/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/benchmarks/Snippets.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/benchmarks/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Expect.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Float.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Fuzz.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Fuzz/Internal.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/RoseTree.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test/Expectation.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test/Fuzz.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test/Internal.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test/Runner.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Test/Runner/Failure.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/src/Util.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/FloatWithinTests.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/FuzzerTests.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Helpers.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Runner/Log.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Runner/String.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Runner/String/Format.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/RunnerTests.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/SeedTests.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/elm-test/4.2.0/tests/run-tests.js delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/CHANGELOG.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/docs/andMap.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/docs/infixAndMap.md delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/package-lock.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/src/Json/Decode/Extra.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/src/Json/Encode/Extra.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-community/json-extra/2.6.0/tests/elm-verify-examples.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/.eslintrc delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/CONTRIBUTING.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/changelog.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Array.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Basics.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Bitwise.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Char.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Color.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Date.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Debug.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Dict.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Json/Decode.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Json/Encode.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/List.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Maybe.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Array.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Basics.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Bitwise.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Char.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Date.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Debug.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Json.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/List.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Platform.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Regex.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Scheduler.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/String.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Time.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Utils.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform/Cmd.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform/Sub.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Process.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Random.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Regex.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Result.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Set.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/String.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Task.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Time.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/src/Tuple.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Array.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Basics.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Bitwise.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Char.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/CodeGen.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Dict.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Equality.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Json.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/List.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Maybe.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Regex.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Result.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Set.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/String.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/core/5.1.1/tests/run-tests.sh delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.acorn delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.png delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/LowLevel.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Scroll.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Size.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/dom/1.1.1/src/Native/Dom.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/rate-limit.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/src/Http.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Internal.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Progress.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/http/1.0.0/src/Native/Http.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/Example.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/src/Native/Navigation.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/navigation/2.1.0/src/Navigation.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/README.md delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/Native/Debug.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/Native/VirtualDom.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Debug.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Expando.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Helpers.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/History.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Metadata.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Overlay.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Report.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/Native/TestHelpers.js delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestCases/Lazy.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestHelpers.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestMain.elm delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/run-tests.sh delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/README.md delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/src/Markdown.elm delete mode 100644 part7/tests/elm-stuff/packages/evancz/elm-markdown/3.0.2/src/Native/Markdown.js delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/README.md delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/examples/Example.elm delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/examples/README.md delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/examples/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/evancz/url-parser/2.0.1/src/UrlParser.elm delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/.travis.yml delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/CHANGELOG.md delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/CODE_OF_CONDUCT.md delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/scripts/test.sh delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/scripts/unit_tests.sh delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/src/HttpBuilder.elm delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/tests/unit/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/tests/unit/Main.elm delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/tests/unit/Native/Polyfills.js delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/tests/unit/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/lukewestby/elm-http-builder/5.1.0/tests/unit/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/src/Date/Format.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/src/Date/Local.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/src/Time/Format.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/tests/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-date-format/1.4.2/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/src/Random/Pcg.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/src/Random/Pcg/Interop.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/Bench/Native.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/Bencher.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/Native/Benchmark.js delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/prep-bench.sh delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/benchmark/run-benchmarks.html delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/bounds.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/dieharder/Dieharder.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/dieharder/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/dieharder/compile.sh delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/dieharder/elm-io.sh delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/dieharder/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/fastForward.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/filterTest.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/independentSeedTest.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/listTest.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/port/README.md delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/port/Test.elm delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/port/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/mgold/elm-random-pcg/5.0.2/test/rewind.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/CHANGELOG.md delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/examples/SignupForm.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/examples/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/src/Validate.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/tests/ValidateTests.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/tests/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/elm-validate/2.0.0/tests/elm-verify-examples.json delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/.gitignore delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/LICENSE delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/README.md delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/elm-package.json delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/src/SelectList.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/tests/Tests.elm delete mode 100644 part7/tests/elm-stuff/packages/rtfeldman/selectlist/1.0.0/tests/elm-package.json create mode 100644 part8/README.md rename {part7 => part8}/elm-package.json (100%) rename {part7 => part8}/elm-stuff/exact-dependencies.json (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm (100%) rename {part7 => part8}/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/.travis.yml (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/CHANGELOG.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/docs/andMap.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/docs/infixAndMap.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/package-lock.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/src/Json/Decode/Extra.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/src/Json/Encode/Extra.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-community/json-extra/2.7.0/tests/elm-verify-examples.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/.eslintrc (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/.travis.yml (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/CONTRIBUTING.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/changelog.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Array.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Basics.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Bitwise.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Char.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Color.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Date.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Debug.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Dict.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Json/Decode.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Json/Encode.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/List.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Maybe.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Array.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Basics.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Bitwise.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Char.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Date.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Debug.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Json.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/List.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Platform.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Regex.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Scheduler.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/String.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Time.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Native/Utils.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform/Cmd.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Platform/Sub.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Process.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Random.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Regex.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Result.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Set.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/String.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Task.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Time.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/src/Tuple.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Main.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Array.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Basics.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Bitwise.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Char.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/CodeGen.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Dict.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Equality.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Json.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/List.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Maybe.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Regex.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Result.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/Set.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/Test/String.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/core/5.1.1/tests/run-tests.sh (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.acorn (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/assets/boundaries.png (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/LowLevel.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Scroll.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/src/Dom/Size.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/dom/1.1.1/src/Native/Dom.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/properties-vs-attributes.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/src/Html.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Attributes.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Events.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Keyed.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/html/2.0.0/src/Html/Lazy.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/rate-limit.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/src/Http.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Internal.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/src/Http/Progress.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/http/1.0.0/src/Native/Http.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/Example.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/examples/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/src/Native/Navigation.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/navigation/2.1.0/src/Navigation.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/.travis.yml (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/README.md (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/Native/Debug.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/Native/VirtualDom.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Debug.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Expando.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Helpers.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/History.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Metadata.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Overlay.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/src/VirtualDom/Report.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/Native/TestHelpers.js (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestCases/Lazy.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestHelpers.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/TestMain.elm (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/elm-lang/virtual-dom/2.0.4/tests/run-tests.sh (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/README.md (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/src/Markdown.elm (100%) rename {part7 => part8}/elm-stuff/packages/evancz/elm-markdown/3.0.2/src/Native/Markdown.js (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/README.md (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/examples/Example.elm (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/examples/README.md (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/examples/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/evancz/url-parser/2.0.1/src/UrlParser.elm (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/.travis.yml (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/CHANGELOG.md (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/CODE_OF_CONDUCT.md (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/src/HttpBuilder.elm (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/tests/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/tests/Native/Polyfills.js (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/tests/Tests.elm (100%) rename {part7 => part8}/elm-stuff/packages/lukewestby/elm-http-builder/5.2.0/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/src/Date/Format.elm (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/src/Date/Local.elm (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/src/Time/Format.elm (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/tests/Tests.elm (100%) rename {part7 => part8}/elm-stuff/packages/mgold/elm-date-format/1.5.0/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/CHANGELOG.md (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/examples/SignupForm.elm (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/examples/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/src/Validate.elm (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/tests/ValidateTests.elm (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/tests/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/elm-validate/3.0.0/tests/elm-verify-examples.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/.gitignore (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/LICENSE (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/README.md (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/elm-package.json (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/src/SelectList.elm (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/tests/Tests.elm (100%) rename {part7 => part8}/elm-stuff/packages/rtfeldman/selectlist/1.0.0/tests/elm-package.json (100%) rename {part7 => part8}/src/Data/Article.elm (100%) rename {part7 => part8}/src/Data/Article/Author.elm (100%) rename {part7 => part8}/src/Data/Article/Comment.elm (100%) rename {part7 => part8}/src/Data/Article/Feed.elm (100%) rename {part7 => part8}/src/Data/AuthToken.elm (100%) rename {part7 => part8}/src/Data/Profile.elm (100%) rename {part7 => part8}/src/Data/Session.elm (100%) rename {part7 => part8}/src/Data/User.elm (100%) rename {part7 => part8}/src/Data/UserPhoto.elm (100%) rename {part7 => part8}/src/Main.elm (100%) rename {part7 => part8}/src/Page/Article.elm (100%) rename {part7 => part8}/src/Page/Article/Editor.elm (100%) rename {part7 => part8}/src/Page/Errored.elm (100%) rename {part7 => part8}/src/Page/Home.elm (100%) rename {part7 => part8}/src/Page/Login.elm (100%) rename {part7 => part8}/src/Page/NotFound.elm (100%) rename {part7 => part8}/src/Page/Profile.elm (100%) rename {part7 => part8}/src/Page/Register.elm (100%) rename {part7 => part8}/src/Page/Settings.elm (100%) rename {part7 => part8}/src/Ports.elm (100%) rename {part7 => part8}/src/Request/Article.elm (100%) rename {part7 => part8}/src/Request/Article/Comments.elm (100%) rename {part7 => part8}/src/Request/Helpers.elm (100%) rename {part7 => part8}/src/Request/Profile.elm (100%) rename {part7 => part8}/src/Request/User.elm (100%) rename {part7 => part8}/src/Route.elm (100%) rename {part7 => part8}/src/Util.elm (100%) rename {part7 => part8}/src/Views/Article.elm (100%) rename {part7 => part8}/src/Views/Article/Favorite.elm (100%) rename {part7 => part8}/src/Views/Article/Feed.elm (100%) rename {part7 => part8}/src/Views/Assets.elm (100%) rename {part7 => part8}/src/Views/Author.elm (100%) rename {part7 => part8}/src/Views/Errors.elm (100%) rename {part7 => part8}/src/Views/Form.elm (100%) rename {part7 => part8}/src/Views/Page.elm (100%) rename {part7 => part8}/src/Views/Spinner.elm (100%) rename {part7 => part8}/src/Views/User/Follow.elm (100%) diff --git a/part7/tests/RoutingTests.elm b/part7/tests/RoutingTests.elm deleted file mode 100644 index 2efa210..0000000 --- a/part7/tests/RoutingTests.elm +++ /dev/null @@ -1,104 +0,0 @@ -module RoutingTests exposing (..) - -import Data.Article as Article exposing (Slug) -import Data.User as User exposing (Username) -import Expect exposing (Expectation) -import Json.Decode exposing (decodeString) -import Navigation exposing (Location) -import Route exposing (Route(..)) -import Test exposing (..) - - --- TODO need to add lots more tests! - - -fromLocation : Test -fromLocation = - describe "Route.fromLocation" - [ testLocation "" Root - , testLocation "#login" Login - , testLocation "#logout" Logout - , testLocation "#settings" Settings - , testLocation "#profile/foo" (Profile (usernameFromStr "foo")) - , testLocation "#register" Register - , testLocation "#article/foo" (Article (slugFromStr "foo")) - , testLocation "#editor" NewArticle - , testLocation "#editor/foo" (EditArticle (slugFromStr "foo")) - ] - - - --- HELPERS -- - - -testLocation : String -> Route -> Test -testLocation hash route = - test ("Parsing hash: \"" ++ hash ++ "\"") <| - \() -> - makeHashLocation hash - |> Route.fromLocation - |> Expect.equal (Just route) - - -makeHashLocation : String -> Location -makeHashLocation hash = - { hash = hash - , href = "" - , host = "" - , hostname = "" - , protocol = "" - , origin = "" - , port_ = "" - , pathname = "" - , search = "" - , username = "" - , password = "" - } - - - --- CONSTRUCTING UNEXPOSED VALUES -- --- By decoding values that are not intended to be exposed directly - and crashing --- if they cannot be decoded, since crashing is harmless in tests - we can let --- our internal modules continue to expose only the intended ways of --- constructing those, while still being able to test them. - - -usernameFromStr : String -> Username -usernameFromStr str = - case decodeString User.usernameDecoder ("\"" ++ str ++ "\"") of - Ok username -> - username - - Err err -> - Debug.crash ("Error decoding Username from \"" ++ str ++ "\": " ++ err) - - -slugFromStr : String -> Slug -slugFromStr str = - let - json = - """ - { "description": null - , "slug": \"""" ++ str ++ """" - , "title": "" - , "tagList": [] - , "createdAt": "2012-04-23T18:25:43.511Z" - , "updatedAt": "2012-04-23T18:25:43.511Z" - , "favorited": false - , "favoritesCount": 1 - , "author": - { "username": "" - , "bio": null - , "image": null - , "following": false - } - } - """ - in - case decodeString Article.decoder json of - Ok article -> - article.slug - - Err err -> - Debug.crash ("Error decoding Slug from \"" ++ str ++ "\": " ++ err) diff --git a/part7/tests/elm-package.json b/part7/tests/elm-package.json deleted file mode 100644 index 902660d..0000000 --- a/part7/tests/elm-package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "version": "1.0.0", - "summary": "Test Suites", - "repository": "https://github.com/user/project.git", - "license": "BSD3", - "source-directories": [ - "../src", - "." - ], - "exposed-modules": [], - "dependencies": { - "NoRedInk/elm-decode-pipeline": "3.0.0 <= v < 4.0.0", - "eeue56/elm-html-test": "5.1.2 <= v < 6.0.0", - "elm-community/elm-test": "4.0.0 <= v < 5.0.0", - "elm-community/json-extra": "2.1.0 <= v < 3.0.0", - "elm-lang/core": "5.1.1 <= v < 6.0.0", - "elm-lang/dom": "1.1.1 <= v < 2.0.0", - "elm-lang/html": "2.0.0 <= v < 3.0.0", - "elm-lang/http": "1.0.0 <= v < 2.0.0", - "elm-lang/navigation": "2.1.0 <= v < 3.0.0", - "evancz/elm-markdown": "3.0.2 <= v < 4.0.0", - "evancz/url-parser": "2.0.1 <= v < 3.0.0", - "lukewestby/elm-http-builder": "5.1.0 <= v < 6.0.0", - "mgold/elm-date-format": "1.3.0 <= v < 2.0.0", - "rtfeldman/elm-validate": "2.0.0 <= v < 3.0.0", - "rtfeldman/selectlist": "1.0.0 <= v < 2.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/exact-dependencies.json b/part7/tests/elm-stuff/exact-dependencies.json deleted file mode 100644 index 0d440d7..0000000 --- a/part7/tests/elm-stuff/exact-dependencies.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "rtfeldman/elm-validate": "2.0.0", - "eeue56/elm-html-query": "3.0.0", - "rtfeldman/selectlist": "1.0.0", - "elm-community/elm-test": "4.2.0", - "elm-lang/navigation": "2.1.0", - "elm-lang/virtual-dom": "2.0.4", - "eeue56/elm-lazy": "1.0.0", - "evancz/url-parser": "2.0.1", - "mgold/elm-random-pcg": "5.0.2", - "mgold/elm-date-format": "1.4.2", - "evancz/elm-markdown": "3.0.2", - "eeue56/elm-lazy-list": "1.0.0", - "elm-lang/dom": "1.1.1", - "elm-lang/html": "2.0.0", - "elm-community/json-extra": "2.6.0", - "elm-lang/http": "1.0.0", - "eeue56/elm-shrink": "1.0.0", - "lukewestby/elm-http-builder": "5.1.0", - "eeue56/elm-html-in-elm": "5.2.0", - "eeue56/elm-html-test": "5.1.2", - "NoRedInk/elm-decode-pipeline": "3.0.0", - "elm-lang/core": "5.1.1" -} \ No newline at end of file diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore deleted file mode 100644 index a594364..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# elm-package generated files -elm-stuff/ -# elm-repl generated files -repl-temp-* diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE deleted file mode 100644 index a8e355a..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2016, NoRedInk -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of elm-decode-pipeline nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md deleted file mode 100644 index 7843d4d..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/README.md +++ /dev/null @@ -1,108 +0,0 @@ -# elm-decode-pipeline - -A library for building decoders using the pipeline [`(|>)`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#|>) -operator and plain function calls. - -## Motivation - -It's common to decode into a record that has a `type alias`. Here's an example -of this from the [`object3`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Json-Decode#object3) -docs: - -```elm -type alias Job = { name : String, id : Int, completed : Bool } - -point : Decoder Job -point = - object3 Job - ("name" := string) - ("id" := int) - ("completed" := bool) -``` - -This works because a record type alias can be called as a normal function. In -that case it accepts one argument for each field (in whatever order the fields -are declared in the type alias) and then returns an appropriate record built -with those arguments. - -The `objectN` decoders are straightforward, but require manually changing N -whenever the field count changes. This library provides functions designed to -be used with the `|>` operator, with the goal of having decoders that are both -easy to read and easy to modify. - -## Examples - -Here is a decoder built with this library. - -```elm -import Json.Decode exposing (int, string, float, Decoder) -import Json.Decode.Pipeline exposing (decode, required, optional, hardcoded) - - -type alias User = - { id : Int - , email : Maybe String - , name : String - , percentExcited : Float - } - - -userDecoder : Decoder User -userDecoder = - decode User - |> required "id" int - |> required "email" (nullable string) -- `null` decodes to `Nothing` - |> optional "name" string "(fallback if name is `null` or not present)" - |> hardcoded 1.0 -``` - -In this example: - -* `decode` is a synonym for [`succeed`](http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Json-Decode#succeed) (it just reads better here) -* `required "id" int` is similar to `("id" := int)` -* `optional` is like `required`, but if the field is either `null` or not present, decoding does not fail; instead it succeeds with the provided fallback value. -* `hardcoded` does not look at the provided JSON, and instead always decodes to the same value. - -You could use this decoder as follows: - -```elm -Json.Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com", "name": "Sam Sample"} - """ -``` - -The result would be: - -```elm -{ id = 123 -, email = "sam@example.com" -, name = "Sam Sample" -, percentExcited = 1.0 -} -``` - -Alternatively, you could use it like so: - -```elm -Json.Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com", "percentExcited": "(hardcoded)"} - """ -``` - -In this case, the result would be: - -```elm -{ id = 123 -, email = "sam@example.com" -, name = "(fallback if name not present)" -, percentExcited = 1.0 -} -``` - ---- -[![NoRedInk](https://cloud.githubusercontent.com/assets/1094080/9069346/99522418-3a9d-11e5-8175-1c2bfd7a2ffe.png)][team] -[team]: http://noredink.com/about/team diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json deleted file mode 100644 index 06af200..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/elm-package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": "3.0.0", - "summary": "A pipeline-friendly library for building JSON decoders.", - "repository": "https://github.com/NoRedInk/elm-decode-pipeline.git", - "license": "BSD-3-Clause", - "source-directories": [ - "src" - ], - "exposed-modules": [ - "Json.Decode.Pipeline" - ], - "dependencies": { - "elm-lang/core": "5.0.0 <= v < 6.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm deleted file mode 100644 index 3b83e15..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/examples/Example.elm +++ /dev/null @@ -1,19 +0,0 @@ -module Example exposing (..) - -import Json.Decode exposing (int, string, float, Decoder) -import Json.Decode.Pipeline exposing (decode, required, optional, hardcoded) - - -type alias User = - { id : Int - , name : String - , percentExcited : Float - } - - -userDecoder : Decoder User -userDecoder = - decode User - |> required "id" int - |> optional "name" string "(fallback if name not present)" - |> hardcoded 1.0 diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm deleted file mode 100644 index 15eab71..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/src/Json/Decode/Pipeline.elm +++ /dev/null @@ -1,292 +0,0 @@ -module Json.Decode.Pipeline exposing (required, requiredAt, optional, optionalAt, resolve, decode, hardcoded, custom) - -{-| # Json.Decode.Pipeline - -Use the `(|>)` operator to build JSON decoders. - -## Decoding fields - -@docs required, requiredAt, optional, optionalAt, hardcoded, custom - -## Beginning and ending pipelines - -@docs decode, resolve - --} - -import Json.Decode as Decode exposing (Decoder) - - -{-| Decode a required field. - - import Json.Decode exposing (int, string, Decoder) - import Decode.Pipeline exposing (decode, required) - - - type alias User = - { id : Int - , name : String - , email : String - } - - - userDecoder : Decoder User - userDecoder = - decode User - |> required "id" int - |> required "name" string - |> required "email" string - - - result : Result String User - result = - Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com", "name": "Sam"} - """ - -- Ok { id = 123, name = "Sam", email = "sam@example.com" } --} -required : String -> Decoder a -> Decoder (a -> b) -> Decoder b -required key valDecoder decoder = - custom (Decode.field key valDecoder) decoder - - -{-| Decode a required nested field. --} -requiredAt : List String -> Decoder a -> Decoder (a -> b) -> Decoder b -requiredAt path valDecoder decoder = - custom (Decode.at path valDecoder) decoder - - -{-| Decode a field that may be missing or have a null value. If the field is -missing, then it decodes as the `fallback` value. If the field is present, -then `valDecoder` is used to decode its value. If `valDecoder` fails on a -`null` value, then the `fallback` is used as if the field were missing -entirely. - - import Json.Decode exposing (int, string, null, oneOf, Decoder) - import Decode.Pipeline exposing (decode, required, optional) - - - type alias User = - { id : Int - , name : String - , email : String - } - - - userDecoder : Decoder User - userDecoder = - decode User - |> required "id" int - |> optional "name" string "blah" - |> required "email" string - - - result : Result String User - result = - Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com" } - """ - -- Ok { id = 123, name = "blah", email = "sam@example.com" } - -Because `valDecoder` is given an opportunity to decode `null` values before -resorting to the `fallback`, you can distinguish between missing and `null` -values if you need to: - - userDecoder2 = - decode User - |> required "id" int - |> optional "name" (oneOf [ string, null "NULL" ]) "MISSING" - |> required "email" string - --} -optional : String -> Decoder a -> a -> Decoder (a -> b) -> Decoder b -optional key valDecoder fallback decoder = - custom (optionalDecoder (Decode.field key Decode.value) valDecoder fallback) decoder - - -{-| Decode an optional nested field. --} -optionalAt : List String -> Decoder a -> a -> Decoder (a -> b) -> Decoder b -optionalAt path valDecoder fallback decoder = - custom (optionalDecoder (Decode.at path Decode.value) valDecoder fallback) decoder - - -optionalDecoder : Decoder Decode.Value -> Decoder a -> a -> Decoder a -optionalDecoder pathDecoder valDecoder fallback = - let - nullOr decoder = - Decode.oneOf [ decoder, Decode.null fallback ] - - handleResult input = - case Decode.decodeValue pathDecoder input of - Ok rawValue -> - -- The field was present, so now let's try to decode that value. - -- (If it was present but fails to decode, this should and will fail!) - case Decode.decodeValue (nullOr valDecoder) rawValue of - Ok finalResult -> - Decode.succeed finalResult - - Err finalErr -> - Decode.fail finalErr - - Err _ -> - -- The field was not present, so use the fallback. - Decode.succeed fallback - in - Decode.value - |> Decode.andThen handleResult - - -{-| Rather than decoding anything, use a fixed value for the next step in the -pipeline. `harcoded` does not look at the JSON at all. - - import Json.Decode exposing (int, string, Decoder) - import Decode.Pipeline exposing (decode, required) - - - type alias User = - { id : Int - , email : String - , followers : Int - } - - - userDecoder : Decoder User - userDecoder = - decode User - |> required "id" int - |> required "email" string - |> hardcoded 0 - - - result : Result String User - result = - Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com"} - """ - -- Ok { id = 123, email = "sam@example.com", followers = 0 } --} -hardcoded : a -> Decoder (a -> b) -> Decoder b -hardcoded = - Decode.succeed >> custom - - -{-| Run the given decoder and feed its result into the pipeline at this point. - -Consider this example. - - import Json.Decode exposing (int, string, at, Decoder) - import Decode.Pipeline exposing (decode, required, custom) - - - type alias User = - { id : Int - , name : String - , email : String - } - - - userDecoder : Decoder User - userDecoder = - decode User - |> required "id" int - |> custom (at [ "profile", "name" ] string) - |> required "email" string - - - result : Result String User - result = - Decode.decodeString - userDecoder - """ - { - "id": 123, - "email": "sam@example.com", - "profile": {"name": "Sam"} - } - """ - -- Ok { id = 123, name = "Sam", email = "sam@example.com" } --} -custom : Decoder a -> Decoder (a -> b) -> Decoder b -custom = - Decode.map2 (|>) - - -{-| Convert a `Decoder (Result x a)` into a `Decoder a`. Useful when you want -to perform some custom processing just before completing the decoding operation. - - import Json.Decode exposing (int, string, float, Decoder) - import Decode.Pipeline exposing - (decode, required, resolve) - - - type alias User = - { id : Int - , email : String - } - - - userDecoder : Decoder User - userDecoder = - let - -- toDecoder gets run *after* all the - -- (|> required ...) steps are done. - toDecoder : Int -> String -> Int -> Decoder User - toDecoder id email version = - if version > 2 then - succeed (User id email) - else - fail "This JSON is from a deprecated source. Please upgrade!" - in - decode toDecoder - |> required "id" int - |> required "email" string - |> required "version" int -- version is part of toDecoder, - |> resolve -- but it is not a part of User - - - result : Result String User - result = - Decode.decodeString - userDecoder - """ - {"id": 123, "email": "sam@example.com", "version": 1} - """ - -- Err "This JSON is from a deprecated source. Please upgrade!" --} -resolve : Decoder (Decoder a) -> Decoder a -resolve = - Decode.andThen identity - - -{-| Begin a decoding pipeline. This is a synonym for [Json.Decode.succeed](http://package.elm-lang.org/packages/elm-lang/core/latest/Json-Decode#succeed), -intended to make things read more clearly. - - import Json.Decode exposing (int, string, float, Decoder) - import Json.Decode.Pipeline exposing (decode, required, optional) - - - type alias User = - { id : Int - , email : String - , name : String - } - - - userDecoder : Decoder User - userDecoder = - decode User - |> required "id" int - |> required "email" string - |> optional "name" string "" --} -decode : a -> Decoder a -decode = - Decode.succeed diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore deleted file mode 100644 index aee9810..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/elm-stuff/ diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm deleted file mode 100644 index 532f8e6..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Main.elm +++ /dev/null @@ -1,19 +0,0 @@ -port module Main exposing (..) - -{-| -Run the tests with node-test-runner: - -https://github.com/rtfeldman/node-test-runner --} - -import Tests -import Test.Runner.Node exposing (run) -import Json.Encode exposing (Value) - - -main : Program Never -main = - run emit Tests.all - - -port emit : ( String, Value ) -> Cmd msg diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm deleted file mode 100644 index f4bcaa1..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/Tests.elm +++ /dev/null @@ -1,114 +0,0 @@ -module Tests exposing (..) - -import Test exposing (..) -import Expect exposing (Expectation) -import Json.Decode.Pipeline - exposing - ( decode - , required - , requiredAt - , optional - , optionalAt - , resolveResult - ) -import Json.Decode exposing (Decoder, string, null) - - -{-| Run some JSON through a Decoder and return the result. --} -runWith : String -> Decoder a -> Result String a -runWith = - flip Json.Decode.decodeString - - -isError : Result err ok -> Bool -isError result = - case result of - Err _ -> - True - - Ok _ -> - False - - -expectErr : Result err ok -> Expectation -expectErr result = - isError result - |> Expect.true ("Expected an Err but got " ++ toString result) - - -all : Test -all = - describe - "Json.Decode.Pipeline" - [ test "should decode basic example" <| - \() -> - decode (,) - |> required "a" string - |> required "b" string - |> runWith """{"a":"foo","b":"bar"}""" - |> Expect.equal (Ok ( "foo", "bar" )) - , test "should decode requiredAt fields" <| - \() -> - decode (,) - |> requiredAt [ "a" ] string - |> requiredAt [ "b", "c" ] string - |> runWith """{"a":"foo","b":{"c":"bar"}}""" - |> Expect.equal (Ok ( "foo", "bar" )) - , test "should decode optionalAt fields" <| - \() -> - decode (,) - |> optionalAt [ "a", "b" ] string "--" - |> optionalAt [ "x", "y" ] string "--" - |> runWith """{"a":{},"x":{"y":"bar"}}""" - |> Expect.equal (Ok ( "--", "bar" )) - , test "optional succeeds if the field is not present" <| - \() -> - decode (,) - |> optional "a" string "--" - |> optional "x" string "--" - |> runWith """{"x":"five"}""" - |> Expect.equal (Ok ( "--", "five" )) - , test "optional succeeds with fallback if the field is present but null" <| - \() -> - decode (,) - |> optional "a" string "--" - |> optional "x" string "--" - |> runWith """{"a":null,"x":"five"}""" - |> Expect.equal (Ok ( "--", "five" )) - , test "optional succeeds with result of the given decoder if the field is null and the decoder decodes nulls" <| - \() -> - decode (,) - |> optional "a" (null "null") "--" - |> optional "x" string "--" - |> runWith """{"a":null,"x":"five"}""" - |> Expect.equal (Ok ( "null", "five" )) - , test "optional fails if the field is present but doesn't decode" <| - \() -> - decode (,) - |> optional "a" string "--" - |> optional "x" string "--" - |> runWith """{"x":5}""" - |> expectErr - , test "optionalAt fails if the field is present but doesn't decode" <| - \() -> - decode (,) - |> optionalAt [ "a", "b" ] string "--" - |> optionalAt [ "x", "y" ] string "--" - |> runWith """{"a":{},"x":{"y":5}}""" - |> expectErr - , test "resolveResult bubbles up decoded Err results" <| - \() -> - decode Err - |> required "error" string - |> resolveResult - |> runWith """{"error":"invalid"}""" - |> expectErr - , test "resolveResult bubbles up decoded Ok results" <| - \() -> - decode Ok - |> required "ok" string - |> resolveResult - |> runWith """{"ok":"valid"}""" - |> Expect.equal (Ok "valid") - ] diff --git a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json b/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json deleted file mode 100644 index 4513220..0000000 --- a/part7/tests/elm-stuff/packages/NoRedInk/elm-decode-pipeline/3.0.0/tests/elm-package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "version": "1.0.0", - "summary": "Sample Elm Test", - "repository": "https://github.com/user/project.git", - "license": "BSD-3-Clause", - "source-directories": [ - ".", - "../src" - ], - "exposed-modules": [], - "dependencies": { - "elm-lang/core": "5.0.0 <= v < 6.0.0", - "elm-community/elm-test": "2.0.0 <= v < 3.0.0", - "rtfeldman/node-test-runner": "1.0.0 <= v < 2.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.gitignore b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.gitignore deleted file mode 100644 index a594364..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# elm-package generated files -elm-stuff/ -# elm-repl generated files -repl-temp-* diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.travis.yml b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.travis.yml deleted file mode 100644 index b74a0c2..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ -sudo: false - -cache: - directories: - - tests/elm-stuff/build-artifacts - -os: - - osx - - linux - -env: - matrix: - - ELM_VERSION=0.18 TARGET_NODE_VERSION=node - - ELM_VERSION=0.18 TARGET_NODE_VERSION=4.2 - -before_install: - - if [ ${TRAVIS_OS_NAME} == "osx" ]; - then brew update; brew install nvm; mkdir ~/.nvm; export NVM_DIR=~/.nvm; source $(brew --prefix nvm)/nvm.sh; - fi - -install: - - nvm install $TARGET_NODE_VERSION - - nvm use $TARGET_NODE_VERSION - - node --version - - npm --version - - npm install -g elm@$ELM_VERSION - - npm install -g elm-test - - -script: - - elm-test diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/LICENSE b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/LICENSE deleted file mode 100644 index c495756..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2016, Noah -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/README.md b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/README.md deleted file mode 100644 index a75b421..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# elm-html-in-elm - - -A pure Elm represention of Elm Html. This module has been taken from [elm-server-side-renderer](https://github.com/eeue56/elm-server-side-renderer) and is a pure representation of the Html structure used by VirtualDom. It is designed to allow you to inspect Html nodes - -This package is used to support testing with [elm-html-test](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest). - -This package is also used to support using Elm as to generate static files for -your site with [elm-static-html](https://github.com/eeue56/elm-static-html) diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/elm-package.json b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/elm-package.json deleted file mode 100644 index fdbecbb..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/elm-package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": "5.2.0", - "summary": "A pure Elm representation of Elm Html", - "repository": "https://github.com/eeue56/elm-html-in-elm.git", - "license": "BSD3", - "source-directories": [ - "src" - ], - "exposed-modules": [ - "ElmHtml.Constants", - "ElmHtml.InternalTypes", - "ElmHtml.Markdown", - "ElmHtml.ToString", - "ElmHtml.ToElmString", - "ElmHtml.ToHtml" - ], - "dependencies": { - "elm-lang/core": "5.0.0 <= v < 6.0.0", - "elm-lang/html": "2.0.0 <= v < 3.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Constants.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Constants.elm deleted file mode 100644 index 23262f2..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Constants.elm +++ /dev/null @@ -1,43 +0,0 @@ -module ElmHtml.Constants exposing (..) - -{-| -Constants for representing internal keys for Elm's vdom implementation - -@docs styleKey, eventKey, attributeKey, attributeNamespaceKey, knownKeys - --} - - -{-| Internal key for style --} -styleKey : String -styleKey = - "STYLE" - - -{-| Internal key for style --} -eventKey : String -eventKey = - "EVENT" - - -{-| Internal key for style --} -attributeKey : String -attributeKey = - "ATTR" - - -{-| Internal key for style --} -attributeNamespaceKey : String -attributeNamespaceKey = - "ATTR_NS" - - -{-| Keys that we are aware of and should pay attention to --} -knownKeys : List String -knownKeys = - [ styleKey, eventKey, attributeKey, attributeNamespaceKey ] diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Helpers.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Helpers.elm deleted file mode 100644 index b5114fc..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Helpers.elm +++ /dev/null @@ -1,17 +0,0 @@ -module ElmHtml.Helpers exposing (..) - -{-| -Internal helpers for ElmHtml - -@docs filterKnownKeys --} - -import Dict exposing (Dict) -import ElmHtml.Constants exposing (..) - - -{-| Filter out keys that we don't know --} -filterKnownKeys : Dict String a -> Dict String a -filterKnownKeys = - Dict.filter (\key _ -> not (List.member key knownKeys)) diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/InternalTypes.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/InternalTypes.elm deleted file mode 100644 index e553433..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/InternalTypes.elm +++ /dev/null @@ -1,581 +0,0 @@ -module ElmHtml.InternalTypes - exposing - ( Attribute(..) - , AttributeRecord - , CustomNodeRecord - , ElementKind(..) - , ElmHtml(..) - , EventHandler - , EventRecord - , Facts - , MarkdownNodeRecord - , NamespacedAttributeRecord - , NodeRecord - , PropertyRecord - , Tagger - , TextTagRecord - , decodeAttribute - , decodeElmHtml - , emptyFacts - , toElementKind - ) - -{-| Internal types used to represent Elm Html in pure Elm - -@docs ElmHtml, TextTagRecord, NodeRecord, CustomNodeRecord, MarkdownNodeRecord - -@docs Facts, Tagger, EventHandler, ElementKind - -@docs Attribute, AttributeRecord, NamespacedAttributeRecord, PropertyRecord, EventRecord - -@docs decodeElmHtml, emptyFacts, toElementKind, decodeAttribute - --} - -import Dict exposing (Dict) -import ElmHtml.Constants exposing (..) -import ElmHtml.Helpers exposing (..) -import ElmHtml.Markdown exposing (..) -import Html.Events -import Json.Decode exposing (field) -import Json.Encode - - -{-| Type tree for representing Elm's Html - - - TextTag is just a plain old bit of text. - - NodeEntry is an actual HTML node, e.g a div - - CustomNode are nodes defined to work with the renderer in some way, e.g webgl/markdown - - MarkdownNode is just a wrapper for CustomNode designed just for markdown - --} -type ElmHtml msg - = TextTag TextTagRecord - | NodeEntry (NodeRecord msg) - | CustomNode (CustomNodeRecord msg) - | MarkdownNode (MarkdownNodeRecord msg) - | NoOp - - -{-| Text tags just contain text --} -type alias TextTagRecord = - { text : String } - - -{-| A node contains the `tag` as a string, the children, the facts (e.g attributes) and descendantsCount --} -type alias NodeRecord msg = - { tag : String - , children : List (ElmHtml msg) - , facts : - Facts msg - - --, namespace : String - , descendantsCount : Int - } - - -{-| A markdown node contains facts (e.g attributes) and the model used by markdown --} -type alias MarkdownNodeRecord msg = - { facts : Facts msg - , model : MarkdownModel - } - - -{-| Custom nodes contain facts (e.g attributes) and a json value for the model --} -type alias CustomNodeRecord msg = - { facts : Facts msg - , model : Json.Decode.Value - } - - -{-| Tagger holds the map function when Html.Map is used, the tagger -should then be applied to events comming from descendant nodes, it -is basically a javascript function. --} -type alias Tagger = - Json.Decode.Value - - -{-| EventHandler holds the function that is called when an event is -triggered, it is basically a javascript object like this: - -{ decoder: [Function] } - --} -type alias EventHandler = - Json.Decode.Value - - -{-| Facts contain various dictionaries and values for a node - - - styles are a mapping of rules - - events may be a json object containing event handlers - - attributes are pulled out into stringAttributes and boolAttributes - things with string values go into - stringAttributes, things with bool values go into boolAttributes - --} -type alias Facts msg = - { styles : Dict String String - , events : Dict String (Json.Decode.Decoder msg) - , attributeNamespace : Maybe Json.Decode.Value - , stringAttributes : Dict String String - , boolAttributes : Dict String Bool - } - - -{-| Type for representing the five kinds of elements according to HTML 5 -[spec](https://html.spec.whatwg.org/multipage/syntax.html#elements-2). -Used to handle different rendering behavior depending on the type of element. --} -type ElementKind - = VoidElements - | RawTextElements - | EscapableRawTextElements - | ForeignElements - | NormalElements - - -type HtmlContext msg - = HtmlContext (List Tagger) (List Tagger -> EventHandler -> Json.Decode.Decoder msg) - - -{-| Type for representing Elm's Attributes - - - Attribute is an HTML attribute, like `Html.Attributes.colspan`. These values - are applied using `element.setAttribute(key, value)` during a patch. - - NamespacedAttribute has an namespace, like `Svg.Attributes.xlinkHref` - - Property assigns a value to a node like `Html.Attributes.class`, and can - hold any encoded value. Unlike attributes, where `element.setAttribute()` is - used during the patch, properties are applied directly as - `element[key] = value`. - - Styles hold a list of key value pairs to be applied to the node's style set - - Event contains a decoder for a msg and the `Html.Event.Options` for the event - --} -type Attribute - = Attribute AttributeRecord - | NamespacedAttribute NamespacedAttributeRecord - | Property PropertyRecord - | Styles (List ( String, String )) - | Event EventRecord - - -{-| Attribute contains a string key and a string value --} -type alias AttributeRecord = - { key : String - , value : String - } - - -{-| NamespacedAttribute contains a string key, string namespace and string value --} -type alias NamespacedAttributeRecord = - { key : String - , value : String - , namespace : String - } - - -{-| Property contains a string key and a value with an arbitrary type --} -type alias PropertyRecord = - { key : String - , value : Json.Decode.Value - } - - -{-| Event contains a string key, a decoder for a msg and event options --} -type alias EventRecord = - { key : String - , decoder : Json.Decode.Value - , options : Html.Events.Options - } - - -{-| decode a json object into ElmHtml, you have to pass a function that decodes -events from Html Nodes. If you don't want to decode event msgs, you can ignore it: - -decodeElmHtml (\_ _ -> ()) jsonHtml - -if you do want to decode them, you will probably need to write some native code -like elm-html-test does to extract the function inside those. - --} -decodeElmHtml : (List Tagger -> EventHandler -> Json.Decode.Decoder msg) -> Json.Decode.Decoder (ElmHtml msg) -decodeElmHtml eventDecoder = - contextDecodeElmHtml (HtmlContext [] eventDecoder) - - -contextDecodeElmHtml : HtmlContext msg -> Json.Decode.Decoder (ElmHtml msg) -contextDecodeElmHtml context = - field "type" Json.Decode.string - |> Json.Decode.andThen - (\typeString -> - case typeString of - "text" -> - Json.Decode.map TextTag decodeTextTag - - "keyed-node" -> - Json.Decode.map NodeEntry (decodeKeyedNode context) - - "node" -> - Json.Decode.map NodeEntry (decodeNode context) - - "custom" -> - decodeCustomNode context - - "tagger" -> - decodeTagger context - - "thunk" -> - field "node" (contextDecodeElmHtml context) - - _ -> - Json.Decode.fail ("No such type as " ++ typeString) - ) - - -{-| decode text tag --} -decodeTextTag : Json.Decode.Decoder TextTagRecord -decodeTextTag = - field "text" (Json.Decode.andThen (\text -> Json.Decode.succeed { text = text }) Json.Decode.string) - - -{-| encode text tag --} -encodeTextTag : TextTagRecord -> Json.Encode.Value -encodeTextTag { text } = - Json.Encode.object [ ( "text", Json.Encode.string text ) ] - - -{-| decode a tagger --} -decodeTagger : HtmlContext msg -> Json.Decode.Decoder (ElmHtml msg) -decodeTagger (HtmlContext taggers eventDecoder) = - Json.Decode.field "tagger" Json.Decode.value - |> Json.Decode.andThen - (\tagger -> - let - nodeDecoder = - contextDecodeElmHtml (HtmlContext (taggers ++ [ tagger ]) eventDecoder) - in - Json.Decode.oneOf - [ Json.Decode.at [ "node" ] nodeDecoder - , Json.Decode.at [ "text" ] nodeDecoder - , Json.Decode.at [ "custom" ] nodeDecoder - ] - ) - - -decodeKeyedNode : HtmlContext msg -> Json.Decode.Decoder (NodeRecord msg) -decodeKeyedNode context = - let - -- elm stores keyed nodes as tuples - -- we only want to decode the html, in the second property - decodeSecondNode = - Json.Decode.field "_1" (contextDecodeElmHtml context) - in - Json.Decode.map4 NodeRecord - (Json.Decode.field "tag" Json.Decode.string) - (Json.Decode.field "children" (Json.Decode.list decodeSecondNode)) - (Json.Decode.field "facts" (decodeFacts context)) - (Json.Decode.field "descendantsCount" Json.Decode.int) - - -{-| decode a node record --} -decodeNode : HtmlContext msg -> Json.Decode.Decoder (NodeRecord msg) -decodeNode context = - Json.Decode.map4 NodeRecord - (field "tag" Json.Decode.string) - (field "children" (Json.Decode.list (contextDecodeElmHtml context))) - (field "facts" (decodeFacts context)) - (field "descendantsCount" Json.Decode.int) - - -{-| encode a node record: currently does not support facts or children --} -encodeNodeRecord : NodeRecord msg -> Json.Encode.Value -encodeNodeRecord record = - Json.Encode.object - [ ( "tag", Json.Encode.string record.tag ) - - --, ( "children", Json.Encode.list encodeElmHtml) - --, ( "facts", encodeFacts) - , ( "descendantsCount", Json.Encode.int record.descendantsCount ) - ] - - -{-| decode custom node into either markdown or custom --} -decodeCustomNode : HtmlContext msg -> Json.Decode.Decoder (ElmHtml msg) -decodeCustomNode context = - Json.Decode.oneOf - [ Json.Decode.map MarkdownNode (decodeMarkdownNodeRecord context) - , Json.Decode.map CustomNode (decodeCustomNodeRecord context) - ] - - -{-| decode custom node record --} -decodeCustomNodeRecord : HtmlContext msg -> Json.Decode.Decoder (CustomNodeRecord msg) -decodeCustomNodeRecord context = - Json.Decode.map2 CustomNodeRecord - (field "facts" (decodeFacts context)) - (field "model" Json.Decode.value) - - -{-| decode markdown node record --} -decodeMarkdownNodeRecord : HtmlContext msg -> Json.Decode.Decoder (MarkdownNodeRecord msg) -decodeMarkdownNodeRecord context = - Json.Decode.map2 MarkdownNodeRecord - (field "facts" (decodeFacts context)) - (field "model" decodeMarkdownModel) - - -{-| decode the styles --} -decodeStyles : Json.Decode.Decoder (Dict String String) -decodeStyles = - Json.Decode.oneOf - [ field styleKey (Json.Decode.dict Json.Decode.string) - , Json.Decode.succeed Dict.empty - ] - - -{-| encode styles --} -encodeStyles : Dict String String -> Json.Encode.Value -encodeStyles stylesDict = - let - encodedDict = - stylesDict - |> Dict.toList - |> List.map (\( k, v ) -> ( k, Json.Encode.string v )) - in - Json.Encode.object [ ( styleKey, Json.Encode.object encodedDict ) ] - - -{-| grab things from attributes via a decoder, then anything that isn't filtered on -the object --} -decodeOthers : Json.Decode.Decoder a -> Json.Decode.Decoder (Dict String a) -decodeOthers otherDecoder = - decodeAttributes otherDecoder - |> Json.Decode.andThen - (\attributes -> - decodeDictFilterMap otherDecoder - |> Json.Decode.map (filterKnownKeys >> Dict.union attributes) - ) - - -{-| For a given decoder, keep the values from a dict that pass the decoder --} -decodeDictFilterMap : Json.Decode.Decoder a -> Json.Decode.Decoder (Dict String a) -decodeDictFilterMap decoder = - Json.Decode.dict Json.Decode.value - |> Json.Decode.map - (Dict.toList - >> List.filterMap - (\( key, value ) -> - case Json.Decode.decodeValue decoder value of - Err _ -> - Nothing - - Ok v -> - Just ( key, v ) - ) - >> Dict.fromList - ) - - -decodeAttributes : Json.Decode.Decoder a -> Json.Decode.Decoder (Dict String a) -decodeAttributes decoder = - Json.Decode.oneOf - [ Json.Decode.field attributeKey (decodeDictFilterMap decoder) - , Json.Decode.succeed Dict.empty - ] - - -decodeEvents : (EventHandler -> Json.Decode.Decoder msg) -> Json.Decode.Decoder (Dict String (Json.Decode.Decoder msg)) -decodeEvents taggedEventDecoder = - Json.Decode.oneOf - [ Json.Decode.field eventKey (Json.Decode.dict (Json.Decode.map taggedEventDecoder Json.Decode.value)) - , Json.Decode.succeed Dict.empty - ] - - -{-| decode fact --} -decodeFacts : HtmlContext msg -> Json.Decode.Decoder (Facts msg) -decodeFacts (HtmlContext taggers eventDecoder) = - Json.Decode.map5 Facts - decodeStyles - (decodeEvents (eventDecoder taggers)) - (Json.Decode.maybe (Json.Decode.field attributeNamespaceKey Json.Decode.value)) - (decodeOthers Json.Decode.string) - (decodeOthers Json.Decode.bool) - - -{-| Just empty facts --} -emptyFacts : Facts msg -emptyFacts = - { styles = Dict.empty - , events = Dict.empty - , attributeNamespace = Nothing - , stringAttributes = Dict.empty - , boolAttributes = Dict.empty - } - - -{-| Decode a JSON object into an Attribute. You have to pass a function that -decodes events from event attributes. If you don't want to decode event msgs, -you can ignore it: - - decodeAttribute (\_ -> ()) jsonHtml - -If you do want to decode them, you will probably need to write some native code -like elm-html-test does to extract the function inside those. - --} -decodeAttribute : Json.Decode.Decoder Attribute -decodeAttribute = - Json.Decode.field "key" Json.Decode.string - |> Json.Decode.andThen - (\key -> - if key == attributeKey then - Json.Decode.map2 AttributeRecord - (Json.Decode.field "realKey" Json.Decode.string) - (Json.Decode.field "value" Json.Decode.string) - |> Json.Decode.map Attribute - else if key == attributeNamespaceKey then - Json.Decode.map3 NamespacedAttributeRecord - (Json.Decode.field "realKey" Json.Decode.string) - (Json.Decode.at [ "value", "value" ] Json.Decode.string) - (Json.Decode.at [ "value", "namespace" ] Json.Decode.string) - |> Json.Decode.map NamespacedAttribute - else if key == styleKey then - Json.Decode.map2 (,) - (Json.Decode.field "_0" Json.Decode.string) - (Json.Decode.field "_1" Json.Decode.string) - |> elmListDecoder - |> Json.Decode.field "value" - |> Json.Decode.map Styles - else if key == eventKey then - Json.Decode.map3 EventRecord - (Json.Decode.field "realKey" Json.Decode.string) - (Json.Decode.at [ "value", "decoder" ] Json.Decode.value) - (Json.Decode.at [ "value", "options" ] decodeOptions) - |> Json.Decode.map Event - else - Json.Decode.field "value" Json.Decode.value - |> Json.Decode.map (PropertyRecord key >> Property) - ) - - -decodeOptions : Json.Decode.Decoder Html.Events.Options -decodeOptions = - Json.Decode.map2 Html.Events.Options - (Json.Decode.field "stopPropagation" Json.Decode.bool) - (Json.Decode.field "preventDefault" Json.Decode.bool) - - -elmListDecoder : Json.Decode.Decoder a -> Json.Decode.Decoder (List a) -elmListDecoder itemDecoder = - elmListDecoderHelp itemDecoder [] - |> Json.Decode.map List.reverse - - -elmListDecoderHelp : Json.Decode.Decoder a -> List a -> Json.Decode.Decoder (List a) -elmListDecoderHelp itemDecoder items = - Json.Decode.field "ctor" Json.Decode.string - |> Json.Decode.andThen - (\ctor -> - case ctor of - "[]" -> - Json.Decode.succeed items - - "::" -> - Json.Decode.field "_0" itemDecoder - |> Json.Decode.andThen - (\value -> - Json.Decode.field "_1" (elmListDecoderHelp itemDecoder (value :: items)) - ) - - _ -> - Json.Decode.fail <| "Unrecognized constructor for an Elm List: " ++ ctor - ) - - -{-| A list of Void elements as defined by the HTML5 specification. These -elements must not have closing tags and most not be written as self closing -either --} -voidElements : List String -voidElements = - [ "area" - , "base" - , "br" - , "col" - , "embed" - , "hr" - , "img" - , "input" - , "link" - , "meta" - , "param" - , "source" - , "track" - , "wbr" - ] - - -{-| A list of all Raw Text Elements as defined by the HTML5 specification. They -can contain only text and have restrictions on which characters can appear -within its innerHTML --} -rawTextElements : List String -rawTextElements = - [ "script", "style" ] - - -{-| A list of all Escapable Raw Text Elements as defined by the HTML5 -specification. They can have text and character references, but the text must -not contain an ambiguous ampersand along with addional restrictions: - --} -escapableRawTextElements : List String -escapableRawTextElements = - [ "textarea", "title" ] - - - -{- Foreign elements are elements from the MathML namespace and the - SVG namespace. TODO: detect these nodes and handle them correctly. Right - now they will just be treated as Normal elements. --} - - -{-| Identify the kind of element. Helper to convert an tag name into a type for -pattern matching. --} -toElementKind : String -> ElementKind -toElementKind element = - if List.member element voidElements then - VoidElements - else if List.member element rawTextElements then - RawTextElements - else if List.member element escapableRawTextElements then - EscapableRawTextElements - else - -- All other allowed HTML elements are normal elements - NormalElements diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Markdown.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Markdown.elm deleted file mode 100644 index 121d4fc..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/Markdown.elm +++ /dev/null @@ -1,70 +0,0 @@ -module ElmHtml.Markdown exposing (..) - -{-| Markdown helpers - -@docs MarkdownOptions, MarkdownModel, baseMarkdownModel - -@docs encodeOptions, encodeMarkdownModel, decodeMarkdownModel - --} - -import Json.Encode -import Json.Decode exposing (field) - - -{-| Just a default markdown model --} -baseMarkdownModel : MarkdownModel -baseMarkdownModel = - { options = - { githubFlavored = Just { tables = False, breaks = False } - , defaultHighlighting = Nothing - , sanitize = False - , smartypants = False - } - , markdown = "" - } - - -{-| options markdown expects --} -type alias MarkdownOptions = - { githubFlavored : Maybe { tables : Bool, breaks : Bool } - , defaultHighlighting : Maybe String - , sanitize : Bool - , smartypants : Bool - } - - -{-| An internal markdown model. Options are the things you give markdown, markdown is the string --} -type alias MarkdownModel = - { options : MarkdownOptions - , markdown : String - } - - -{-| We don't really care about encoding options right now -TODO: we will if we want to represent things as we do for elm-html --} -encodeOptions : MarkdownOptions -> Json.Decode.Value -encodeOptions options = - Json.Encode.null - - -{-| encode markdown model --} -encodeMarkdownModel : MarkdownModel -> Json.Decode.Value -encodeMarkdownModel model = - Json.Encode.object - [ ( "options", encodeOptions model.options ) - , ( "markdown", Json.Encode.string model.markdown ) - ] - - -{-| decode a markdown model --} -decodeMarkdownModel : Json.Decode.Decoder MarkdownModel -decodeMarkdownModel = - field "markdown" Json.Decode.string - |> Json.Decode.map (MarkdownModel baseMarkdownModel.options) diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToElmString.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToElmString.elm deleted file mode 100644 index e6e2077..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToElmString.elm +++ /dev/null @@ -1,143 +0,0 @@ -module ElmHtml.ToElmString - exposing - ( toElmString - , nodeRecordToString - , toElmStringWithOptions - , FormatOptions - , defaultFormatOptions - ) - -{-| Convert ElmHtml to string of Elm code. - -@docs nodeRecordToString, toElmString, toElmStringWithOptions - -@docs FormatOptions, defaultFormatOptions - --} - -import String -import Dict exposing (Dict) -import ElmHtml.InternalTypes exposing (..) - - -{-| Formatting options to be used for converting to string --} -type alias FormatOptions = - { indent : Int - , newLines : Bool - } - - -{-| default formatting options --} -defaultFormatOptions : FormatOptions -defaultFormatOptions = - { indent = 0 - , newLines = False - } - - -nodeToLines : FormatOptions -> ElmHtml msg -> List String -nodeToLines options nodeType = - case nodeType of - TextTag { text } -> - [ "Html.text \"" ++ text ++ "\"" ] - - NodeEntry record -> - nodeRecordToString options record - - CustomNode record -> - [] - - MarkdownNode record -> - [ record.model.markdown ] - - NoOp -> - [] - - -{-| Convert a given html node to a string based on the type --} -toElmString : ElmHtml msg -> String -toElmString = - toElmStringWithOptions defaultFormatOptions - - -{-| same as toElmString, but with options --} -toElmStringWithOptions : FormatOptions -> ElmHtml msg -> String -toElmStringWithOptions options = - nodeToLines options - >> String.join - (if options.newLines then - "\n" - else - "" - ) - - -{-| Convert a node record to a string. This basically takes the tag name, then -pulls all the facts into tag declaration, then goes through the children and -nests them under this one --} -nodeRecordToString : FormatOptions -> NodeRecord msg -> List String -nodeRecordToString options { tag, children, facts } = - let - openTag : List (Maybe String) -> String - openTag extras = - let - trimmedExtras = - List.filterMap (\x -> x) extras - |> List.map String.trim - |> List.filter ((/=) "") - - filling = - case trimmedExtras of - [] -> - "" - - more -> - " " ++ (String.join " " more) - in - "Html." ++ tag ++ " [" ++ filling - - childrenStrings = - List.map (nodeToLines options) children - |> List.concat - |> List.map ((++) (String.repeat options.indent " ")) - - styles = - case Dict.toList facts.styles of - [] -> - Nothing - - styles -> - styles - |> List.map (\( key, value ) -> "(\"" ++ key ++ "\",\"" ++ value ++ "\")") - |> String.join ", " - |> (\styleString -> "Html.Attributes.style [" ++ styleString ++ "]") - |> Just - - classes = - Dict.get "className" facts.stringAttributes - |> Maybe.map (\name -> "Html.Attributes.class [\"" ++ name ++ "\"]") - - stringAttributes = - Dict.filter (\k v -> k /= "className") facts.stringAttributes - |> Dict.toList - |> List.map (\( k, v ) -> "Html.Attributes." ++ k ++ " \"" ++ v ++ "\"") - |> String.join ", " - |> Just - - boolAttributes = - Dict.toList facts.boolAttributes - |> List.map (\( k, v ) -> "Html.Attributes.property \"" ++ k ++ "\" <| Json.Encode.bool " ++ toString v) - |> String.join " " - |> Just - in - [ openTag [ classes, styles, stringAttributes, boolAttributes ] ] - ++ [ " ] " - , "[ " - , String.join "" childrenStrings - , "]" - ] diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToHtml.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToHtml.elm deleted file mode 100644 index 492c437..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToHtml.elm +++ /dev/null @@ -1,82 +0,0 @@ -module ElmHtml.ToHtml exposing (toHtml, factsToAttributes) - -{-| This module is particularly useful for putting parsed Html into Elm.Html at runtime. -Estentially allowing the user to use tools like html-to-elm on their code. - -@docs toHtml, factsToAttributes - --} - -import String -import Dict exposing (Dict) -import ElmHtml.InternalTypes exposing (..) -import Html -import Html.Attributes -import Html.Events -import Json.Encode -import Json.Decode - - -{-| Turns ElmHtml into normal Elm Html --} -toHtml : ElmHtml msg -> Html.Html msg -toHtml elmHtml = - case elmHtml of - TextTag text -> - Html.text text.text - - NodeEntry { tag, children, facts } -> - Html.node tag [] (List.map toHtml children) - - CustomNode record -> - let - _ = - Debug.log "Custom node is not supported" "" - in - Html.text "" - - MarkdownNode record -> - let - _ = - Debug.log "Markdown node is not supported" "" - in - Html.text "" - - NoOp -> - Html.text "" - - -stylesToAttribute : Dict String String -> Html.Attribute msg -stylesToAttribute = - Dict.toList - >> Html.Attributes.style - - -eventsToAttributes : Dict String (Json.Decode.Decoder msg) -> List (Html.Attribute msg) -eventsToAttributes = - Dict.toList - >> List.map (\( x, y ) -> Html.Events.on x y) - - -stringAttributesToAttributes : Dict String String -> List (Html.Attribute msg) -stringAttributesToAttributes = - Dict.toList - >> List.map (\( x, y ) -> Html.Attributes.attribute x y) - - -boolAttributesToAttributes : Dict String Bool -> List (Html.Attribute msg) -boolAttributesToAttributes = - Dict.toList - >> List.map (\( x, y ) -> Html.Attributes.property x (Json.Encode.bool y)) - - -{-| Turns a fact record into a list of attributes --} -factsToAttributes : Facts msg -> List (Html.Attribute msg) -factsToAttributes facts = - List.concat - [ [ stylesToAttribute facts.styles ] - , eventsToAttributes facts.events - , stringAttributesToAttributes facts.stringAttributes - , boolAttributesToAttributes facts.boolAttributes - ] diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToString.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToString.elm deleted file mode 100644 index e3db5a0..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/src/ElmHtml/ToString.elm +++ /dev/null @@ -1,155 +0,0 @@ -module ElmHtml.ToString - exposing - ( nodeToString - , nodeRecordToString - , nodeToStringWithOptions - , FormatOptions - , defaultFormatOptions - ) - -{-| Convert ElmHtml to string. - -@docs nodeRecordToString, nodeToString, nodeToStringWithOptions - -@docs FormatOptions, defaultFormatOptions --} - -import String -import Dict exposing (Dict) -import ElmHtml.InternalTypes exposing (..) - - -{-| Formatting options to be used for converting to string --} -type alias FormatOptions = - { indent : Int - , newLines : Bool - } - - -{-| default formatting options --} -defaultFormatOptions : FormatOptions -defaultFormatOptions = - { indent = 0 - , newLines = False - } - - -nodeToLines : FormatOptions -> ElmHtml msg -> List String -nodeToLines options nodeType = - case nodeType of - TextTag { text } -> - [ text ] - - NodeEntry record -> - nodeRecordToString options record - - CustomNode record -> - [] - - MarkdownNode record -> - [ record.model.markdown ] - - NoOp -> - [] - - -{-| Convert a given html node to a string based on the type --} -nodeToString : ElmHtml msg -> String -nodeToString = - nodeToStringWithOptions defaultFormatOptions - - -{-| same as nodeToString, but with options --} -nodeToStringWithOptions : FormatOptions -> ElmHtml msg -> String -nodeToStringWithOptions options = - nodeToLines options - >> String.join - (if options.newLines then - "\n" - else - "" - ) - - -{-| Convert a node record to a string. This basically takes the tag name, then - pulls all the facts into tag declaration, then goes through the children and - nests them under this one --} -nodeRecordToString : FormatOptions -> NodeRecord msg -> List String -nodeRecordToString options { tag, children, facts } = - let - openTag : List (Maybe String) -> String - openTag extras = - let - trimmedExtras = - List.filterMap (\x -> x) extras - |> List.map String.trim - |> List.filter ((/=) "") - - filling = - case trimmedExtras of - [] -> - "" - - more -> - " " ++ (String.join " " more) - in - "<" ++ tag ++ filling ++ ">" - - closeTag = - "" - - childrenStrings = - List.map (nodeToLines options) children - |> List.concat - |> List.map ((++) (String.repeat options.indent " ")) - - styles = - case Dict.toList facts.styles of - [] -> - Nothing - - styles -> - styles - |> List.map (\( key, value ) -> key ++ ":" ++ value ++ ";") - |> String.join "" - |> (\styleString -> "style=\"" ++ styleString ++ "\"") - |> Just - - classes = - Dict.get "className" facts.stringAttributes - |> Maybe.map (\name -> "class=\"" ++ name ++ "\"") - - stringAttributes = - Dict.filter (\k v -> k /= "className") facts.stringAttributes - |> Dict.toList - |> List.map (\( k, v ) -> k ++ "=\"" ++ v ++ "\"") - |> String.join " " - |> Just - - boolAttributes = - Dict.toList facts.boolAttributes - |> List.map (\( k, v ) -> k ++ "=" ++ (String.toLower <| toString v)) - |> String.join " " - |> Just - in - case toElementKind tag of - {- Void elements only have a start tag; end tags must not be - specified for void elements. - -} - VoidElements -> - [ openTag [ classes, styles, stringAttributes, boolAttributes ] ] - - {- TODO: implement restrictions for RawTextElements, - EscapableRawTextElements. Also handle ForeignElements correctly. - For now just punt and use the previous behavior for all other - element kinds. - -} - _ -> - [ openTag [ classes, styles, stringAttributes, boolAttributes ] ] - ++ childrenStrings - ++ [ closeTag ] diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Native/HtmlAsJson.js b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Native/HtmlAsJson.js deleted file mode 100644 index b200044..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Native/HtmlAsJson.js +++ /dev/null @@ -1,16 +0,0 @@ -var _eeue56$elm_html_in_elm$Native_HtmlAsJson = (function() { - return { - unsafeCoerce: function(a) { - return a; - }, - eventDecoder: function (event) { - return event.decoder; - }, - eventHandler: F2(function(eventName, html) { - return html.facts.EVENT[eventName]; - }), - taggerFunction: function(tagger) { - return tagger; - } - }; -})(); diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Tests.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Tests.elm deleted file mode 100644 index 23d91b7..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/Tests.elm +++ /dev/null @@ -1,311 +0,0 @@ -module Tests exposing (..) - -import Dict -import ElmHtml.InternalTypes exposing (Attribute(..), ElmHtml(..), EventHandler, Facts, NodeRecord, Tagger, decodeAttribute, decodeElmHtml) -import ElmHtml.ToHtml -import ElmHtml.ToElmString exposing (toElmString) -import Expect -import Html exposing (Html, button, div, input, text) -import Html.Attributes exposing (class, colspan, disabled, style, value) -import Html.Events exposing (onCheck, onClick, onInput) -import Json.Decode exposing (decodeValue) -import Json.Encode -import Native.HtmlAsJson -import Svg.Attributes exposing (xlinkHref) -import Test exposing (..) - - -elmHtml : Test -elmHtml = - describe "ElmHtml parsing" - [ test "parsing a node" <| - \() -> - div [] [] - |> fromHtml - |> Expect.equal (Ok (NodeEntry decodedNode)) - , test "parsing a text" <| - \() -> - text "foo" - |> fromHtml - |> Expect.equal (Ok (TextTag { text = "foo" })) - , test "parsing attributes" <| - \() -> - let - facts = - { decodedFacts - | stringAttributes = Dict.fromList [ ( "className", "foo" ), ( "value", "bar" ) ] - , boolAttributes = Dict.fromList [ ( "disabled", True ) ] - } - - expected = - { decodedNode | tag = "button", facts = facts } - in - button [ class "foo", value "bar", disabled True ] [] - |> fromHtml - |> Expect.equal (Ok (NodeEntry expected)) - , test "parsing children" <| - \() -> - let - expected = - { decodedNode - | children = [ NodeEntry decodedNode, TextTag { text = "foo" } ] - , descendantsCount = 2 - } - in - div [] - [ div [] [] - , text "foo" - ] - |> fromHtml - |> Expect.equal (Ok (NodeEntry expected)) - , describe "parsing events" - [ testParsingEvent "click" (onClick SomeMsg) - , testParsingEvent "input" (onInput InputMsg) - , testParsingEvent "change" (onCheck CheckMsg) - ] - , describe "parsing Html.map" - [ test "adds the correct tagger to a mapped button" <| - \() -> - let - taggedNode = - input [ onInput identity ] [] - |> Html.map (\msg -> msg ++ "bar") - |> fromHtml - in - taggedNode - |> Result.andThen (simulate "input" "{\"target\": {\"value\": \"foo\"}}") - |> Expect.equal (Ok "foobar") - , test "adds two taggers to a double mapped button with changing types" <| - \() -> - let - taggedNode = - input [ onInput identity ] [] - |> Html.map (\str -> [ str ] ++ [ "bar" ]) - |> Html.map (\list -> ( list, "baz" )) - |> fromHtml - in - taggedNode - |> Result.andThen (simulate "input" "{\"target\": {\"value\": \"foo\"}}") - |> Expect.equal (Ok ( [ "foo", "bar" ], "baz" )) - ] - ] - - -elmHtmlToHtml : Test -elmHtmlToHtml = - describe "Turning the AST into Html" - [ test "parsing a node" <| - \() -> - div [] [] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [] []) - , test "parsing a text" <| - \() -> - text "foo" - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| text "foo") - , test "parsing a text in a div" <| - \() -> - div [] [ text "foo" ] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [] [ text "foo" ]) - , test "parsing a text in a div in a div in a div " <| - \() -> - div [] [ div [] [ text "banana", div [] [ text "foo", text "bar" ] ] ] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [] [ div [] [ text "banana", div [] [ text "foo", text "bar" ] ] ]) - , test "parsing styles in a div" <| - \() -> - div [ Html.Attributes.style [ ( "background", "red" ) ] ] [ text "foo" ] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [ Html.Attributes.style [ ( "background", "red" ) ] ] [ text "foo" ]) - , test "parsing attributes a div" <| - \() -> - div [ Html.Attributes.name "fish", Html.Attributes.checked True ] [ text "foo" ] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [ Html.Attributes.name "fish", Html.Attributes.checked True ] [ text "foo" ]) - , test "parsing attributes in a nested div" <| - \() -> - div [ Html.Attributes.name "fish", Html.Attributes.checked True ] [ Html.li [ Html.Attributes.type_ "hello" ] [ text "foo" ] ] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [ Html.Attributes.name "fish", Html.Attributes.checked True ] [ Html.li [ Html.Attributes.type_ "hello" ] [ text "foo" ] ]) - , test "parsing events in a div" <| - \() -> - div [ Html.Events.onClick True ] [] - |> fromHtml - |> Result.map ElmHtml.ToHtml.toHtml - |> Expect.equal (Ok <| div [ Html.Events.onClick True ] []) - ] - - -elmHtmlToElmString : Test -elmHtmlToElmString = - describe "Turning the AST into Elm, but as a string" - [ test "parsing a node" <| - \() -> - div [] [] - |> fromHtml - |> Result.map toElmString - |> Expect.equal (Ok <| "Html.div [ ] [ ]") - , test "parsing a text" <| - \() -> - text "foo" - |> fromHtml - |> Result.map toElmString - |> Expect.equal (Ok <| "Html.text \"foo\"") - , test "parsing a nested node" <| - \() -> - div [] [ div [] [ text "hello" ] ] - |> fromHtml - |> Result.map toElmString - |> Expect.equal (Ok <| "Html.div [ ] [ Html.div [ ] [ Html.text \"hello\"]]") - , test "parsing an attribute" <| - \() -> - div [ Html.Attributes.checked True ] [ text "hello" ] - |> fromHtml - |> Result.map toElmString - |> Expect.equal (Ok <| "Html.div [ Html.Attributes.property \"checked\" <| Json.Encode.bool True ] [ Html.text \"hello\"]") - ] - - -attributes : Test -attributes = - describe "Attribute parsing" - [ test "parsing Attribute" <| - \() -> - colspan 1 - |> fromAttribute - |> Expect.equal (Ok (Attribute { key = "colspan", value = "1" })) - , test "parsing NamespacedAttribute" <| - \() -> - xlinkHref "#id" - |> fromAttribute - |> Expect.equal - (Ok (NamespacedAttribute { key = "xlink:href", value = "#id", namespace = "http://www.w3.org/1999/xlink" })) - , test "parsing Property" <| - \() -> - disabled True - |> fromAttribute - |> Expect.equal (Ok (Property { key = "disabled", value = Json.Encode.bool True })) - , test "parsing Event" <| - \() -> - onClick () - |> fromAttribute - |> Expect.equal - (Ok (Event { key = "click", decoder = toJson (Json.Decode.succeed ()), options = Html.Events.defaultOptions })) - , test "parsing Styles" <| - \() -> - style [ ( "margin", "0" ) ] - |> fromAttribute - |> Expect.equal (Ok (Styles [ ( "margin", "0" ) ])) - ] - - -type Msg - = SomeMsg - | InputMsg String - | CheckMsg Bool - - -toJson : a -> Json.Decode.Value -toJson = - Native.HtmlAsJson.unsafeCoerce - - -eventDecoder : EventHandler -> Json.Decode.Decoder msg -eventDecoder eventHandler = - Native.HtmlAsJson.eventDecoder eventHandler - - -eventHandler : String -> Html a -> Json.Decode.Value -eventHandler eventName node = - Native.HtmlAsJson.eventHandler eventName node - - -taggerFunction : Tagger -> (a -> msg) -taggerFunction tagger = - Native.HtmlAsJson.taggerFunction tagger - - -taggedEventDecoder : List Tagger -> EventHandler -> Json.Decode.Decoder msg -taggedEventDecoder taggers eventHandler = - case taggers of - [] -> - eventDecoder eventHandler - - [ tagger ] -> - Json.Decode.map (taggerFunction tagger) (eventDecoder eventHandler) - - tagger :: taggers -> - Json.Decode.map (taggerFunction tagger) (taggedEventDecoder taggers eventHandler) - - -fromAttribute : Html.Attribute a -> Result String Attribute -fromAttribute attribute = - toJson attribute - |> decodeValue decodeAttribute - - -decodedNode : NodeRecord msg -decodedNode = - { tag = "div" - , children = [] - , facts = decodedFacts - , descendantsCount = 0 - } - - -decodedFacts : Facts msg -decodedFacts = - { styles = Dict.fromList [] - , events = Dict.fromList [] - , attributeNamespace = Nothing - , stringAttributes = Dict.fromList [] - , boolAttributes = Dict.fromList [] - } - - -fromHtml : Html a -> Result String (ElmHtml msg) -fromHtml html = - toJson html - |> decodeValue (decodeElmHtml taggedEventDecoder) - - -simulate : String -> String -> ElmHtml msg -> Result String msg -simulate eventName event parsedHtml = - case parsedHtml of - NodeEntry node -> - Dict.get eventName node.facts.events - |> Result.fromMaybe "Tried to trigger event on something other than a NodeEntry" - |> Result.andThen (\eventDecoder -> Json.Decode.decodeString eventDecoder event) - - _ -> - Err "Tried to trigger event on something other than a NodeEntry" - - -testParsingEvent : String -> Html.Attribute a -> Test -testParsingEvent eventName eventAttribute = - test ("parsing " ++ eventName) <| - \() -> - let - node = - button [ eventAttribute ] [] - - facts = - { decodedFacts - | events = Dict.fromList [ ( eventName, eventDecoder (eventHandler eventName node) ) ] - } - - expected = - { decodedNode | tag = "button", facts = facts } - in - node - |> fromHtml - |> Expect.equal (Ok (NodeEntry expected)) diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/elm-package.json b/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/elm-package.json deleted file mode 100644 index 2547f1d..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-in-elm/5.2.0/tests/elm-package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "version": "1.0.0", - "summary": "Test Suites", - "repository": "https://github.com/eeue56/elm-html-in-elm.git", - "license": "BSD3", - "source-directories": [ - "../src", - "." - ], - "exposed-modules": [], - "native-modules": true, - "dependencies": { - "elm-community/elm-test": "4.0.0 <= v < 5.0.0", - "elm-lang/core": "5.0.0 <= v < 6.0.0", - "elm-lang/html": "2.0.0 <= v < 3.0.0", - "elm-lang/svg": "2.0.0 <= v < 3.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/.gitignore b/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/.gitignore deleted file mode 100644 index a594364..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# elm-package generated files -elm-stuff/ -# elm-repl generated files -repl-temp-* diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/LICENSE b/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/LICENSE deleted file mode 100644 index c495756..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2016, Noah -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/README.md b/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/README.md deleted file mode 100644 index ff7a43c..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# elm-html-query - -Query things using a [ElmHtml](http://package.elm-lang.org/packages/eeue56/elm-html-in-elm/latest) representation. This project is used alongside [elm-html-test](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest) to implement Html-based tests in Elm. diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/elm-package.json b/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/elm-package.json deleted file mode 100644 index 1d86091..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/elm-package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "version": "3.0.0", - "summary": "Query for things inside ElmHtml", - "repository": "https://github.com/eeue56/elm-html-query.git", - "license": "BSD3", - "source-directories": [ - "src" - ], - "exposed-modules": [ - "ElmHtml.Query" - ], - "dependencies": { - "eeue56/elm-html-in-elm": "5.0.0 <= v < 6.0.0", - "elm-lang/core": "5.0.0 <= v < 6.0.0", - "elm-lang/html": "2.0.0 <= v < 3.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/src/ElmHtml/Query.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/src/ElmHtml/Query.elm deleted file mode 100644 index 04ad962..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-query/3.0.0/src/ElmHtml/Query.elm +++ /dev/null @@ -1,350 +0,0 @@ -module ElmHtml.Query - exposing - ( Selector(..) - , query - , queryAll - , queryInNode - , queryChildren - , queryChildrenAll - , queryById - , queryByClassName - , queryByClassList - , queryByStyle - , queryByTagName - , queryByAttribute - , queryByBoolAttribute - , getChildren - ) - -{-| -Query things using ElmHtml - -@docs Selector -@docs query, queryAll, queryChildren, queryChildrenAll, queryInNode -@docs queryById, queryByClassName, queryByClassList, queryByStyle, queryByTagName, queryByAttribute, queryByBoolAttribute -@docs getChildren --} - -import Dict -import String -import ElmHtml.InternalTypes exposing (..) - - -{-| Selectors to query a Html element -- Id, classname, classlist, tag are all what you'd expect -- Attribute and bool attribute are attributes -- ConainsText just searches inside for the given text --} -type Selector - = Id String - | ClassName String - | ClassList (List String) - | Tag String - | Attribute String String - | BoolAttribute String Bool - | Style (List ( String, String )) - | ContainsText String - | Multiple (List Selector) - - -{-| Query for a node with a given tag in a Html element --} -queryByTagName : String -> ElmHtml msg -> List (ElmHtml msg) -queryByTagName tagname = - query (Tag tagname) - - -{-| Query for a node with a given id in a Html element --} -queryById : String -> ElmHtml msg -> List (ElmHtml msg) -queryById id = - query (Id id) - - -{-| Query for a node with a given classname in a Html element --} -queryByClassName : String -> ElmHtml msg -> List (ElmHtml msg) -queryByClassName classname = - query (ClassName classname) - - -{-| Query for a node with all the given classnames in a Html element --} -queryByClassList : List String -> ElmHtml msg -> List (ElmHtml msg) -queryByClassList classList = - query (ClassList classList) - - -{-| Query for a node with the given style in a Html element --} -queryByStyle : List ( String, String ) -> ElmHtml msg -> List (ElmHtml msg) -queryByStyle style = - query (Style style) - - -{-| Query for a node with a given attribute in a Html element --} -queryByAttribute : String -> String -> ElmHtml msg -> List (ElmHtml msg) -queryByAttribute key value = - query (Attribute key value) - - -{-| Query for a node with a given attribute in a Html element --} -queryByBoolAttribute : String -> Bool -> ElmHtml msg -> List (ElmHtml msg) -queryByBoolAttribute key value = - query (BoolAttribute key value) - - -{-| Query an ElmHtml element using a selector, searching all children. --} -query : Selector -> ElmHtml msg -> List (ElmHtml msg) -query selector = - queryInNode selector - - -{-| Query an ElmHtml node using multiple selectors, considering both the node itself -as well as all of its descendants. --} -queryAll : List Selector -> ElmHtml msg -> List (ElmHtml msg) -queryAll selectors = - query (Multiple selectors) - - -{-| Query an ElmHtml node using a selector, considering both the node itself -as well as all of its descendants. --} -queryInNode : Selector -> ElmHtml msg -> List (ElmHtml msg) -queryInNode = - queryInNodeHelp Nothing - - -{-| Query an ElmHtml node using a selector, considering both the node itself -as well as all of its descendants. --} -queryChildren : Selector -> ElmHtml msg -> List (ElmHtml msg) -queryChildren = - queryInNodeHelp (Just 1) - - -{-| Returns just the immediate children of an ElmHtml node --} -getChildren : ElmHtml msg -> List (ElmHtml msg) -getChildren elmHtml = - case elmHtml of - NodeEntry { children } -> - children - - _ -> - [] - - -{-| Query to ensure an ElmHtml node has all selectors given, without considering -any descendants lower than its immediate children. --} -queryChildrenAll : List Selector -> ElmHtml msg -> List (ElmHtml msg) -queryChildrenAll selectors = - queryInNodeHelp (Just 1) (Multiple selectors) - - -queryInNodeHelp : Maybe Int -> Selector -> ElmHtml msg -> List (ElmHtml msg) -queryInNodeHelp maxDescendantDepth selector node = - case node of - NodeEntry record -> - let - childEntries = - descendInQuery maxDescendantDepth selector record.children - in - if predicateFromSelector selector node then - node :: childEntries - else - childEntries - - TextTag { text } -> - case selector of - ContainsText innerText -> - if String.contains innerText text then - [ node ] - else - [] - - _ -> - [] - - MarkdownNode { facts, model } -> - if predicateFromSelector selector node then - [ node ] - else - [] - - _ -> - [] - - -descendInQuery : Maybe Int -> Selector -> List (ElmHtml msg) -> List (ElmHtml msg) -descendInQuery maxDescendantDepth selector children = - case maxDescendantDepth of - Nothing -> - -- No maximum, so continue. - List.concatMap - (queryInNodeHelp Nothing selector) - children - - Just depth -> - if depth > 0 then - -- Continue with maximum depth reduced by 1. - List.concatMap - (queryInNodeHelp (Just (depth - 1)) selector) - children - else - [] - - -predicateFromSelector : Selector -> ElmHtml msg -> Bool -predicateFromSelector selector html = - case html of - NodeEntry record -> - record - |> nodeRecordPredicate selector - - MarkdownNode markdownModel -> - markdownModel - |> markdownPredicate selector - - _ -> - False - - -hasAllSelectors : List Selector -> ElmHtml msg -> Bool -hasAllSelectors selectors record = - List.map predicateFromSelector selectors - |> List.map (\selector -> selector record) - |> List.all identity - - -hasAttribute : String -> String -> Facts msg -> Bool -hasAttribute attribute query facts = - case Dict.get attribute facts.stringAttributes of - Just id -> - id == query - - Nothing -> - False - - -hasBoolAttribute : String -> Bool -> Facts msg -> Bool -hasBoolAttribute attribute value facts = - case Dict.get attribute facts.boolAttributes of - Just id -> - id == value - - Nothing -> - False - - -hasClass : String -> Facts msg -> Bool -hasClass query facts = - List.member query (classnames facts) - - -hasClasses : List String -> Facts msg -> Bool -hasClasses classList facts = - containsAll classList (classnames facts) - - -hasStyle : List ( String, String ) -> Facts msg -> Bool -hasStyle style facts = - containsAll style (Dict.toList facts.styles) - - -classnames : Facts msg -> List String -classnames facts = - Dict.get "className" facts.stringAttributes - |> Maybe.withDefault "" - |> String.split " " - - -containsAll : List a -> List a -> Bool -containsAll a b = - b - |> List.foldl (\i acc -> List.filter ((/=) i) acc) a - |> List.isEmpty - - -nodeRecordPredicate : Selector -> (NodeRecord msg -> Bool) -nodeRecordPredicate selector = - case selector of - Id id -> - .facts - >> hasAttribute "id" id - - ClassName classname -> - .facts - >> hasClass classname - - ClassList classList -> - .facts - >> hasClasses classList - - Tag tag -> - .tag - >> (==) tag - - Attribute key value -> - .facts - >> hasAttribute key value - - BoolAttribute key value -> - .facts - >> hasBoolAttribute key value - - Style style -> - .facts - >> hasStyle style - - ContainsText text -> - always False - - Multiple selectors -> - NodeEntry - >> hasAllSelectors selectors - - -markdownPredicate : Selector -> (MarkdownNodeRecord msg -> Bool) -markdownPredicate selector = - case selector of - Id id -> - .facts - >> hasAttribute "id" id - - ClassName classname -> - .facts - >> hasClass classname - - ClassList classList -> - .facts - >> hasClasses classList - - Tag tag -> - always False - - Attribute key value -> - .facts - >> hasAttribute key value - - BoolAttribute key value -> - .facts - >> hasBoolAttribute key value - - Style style -> - .facts - >> hasStyle style - - ContainsText text -> - .model - >> .markdown - >> String.contains text - - Multiple selectors -> - MarkdownNode - >> hasAllSelectors selectors diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.gitignore b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.gitignore deleted file mode 100644 index a594364..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# elm-package generated files -elm-stuff/ -# elm-repl generated files -repl-temp-* diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.travis.yml b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.travis.yml deleted file mode 100644 index 8e2e764..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ -sudo: false - -cache: - directories: - - tests/elm-stuff/build-artifacts - -os: - - osx - - linux - -env: - matrix: - - ELM_VERSION=0.18 TARGET_NODE_VERSION=node - - ELM_VERSION=0.18 TARGET_NODE_VERSION=4.2 - -before_install: - - if [ ${TRAVIS_OS_NAME} == "osx" ]; - then brew update; brew install nvm; mkdir ~/.nvm; export NVM_DIR=~/.nvm; source $(brew --prefix nvm)/nvm.sh; - fi - -install: - - nvm install $TARGET_NODE_VERSION - - nvm use $TARGET_NODE_VERSION - - node --version - - npm --version - - npm install -g elm@$ELM_VERSION - - npm install -g elm-test@beta - - -script: - - elm-test diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/LICENSE b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/LICENSE deleted file mode 100644 index cc2e236..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2016, Noah Hall, Richard Feldman -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/README.md b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/README.md deleted file mode 100644 index 89cbacc..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/README.md +++ /dev/null @@ -1,131 +0,0 @@ -# elm-html-test - -Test views by writing expectations about `Html` values. [![Build Status](https://travis-ci.org/eeue56/elm-html-test.svg?branch=master)](https://travis-ci.org/eeue56/elm-html-test) - -```elm -import Html -import Html.Attributes exposing (class) -import Test exposing (test) -import Test.Html.Query as Query -import Test.Html.Selector exposing (text, tag) - - -test "Button has the expected text" <| - \() -> - Html.div [ class "container" ] - [ Html.button [] [ Html.text "I'm a button!" ] ] - |> Query.fromHtml - |> Query.find [ tag "button" ] - |> Query.has [ text "I'm a button!" ] -``` - -These tests are designed to be written in a pipeline like this: - -1. Call [`Query.fromHtml`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#fromHtml) on your [`Html`](http://package.elm-lang.org/packages/elm-lang/html/latest/Html#Html) to begin querying it. -2. Use queries like [`Query.find`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#find), [`Query.findAll`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#findAll), and [`Query.children`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#children) to find the elements to test. -3. Create expectations using things like [`Query.has`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#has) and [`Query.count`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#count). - -These are normal expectations, so you can use them with [`fuzz`](http://package.elm-lang.org/packages/elm-community/elm-test/latest/Test#fuzz) just as easily as with [`test`](http://package.elm-lang.org/packages/elm-community/elm-test/3.1.0/Test#test)! - -## Querying - -Queries come in two flavors: [`Single`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#Single) and [`Multiple`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#Multiple). - -This is because some queries are expected to return a single result, whereas -others may return multiple results. - -If a `Single` query finds exactly one result, it will succeed and continue with -any further querying or expectations. If it finds zero results, or more than one, -the test will fail. - -Since other querying and expectation functions are written in terms of `Single` -and `Multiple`, the compiler can help make sure queries are connected as -expected. For example, [`count`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#count) accepts a `Multiple`, because counting a single element does not make much sense! - -If you have a `Multiple` and want to use an expectation that works on a `Single`, -such as [`Query.has`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#has), you can use [`Query.each`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Query#each) to run the expectation on each of the elements in the `Multiple`. - -## Selecting elements by `Html.Attribute msg` - -Ordinary `Html.Attribute msg` values can be used to select elements using -`Test.Html.Selector.attribute`. It is important when using this selector to -understand its behavior. - -- `Html.Attributes.class` and `Html.Attributes.classList` will work the same as - [`Test.Html.Selector.classes`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Selector#classes), - matching any element with at least the given classes. This behavior echoes - that of `element.querySelectorAll('.my-class')` from JavaScript, where any - element with at least `.my-class` will match the query. - -- `Html.Attributes.style` will work the same way as - [`Test.Html.Selector.styles`](http://package.elm-lang.org/packages/eeue56/elm-html-test/latest/Test-Html-Selector#styles), - matching any element with at least the given style properties. - -- Any other `String` attributes and properties like `title`, or `Bool` - attributes like `disabled` will match elements with the exact value for those - attributes. - -- Any attributes from `Html.Events`, or attributes with values that have types - other than `String` or `Bool` will not match anything. - -The example below demonstrates usage - -```elm -import Html -import Html.Attributes as Attr -import Test exposing (test, describe) -import Test.Html.Query as Query -import Test.Html.Selector exposing (attribute, text) - -tests = - describe "attributes" - [ test "the welcome

says hello!" <| - \() -> - Html.div [] [ Html.h1 [ Attr.title "greeting" ] [ Html.text "Hello!" ] ] - |> Query.fromHtml - |> Query.find [ attribute <| Attr.title "greeting" ] - |> Query.has [ text "Hello!" ] - , test "the .Hello.World div has the class Hello" <| - \() -> - Html.div - [ Attr.classList - [ ( True, "Hello" ) - , ( True, "World" ) - ] - ] - |> Query.fromHtml - |> Query.find - [ attribute <| - Attr.classList [ ( True, Hello ) ] - ] - , test "the header is red" <| - \() -> - Html.header - [ Attr.style - [ ( "backround-color", "red" ) - , ( "color", "yellow" ) - ] - ] - |> Query.fromHtml - |> Query.find - [ attribute <| - Attr.style [ ( "backround-color", "red" ) ] - ] - ] -``` - - -## Releases -| Version | Notes | -| ------- | ----- | -| [**5.1.2**](https://github.com/eeue56/elm-html-test/tree/5.1.2) | Fix bug with mapped and lazy views -| [**5.1.1**](https://github.com/eeue56/elm-html-test/tree/5.1.1) | Fix children -| [**5.1.0**](https://github.com/eeue56/elm-html-test/tree/5.1.0) | Add filtermap -| [**5.0.1**](https://github.com/eeue56/elm-html-test/tree/5.0.1) | Fix bug with lazy views -| [**5.0.0**](https://github.com/eeue56/elm-html-test/tree/5.0.0) | Allow querying by attributes -| [**4.1.0**](https://github.com/eeue56/elm-html-test/tree/4.1.0) | Query styles -| [**4.0.0**](https://github.com/eeue56/elm-html-test/tree/4.0.0) | Allow custom events -| [**3.0.0**](https://github.com/eeue56/elm-html-test/tree/3.0.0) | Allow events to be testable -| [**2.0.0**](https://github.com/eeue56/elm-html-test/tree/2.0.0) | Better support for events by @rogeriochaves -| [**1.1.0**](https://github.com/eeue56/elm-html-test/tree/1.1.0) | Support for events by @rogeriochaves -| [**1.0.0**](https://github.com/eeue56/elm-html-test/tree/1.0.0) | Initial release diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/elm-package.json b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/elm-package.json deleted file mode 100644 index b8f3d76..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/elm-package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "version": "5.1.2", - "summary": "Write tests for your Html.", - "repository": "https://github.com/eeue56/elm-html-test.git", - "license": "BSD3", - "source-directories": [ - "src" - ], - "exposed-modules": [ - "Test.Html.Selector", - "Test.Html.Query", - "Test.Html.Event" - ], - "native-modules": true, - "dependencies": { - "eeue56/elm-html-in-elm": "5.1.0 <= v < 6.0.0", - "eeue56/elm-html-query": "3.0.0 <= v < 4.0.0", - "elm-community/elm-test": "4.0.0 <= v < 5.0.0", - "elm-lang/core": "5.0.0 <= v < 6.0.0", - "elm-lang/html": "2.0.0 <= v < 3.0.0" - }, - "elm-version": "0.18.0 <= v < 0.19.0" -} diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/.travis.yml b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/.travis.yml deleted file mode 100644 index 458f91b..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/.travis.yml +++ /dev/null @@ -1,46 +0,0 @@ -sudo: false - -cache: - directories: - - test/elm-stuff/build-artifacts - - sysconfcpus - -os: - - osx - - linux - -env: - matrix: - - ELM_VERSION=0.18.0 TARGET_NODE_VERSION=node - - ELM_VERSION=0.18.0 TARGET_NODE_VERSION=4.0 - -before_install: - - if [ ${TRAVIS_OS_NAME} == "osx" ]; - then brew update; brew install nvm; mkdir ~/.nvm; export NVM_DIR=~/.nvm; source $(brew --prefix nvm)/nvm.sh; - fi - - echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config - - | # epic build time improvement - see https://github.com/elm-lang/elm-compiler/issues/1473#issuecomment-245704142 - if [ ! -d sysconfcpus/bin ]; - then - git clone https://github.com/obmarg/libsysconfcpus.git; - cd libsysconfcpus; - ./configure --prefix=$TRAVIS_BUILD_DIR/sysconfcpus; - make && make install; - cd ..; - fi - -install: - - nvm install $TARGET_NODE_VERSION - - nvm use $TARGET_NODE_VERSION - - node --version - - npm --version - - cd tests - - npm install -g elm@$ELM_VERSION elm-test - - mv $(npm config get prefix)/bin/elm-make $(npm config get prefix)/bin/elm-make-old - - printf '%s\n\n' '#!/bin/bash' 'echo "Running elm-make with sysconfcpus -n 2"' '$TRAVIS_BUILD_DIR/sysconfcpus/bin/sysconfcpus -n 2 elm-make-old "$@"' > $(npm config get prefix)/bin/elm-make - - chmod +x $(npm config get prefix)/bin/elm-make - - npm install - - elm package install --yes - -script: - - elm-test diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/ExampleApp.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/ExampleApp.elm deleted file mode 100644 index fac7484..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/ExampleApp.elm +++ /dev/null @@ -1,57 +0,0 @@ -module ExampleApp exposing (..) - -import Html exposing (..) -import Html.Attributes exposing (..) -import Html.Events exposing (onClick) -import Html.Keyed as Keyed -import Html.Lazy as Lazy - - -type alias Model = - () - - -exampleModel : Model -exampleModel = - () - - -type Msg - = GoToHome - | GoToExamples - - -view : Model -> Html Msg -view model = - div [ class "container" ] - [ header [ class "funky themed", id "heading" ] - [ a [ href "http://elm-lang.org", onClick GoToHome ] [ text "home" ] - , a [ href "http://elm-lang.org/examples", onClick GoToExamples ] [ text "examples" ] - , a [ href "http://elm-lang.org/docs" ] [ text "docs" ] - ] - , section [ class "funky themed", id "section" ] - [ someList ] - , footer [] [ text "this is the footer" ] - ] - - -someList : Html Msg -someList = - Keyed.ul [ class "some-list" ] - [ ( "1" - , Lazy.lazy (\_ -> li [ class "list-item themed" ] [ text "first item" ]) - Nothing - ) - , ( "2" - , Lazy.lazy (\_ -> li [ class "list-item themed" ] [ text "second item" ]) - Nothing - ) - , ( "3" - , Lazy.lazy (\_ -> li [ class "list-item themed selected" ] [ text "third item" ]) - Nothing - ) - , ( "4" - , Lazy.lazy (\_ -> li [ class "list-item themed" ] [ text "fourth item" ]) - Nothing - ) - ] diff --git a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/FailingTests.elm b/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/FailingTests.elm deleted file mode 100644 index b89b6a1..0000000 --- a/part7/tests/elm-stuff/packages/eeue56/elm-html-test/5.1.2/examples/FailingTests.elm +++ /dev/null @@ -1,117 +0,0 @@ -port module Main exposing (..) - -import ExampleApp exposing (Msg(..), exampleModel, view) -import Expect -import Json.Encode exposing (Value) -import Test exposing (..) -import Test.Html.Event as Event -import Test.Html.Query as Query -import Test.Html.Selector exposing (..) -import Test.Runner.Node exposing (TestProgram, run) - - -main : TestProgram -main = - [ testView - ] - |> Test.concat - |> run emit - - -port emit : ( String, Value ) -> Cmd msg - - -testView : Test -testView = - let - output = - view exampleModel - |> Query.fromHtml - in - describe "view exampleModel" - [ test "expect 4x
  • somewhere on the page" <| - \() -> - output - |> Query.findAll [ tag "li" ] - |> Query.count (Expect.equal 4) - , test "expect 4x
  • inside a