tshm / elm-doctest Goto Github PK
View Code? Open in Web Editor NEWdoctest runner against Elm-lang source files
License: MIT License
doctest runner against Elm-lang source files
License: MIT License
It'd be great if elm-doctest was run on all file saves, and that a user got feedback just like a regular elm compiler error. Don't know if it'd be better to tie in with elm-reactor or latch onto/plug into elm, but I think getting errors inline in one's editor would be the slickest.
Hi ๐
First of all, thanks for this tool, good stuff!
Secondly, I wanted to ask you about this intermittent error that I'm having.
I can't seem to figure out where it is coming from.
Here's what I'm doing:
โก make test
> Run tests
Starting elm-doctest ...
processing: src/App/Sources/Crypto/Hex.elm
Examples: 14 Failures: 0
processing: src/App/Sources/Crypto/Hmac.elm
evaluation failed: Unexpected token > in JSON at position 0
Unexpected token > in JSON at position 0
make: *** [test] Error 1
~/Projects/ongaku-ryoho 12.67s master
โก make test
> Run tests
Starting elm-doctest ...
processing: src/App/Sources/Crypto/Hex.elm
Examples: 14 Failures: 0
processing: src/App/Sources/Crypto/Hmac.elm
Examples: 2 Failures: 0
~/Projects/ongaku-ryoho 13.47s master
So yeah, sometimes it fails and sometimes it doesn't.
Any ideas?
Thanks!
PS. You can find the source code here. I'm calling elm-doctest in the Makefile.
seems that elm-repl does not like it.
running test fails for Elm1.7.0 projects.
You might be interested in https://github.com/stoeffel/elm-doc-test.
I used a different approach than you. It creates elm-tests from your doc-tests and you can run them using node-test-runner
. It supports {-
, multiline tests, you get nice compiler messages and because of it's dependency to elm-test you get nice assertion messages.
Please close this issue when you see it, it's not an bug. I just didn't know how to contact you differently. We might profit from each others work. Would be awesome to hear what you think of my approach. Hope it's okay that I opened this issue. Thanks for the inspiration.
It won't run with out explicit dependency included in
elm-package.json.
Using:
http://elm-lang.org/examples/random
$ elm-doctest Random.elm
Starting elm-doctest ...
processing: /tmp/Random.elm
undefined:1
> > > > | | >
^
SyntaxError: Unexpected token > in JSON at position 0
at Object.parse (native)
at Array.app.ports.evaluate.subscribe.resource (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/src/bridge.js:103:40)
at Function.onEffects [as func] (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:3456:12)
at A3 (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:98:11)
at onMessage (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:3241:12)
at Object.callback (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:3283:11)
at step (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:2921:32)
at Timeout.work [as _onTimeout] (/home/user/projects/trustedexpert/projects/brokedown-web/node_modules/elm-doctest/distribution/index.js:2963:15)
at tryOnTimeout (timers.js:232:11)
at Timer.listOnTimeout (timers.js:202:5)
Looks like its having an issue parsing the JSON at bridge.js line 103.
Elm requires to put documentation between {-|
and -}
.
Currently elm-doctest can not support it.
It should depends on minimist / chokidar in runtime dependencies.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.