diff options
author | ache <ache@ache.one> | 2018-02-05 22:38:18 +0100 |
---|---|---|
committer | ache <ache@ache.one> | 2018-02-05 22:38:18 +0100 |
commit | 677bdafdeb541eb31502cd3419cf7e2f646fd860 (patch) | |
tree | ffe2a324cb845871f3258ed45b01557dfc0ead88 /__tests__ | |
parent | Add a gitignore file (diff) |
Add test with AVA
Diffstat (limited to '__tests__')
-rw-r--r-- | __tests__/__snapshots__/index.js.md | 29 | ||||
-rw-r--r-- | __tests__/__snapshots__/index.js.snap | bin | 0 -> 549 bytes | |||
-rw-r--r-- | __tests__/index.js | 65 | ||||
-rw-r--r-- | __tests__/mchoice-raw.md | 12 | ||||
-rw-r--r-- | __tests__/mchoice.md | 8 |
5 files changed, 114 insertions, 0 deletions
diff --git a/__tests__/__snapshots__/index.js.md b/__tests__/__snapshots__/index.js.md new file mode 100644 index 0000000..3063a53 --- /dev/null +++ b/__tests__/__snapshots__/index.js.md @@ -0,0 +1,29 @@ +# Snapshot report for `__tests__/index.js` + +The actual snapshot is saved in `index.js.snap`. + +Generated by [AVA](https://ava.li). + +## mchoide + +> Snapshot 1 + + `<p>That is a multiple choice test :</p>␊ + <fieldset class="mc check" id="mc_1"><ul style="list-style-type: none"><li style="list-style-type: none"><input type="checkbox" id="mc_1_0" class="!"><label for="mc_1_0"> The answer D␍ + </label></li><li style="list-style-type: none"><input type="checkbox" id="mc_1_1" class="="><label for="mc_1_1"> That doesn't work ␍ + <em>at the moment</em></label></li><li style="list-style-type: none"><input type="checkbox" id="mc_1_2" class="!"><label for="mc_1_2"> It's still work !␍ + </label></li><li style="list-style-type: none"><input type="checkbox" id="mc_1_3"><label for="mc_1_3"> It will work␍ + </label></li></ul><input onclick="check('mc_1',[0,1,0,0.5])" value="Validate" type="button"></fieldset>` + +## mchoide-raw + +> Snapshot 1 + + `<p>That is a multiple choice test :</p>␊ + <fieldset class="mc check" id="mc_2"><ul style="list-style-type: none"><li style="list-style-type: none"><input type="checkbox" id="mc_2_0" class="!"><label for="mc_2_0"> The answer D␍ + </label></li><li style="list-style-type: none"><input type="checkbox" id="mc_2_1" class="="><label for="mc_2_1"> That doesn't work ␍ + <em>at the moment</em></label></li><li style="list-style-type: none"><input type="checkbox" id="mc_2_2" class="!"><label for="mc_2_2"> It's still work !␍ + </label></li><li style="list-style-type: none"><input type="checkbox" id="mc_2_3"><label for="mc_2_3"> It will work␍ + </label></li></ul><input onclick="check('mc_2',[0,1,0,0.5])" value="Validate" type="button"></fieldset>␊ + <p><span>This is a HTML injected in a markdown file</span></p>␊ + <div>The plugin should not modify the HTML injected part</div>` diff --git a/__tests__/__snapshots__/index.js.snap b/__tests__/__snapshots__/index.js.snap Binary files differnew file mode 100644 index 0000000..0464d51 --- /dev/null +++ b/__tests__/__snapshots__/index.js.snap diff --git a/__tests__/index.js b/__tests__/index.js new file mode 100644 index 0000000..df1e62f --- /dev/null +++ b/__tests__/index.js @@ -0,0 +1,65 @@ +import {readFileSync as file} from 'fs'; +import {join} from 'path'; +import unified from 'unified'; + +import test from 'ava'; +import raw from 'rehype-raw'; +import reParse from 'remark-parse'; +import stringify from 'rehype-stringify'; +import remark2rehype from 'remark-rehype'; + +import plugin from '../app'; + +const render = text => unified() + .use(reParse) + .use(plugin) + .use(remark2rehype) + .use(stringify) + .processSync(text); + +const renderRaw = text => unified() + .use(reParse) + .use(plugin) + .use(remark2rehype, {allowDangerousHTML: true}) + .use(raw) + .use(stringify) + .processSync(text); + +test('simple', t => { + const {contents} = render(` + - [x] ! False + - [ ] ~ None + - [x] = True`); + t.is(contents, ''); +}); + +test('mchoide', t => { + const {contents} = render(file(join(__dirname, 'mchoice.md'))); + t.snapshot(contents); +}); + +test('mchoide-raw', t => { + const {contents} = renderRaw(file(join(__dirname, 'mchoice-raw.md'))); + t.snapshot(contents); +}); + +test.todo('all checked'); +test.todo('none checked'); +test.todo('caps checked'); +test.todo('enpty square brackets'); +test.todo('every kind of checked'); + +test.todo('Citation in a multiple-choice'); +test.todo('Feedback feature test'); + +test.todo('raw render'); + +test.todo('Error about check'); +test.todo('Error about list'); +test.todo('Error about space'); + +test.todo('with brackets for single choice'); + +test.todo('real test 1'); +test.todo('real test 2'); +test.todo('real test 3'); diff --git a/__tests__/mchoice-raw.md b/__tests__/mchoice-raw.md new file mode 100644 index 0000000..98d9718 --- /dev/null +++ b/__tests__/mchoice-raw.md @@ -0,0 +1,12 @@ + +That is a multiple choice test : + + - [ ] ! The answer D + - [ ] = That doesn't work *at the moment* + - [ ] ! It's still work ! + - [ ] ~ It will work + +<span>This is a HTML injected in a markdown file</span> + + +<div>The plugin should not modify the HTML injected part</div> diff --git a/__tests__/mchoice.md b/__tests__/mchoice.md new file mode 100644 index 0000000..8a4d65d --- /dev/null +++ b/__tests__/mchoice.md @@ -0,0 +1,8 @@ + +That is a multiple choice test : + + - [ ] ! The answer D + - [ ] = That doesn't work *at the moment* + - [ ] ! It's still work ! + - [ ] ~ It will work + |