nuǝW pǝuoᴉʇᴉsoԀ ʎlǝʌᴉʇɐƃǝN
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    elm-doc-testpublic

    elm-doc-test Build Status

    Verify examples in your docs.

    Install

    $ npm i elm-test -g
    $ npm i elm-doc-test -g
    $ elm-test init

    Setup

    $ touch tests/elm-doc-test.json

    elm-doc-test.json contains information on which files contain verified examples and where to find them.

    {
      "root": "../src",
      "tests": [
        "Mock",
        "Mock.Foo.Bar.Moo"
      ]
    }

    It's recommended to add ./tests/Doc to your .gitignore.

    Writing Verified Examples

    Verified examples look like normal code examples in doc-comments.
    Code needs to be indented by 4 spaces. You can specify the expected result of an expression, by adding a comment --> (the > is important) and an expected expression.

    {-| returns the sum of two int.
     
        -- You can write the expected result on the next line,
     
        add 41 1
        --> 42
     
        -- or on the same line.
     
        add 3 3 --> 6
     
    -}
    add : Int -> Int -> Int
    add =
        (+)
     
    You can write examples on multiple lines.
     
    {-| reverses the list
     
        rev
            [ 41
            , 1
            ]
        --> [ 1
        --> , 41
        --> ]
     
        rev [1, 2, 3]
            |> List.map toString
            |> String.join ""
        --> "321"
    -}
    rev : List a -> List a
    rev =
        List.reverse

    You can specify imports, if you want to use a module or a special test util.

    {-|
        import Dict
     
        myWeirdFunc (Dict.fromList [(1, "a"), (2, "b")]) [2, 1]
        --> "ba"
    -}

    Running DocTests

    elm-doc-test only converts your doc-tests into elm-tests. You have to use elm-test in order to run them.

    $ elm-doc-test && elm-test tests/Doc/Main.elm

    By default the first command creates the tests at tests/Doc/. If you want to have them at a custom location use the --output argument (e.g. elm-doc-test --output my/custom/path/ will create the tests at my/custom/path/Doc/).

    Also by default the first command looks for the config file at tests/elm-doc-test.json. If you want it to load a specific config file use the --config argument (e.g. elm-doc-test --config my/custom/path/elm-doc-test.json will read the config from my/custom/path/elm-doc-test.json).

    Examples

    You can run the examples using:

    npm start

    Keywords

    install

    npm i elm-doc-test

    Downloadsweekly downloads

    50

    version

    4.0.0

    license

    BSD-3-Clause

    last publish

    collaborators

    • avatar
    • avatar
    • avatar