diff options
author | ache <ache@ache.one> | 2018-02-05 22:21:49 +0100 |
---|---|---|
committer | ache <ache@ache.one> | 2018-02-05 22:21:49 +0100 |
commit | 9dd5edb18f8c23f3f43e253fb5c4c04ac98f173a (patch) | |
tree | 6ad1f34037e2c93766be26c5ebf913fe25e1ecf3 | |
parent | Add a gitignore file (diff) |
add tests with AVA
-rw-r--r-- | __tests__/__snapshots__/index.js.md | 28 | ||||
-rw-r--r-- | __tests__/__snapshots__/index.js.snap | bin | 0 -> 353 bytes | |||
-rw-r--r-- | __tests__/index.js | 57 | ||||
-rw-r--r-- | __tests__/input-raw.md | 13 | ||||
-rw-r--r-- | __tests__/input-simple.md | 6 | ||||
-rw-r--r-- | package.json | 15 |
6 files changed, 115 insertions, 4 deletions
diff --git a/__tests__/__snapshots__/index.js.md b/__tests__/__snapshots__/index.js.md new file mode 100644 index 0000000..9c20d55 --- /dev/null +++ b/__tests__/__snapshots__/index.js.md @@ -0,0 +1,28 @@ +# Snapshot report for `__tests__/index.js` + +The actual snapshot is saved in `index.js.snap`. + +Generated by [AVA](https://ava.li). + +## line-input-raw + +> Snapshot 1 + + `<p>This is a input line in a paragraph <input type="text" placeholder="Type here">. That's all forks.</p>␊ + <p>This is a formulay :</p>␊ + <p>Login : <input type="text" placeholder="Login">␊ + Password : <input type="password" placeholder="Password"></p>␊ + <div>␊ + Dangerous HTML 🐯 !␊ + </div>␊ + <p>Your email : <input id="email" type="text" placeholder="email">␊ + Verification : <input id="verif" type="text" placeholder="verif"></p> + +## line-input + +> Snapshot 1 + + `<p>This is a input line in a paragraph <input type="text" placeholder="Type here">. That's all forks.</p>␊ + <p>This is a formulay :</p>␊ + <p>Login : <input type="text" placeholder="Login">␊ + Password : <input type="password" placeholder="Password"></p>`
\ No newline at end of file diff --git a/__tests__/__snapshots__/index.js.snap b/__tests__/__snapshots__/index.js.snap Binary files differnew file mode 100644 index 0000000..dd28871 --- /dev/null +++ b/__tests__/__snapshots__/index.js.snap diff --git a/__tests__/index.js b/__tests__/index.js new file mode 100644 index 0000000..b359cd9 --- /dev/null +++ b/__tests__/index.js @@ -0,0 +1,57 @@ +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('line-input', t => { + const {contents} = render(file(join(__dirname, 'input-simple.md'))); + t.snapshot(contents); +}); + +test('line-input-simple', t => { + const {contents} = render('[__here__]'); + t.is(contents, '<p><input type="text" placeholder="here"></p>'); +}); + +test('line-input-empty', t => { + const {contents} = render('[____]'); + t.is(contents, '<p><input type="text"></p>'); +}); + +test.todo('id text'); +test.todo('class'); +test.todo('classes'); +test.todo('key-value'); +test.todo('classes key-value id'); +test.todo('overwrite type'); +test.todo('overwrite placeholder'); +test.todo('overwrite class'); +test.todo('overwrite id'); +test.todo('multiple id'); + +test('line-input-raw', t => { + const {contents} = renderRaw(file(join(__dirname, 'input-raw.md'))); + t.snapshot(contents); +}); diff --git a/__tests__/input-raw.md b/__tests__/input-raw.md new file mode 100644 index 0000000..e7922da --- /dev/null +++ b/__tests__/input-raw.md @@ -0,0 +1,13 @@ +This is a input line in a paragraph [___Type here___]. That's all forks. + +This is a formulay : + +Login : [__Login__] +Password : [__Password__]{type=password} + +<div> +Dangerous HTML 🐯 ! +</div> + +Your email : [__email__]{#email} +Verification : [__verif__]{#verif} diff --git a/__tests__/input-simple.md b/__tests__/input-simple.md new file mode 100644 index 0000000..4816cd8 --- /dev/null +++ b/__tests__/input-simple.md @@ -0,0 +1,6 @@ +This is a input line in a paragraph [___Type here___]. That's all forks. + +This is a formulay : + +Login : [__Login__] +Password : [__Password__]{type=password} diff --git a/package.json b/package.json index 1a9da0c..86ff3f0 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,11 @@ { "name": "remark-line-input", "version": "0.1.0", - "description": "A remark plugin to parse line input syntax.", + "description": "A remark plugin to parse line input syntax", "main": "app.js", "scripts": { + "pretest": "xo", + "test": "ava", "start": "node app.js" }, "dependencies": { @@ -17,16 +19,21 @@ "remark" ], "devDependencies": { + "ava": "^0.25.0", + "rehype-raw": "^2.0.0", + "rehype-stringify": "^3.0.0", + "remark-parse": "^5.0.0", + "remark-rehype": "^3.0.0", + "unified": "^6.1.6", "xo": "^0.18.2" }, - "xo" : { - "space" : true, + "xo": { + "space": true, "rules": { "comma-dangle": [ "error", "always-multiline" ] } - } } |