From bacbfc8615dc27e76f0265e221c7c2ab154bdc5e Mon Sep 17 00:00:00 2001 From: Baptiste Augrain Date: Sat, 15 Sep 2018 10:43:41 +0200 Subject: [PATCH] add test --- browser/lib/markdown-it-sanitize-html.js | 6 +- tests/fixtures/markdowns.js | 5 +- tests/lib/markdown-test.js | 5 ++ tests/lib/snapshots/markdown-test.js.md | 8 ++ tests/lib/snapshots/markdown-test.js.snap | Bin 1724 -> 1781 bytes yarn.lock | 100 +++++++++++++++++++++- 6 files changed, 116 insertions(+), 8 deletions(-) diff --git a/browser/lib/markdown-it-sanitize-html.js b/browser/lib/markdown-it-sanitize-html.js index ce6c5e29..bd3d452e 100644 --- a/browser/lib/markdown-it-sanitize-html.js +++ b/browser/lib/markdown-it-sanitize-html.js @@ -79,10 +79,10 @@ function sanitizeInline (html, options) { } } - if (selfClosing.indexOf(tag)) { - return '<' + tag + attrs + ' />' - } else { + if (selfClosing.indexOf(tag) === -1) { return '<' + tag + attrs + '>' + } else { + return '<' + tag + attrs + ' />' } } else { // closing tag diff --git a/tests/fixtures/markdowns.js b/tests/fixtures/markdowns.js index 69e335e0..312e6c18 100644 --- a/tests/fixtures/markdowns.js +++ b/tests/fixtures/markdowns.js @@ -50,11 +50,14 @@ const smartQuotes = 'This is a "QUOTE".' const breaks = 'This is the first line.\nThis is the second line.' +const shortcuts = 'Ctrl\n\n[[Ctrl]]' + export default { basic, codeblock, katex, checkboxes, smartQuotes, - breaks + breaks, + shortcuts } diff --git a/tests/lib/markdown-test.js b/tests/lib/markdown-test.js index 73b68799..0e330a65 100644 --- a/tests/lib/markdown-test.js +++ b/tests/lib/markdown-test.js @@ -43,3 +43,8 @@ test('Markdown.render() should render line breaks correctly', t => { const renderedNonBreaks = newmd.render(markdownFixtures.breaks) t.snapshot(renderedNonBreaks) }) + +test('Markdown.render() should render shortcuts correctly', t => { + const rendered = md.render(markdownFixtures.shortcuts) + t.snapshot(rendered) +}) diff --git a/tests/lib/snapshots/markdown-test.js.md b/tests/lib/snapshots/markdown-test.js.md index ffc3d699..0079ca07 100644 --- a/tests/lib/snapshots/markdown-test.js.md +++ b/tests/lib/snapshots/markdown-test.js.md @@ -18,6 +18,14 @@ Generated by [AVA](https://ava.li). This is the second line.

␊ ` +## Markdown.render() should render shortcuts correctly + +> Snapshot 1 + + `

Ctrl

␊ +

Ctrl

␊ + ` + ## Markdown.render() should renders KaTeX correctly > Snapshot 1 diff --git a/tests/lib/snapshots/markdown-test.js.snap b/tests/lib/snapshots/markdown-test.js.snap index fc310cfd28f22b2e7d20fa14c94bd5f9b806b0fd..3bea19c97db969ec7db9323a534197aef7787d4f 100644 GIT binary patch literal 1781 zcmVRzVR7R5g7j)UW=zVct#F&~Qv00000000y1 zS6zr4MIP^64-(?Roq9g_WZAL?OnQ1gcC)j|Omq8@HOXyEyci=VMyk7Ow`-@ntGB9p zClfDR@QZ^x6M~>9ns9H2PeJiXJkAFZMC1fPL`2DxJ}EwUFDKr=s(X58W@kTg(R;FC zdTRb3zyDX&zy9;SVHi7%f9<^e^$$OK{9@&`&+PR3<=>1L>bbnbFv5rbe*W&~N3TBd z-Q_<$v+%1&M>O@XI}PKue>A^re)#;kcbs|8NTYvlD zp?~iBYV;??d z7xwHnZBctRWT|hR=)@k4m$aud5NMjH8UqLA9CQzkk^?B?i5s@6P^~#tpJ|UX$k!YZ zEy)t?z)|MXkXVoaVLFFcTWv7`3Rz-QRT0)&DA&?S$+VEtx?%SYuBu9_Gc?O$Sj)`n zB4-h52+3Kz zNA|koUYX3!`!tu-gRL~py@0Ng-lIQlIyo2RT-60$+N=vefG(A#uwz%FV@Hmslcw`~ z;;Y_wFkT9&2)4+MYH(aD=nV0-9`YCwb^&%G!SM}&dGQ+9Y@nLRR(0D1Y&ls2JA%Qr zezZ-BP@Twc6&6KltQudQ{`%b5jJiX*bV&TOZ*DX3)2B|IZ9&_%A_hQv1e98=)l8?_ z#m&F8XSvEUV60-U?wDobNz_EUi`wr#08uJo(1gGSqW$g8KHDuU$r;P1A_;M4z%R`k zMuYJ}22ltswEzJU;TR6300L)icvHt~*zj&d%xS`kXx#M?h}s!s{)J;m9Nf(;MkI#RL3?YOa3#UGq^b59OQ*tv zL?@A0;qq~Ox{CH7_jL6fY_39G6>BXSc9xzY+apV3AR&nebBe8i`aX%9rsOFZNIBe7 zsf3|Rc0xFw*&w#RT&nLIuaqaJiibo8%%QflK606qEE4x#69Nw{ z481(wZQVGKnlV@)7_G2~qr zVy@heT+_(2eYooez>&R;q;~)=!^jy>_zNWvM%T{2{J_a$4<5XB{uTIdm<(uEH_^Oj zC1vt}R?e0~^cObNmjOYGlnaRztJHAysNTyJ#AERPIb*Lwp5HF=bzmM@huLVkzB4O% X*s#?~tMm(1hYS4|fppI->k|L~0KRkM literal 1724 zcmV;t21EHlRzVSclB0P?_{E4 z@DT(bL4<(f18*Kff+tbDh~PmC2qGdvPI}T)Jc<5Q-P1cWnSE%YCkLjx=6`(utLm?R zE*XY#tMSd|ZI`cn`^@>$r629&kHve24E1?`lVJoWK015fh2e`YTzmidb8~l`9MaU+ zHXFv>pVfb^U%Bwy7cafM{n{I|_YP_54|f{I;_sV(-6F4k`r+5dKHqZtFFS@b^@FX3 zaq5j@BKEdk{A&5n?`}Ky;)BDQ`hE7@ewSgqa_Hj8$_r1ueImGYYH8bLe^^sR_WcsR z!^S4<-Ow$@UBl-$)%+4_V2Q1OMx<_*Ohg-X^Ee4S77|M`Yl<-;BPNOIWK<*>%BlC( zY`^4esrlt@m~sj;9Z;`n`GjjE(xB1`F>f|lE3!sriz5@WBNL^O>XhkdNu(qdx{^d4 zN%Y$XZ@vmv%3y`ga|{l&XhZsSb8KhP1Rc8I%eq-9jhRSruWtHM#$uOkw_2@2nJy%?M?9iN84%-Jzq~Tn~8-&+Q0K-ARTJuQ|2#*sIIW;@AcwK-y(*S3f zC-O)tBNH>Gqe$TLTkmBqCjmSH>eMjuIhkK^&&OVq@QATUd*^mCYUz~)o^#8`aSZl^ zuwu>{i6`kYm2C@04GSE^*-r?)SQ#brgt$c&EVg;uZ%H5)_J z;O}6k7pU|TS39h+_Z_rzdv=R9sXZOAq+uOyM;?t9w5L-LXcDU$0|#XsbUzN`-6-XW z8@8%Ytr=CHNslwg*9;L&$ztum0p`+xSdai=I(u15Z7~4~X<}4W5!PBL)6z*vwUE-f zVfXedt4gagG|eJd%hc*TXCbNy$yv1EbYyCFM(8^4Ck*dzXM}CK| z>>rM390M=ScJ6?!kE+j+ecf>{ji={*l1u8rR+{9VPnSve(VsM(jEgd^>H_bq)de6x zm&!uWw#(tc{fClq(|Lk4RPWmpEd*5f>tshYIIb0RhWJVkd72122Rj_&=!U?&Xa#KA zS50KSx~&1W7_Wfs$KYBo+8RYDk7c(C3&SK*jW0`ob!KEr-60)1B>weJHkkOy01x<=(_yBdji+Gu5f1`=2zOBP}W=;Tuz0^gLXZrZbB@xN%q$J;GTM_eb7yJO5~!01Ht!Jvc6C8XgBI=Zu?9O+fZK+(aUO|=1#}c>-c^86AOT*-LwtsVoAab#(7H2f- zg!xM3tEGI!^Oek2DXK_fO~n~CQaK7$hB6j&9?Fb$MBP4&ZpEgV?TOp}KRlR2-kkKP2334z#89k;|lHVLwc% zP#mj{jjq5{0Y=@N5O`o==;hHat5_&ajE;`3YQV*!-{%m9J*1+ia2CBmN?L*^0m)s0 zNpu0OGoHm)9`E^7S2Z7U0$Z{EFB|C&C|*}0TvuXX*XWj5#p7aSteU#H^iL7Wok01z zUdq)Z2Go14Er18&z)2K|+o!h-SF*I^Kx%(G*3^w24Xv1o!t}YzsuW743h?^#Gu9=a z8HxuU!g67J^;1XBsQH`2y(=yFL3Sebte{XT-GRxrs}N! zs*!beko*4*`Y(3S`mf$`;$x#T`*j?VSTyG#srw`e!ABa!aQn!13_*K7@tQ6>oer3t zUslfKyHJO=-tQ}%Vp Svl~TT8}l!i*8=N#6951$K|E{# diff --git a/yarn.lock b/yarn.lock index 50374f74..1cc5fb08 100644 --- a/yarn.lock +++ b/yarn.lock @@ -188,6 +188,12 @@ ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" +ansi-red@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + dependencies: + ansi-wrap "0.1.0" + ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" @@ -218,6 +224,10 @@ ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" +ansi-wrap@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + anymatch@^1.3.0: version "1.3.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" @@ -255,7 +265,7 @@ argparse@^1.0.7, argparse@~1.0.3: dependencies: sprintf-js "~1.0.2" -"argparse@~ 0.1.11": +"argparse@~ 0.1.11", argparse@~0.1.15: version "0.1.16" resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" dependencies: @@ -459,6 +469,10 @@ auto-bind@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/auto-bind/-/auto-bind-1.2.0.tgz#8b7e318aad53d43ba8a8ecaf0066d85d5f798cd6" +autolinker@~0.15.0: + version "0.15.3" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.15.3.tgz#342417d8f2f3461b14cf09088d5edf8791dc9832" + autoprefixer@^6.3.1: version "6.7.7" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" @@ -1793,7 +1807,7 @@ codemirror@^5.39.0: version "5.39.0" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.39.0.tgz#4654f7d2f7e525e04a62e72d9482348ccb37dce5" -coffee-script@^1.10.0: +coffee-script@^1.10.0, coffee-script@^1.12.4: version "1.12.7" resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53" @@ -2666,6 +2680,10 @@ devtron@^1.1.0: highlight.js "^9.3.0" humanize-plus "^1.8.1" +diacritics-map@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/diacritics-map/-/diacritics-map-0.1.0.tgz#6dfc0ff9d01000a2edf2865371cac316e94977af" + diff@^3.2.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -4030,6 +4048,16 @@ graphlibrary@^2.2.0: dependencies: lodash "^4.17.5" +gray-matter@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-2.1.1.tgz#3042d9adec2a1ded6a7707a9ed2380f8a17a430e" + dependencies: + ansi-red "^0.1.1" + coffee-script "^1.12.4" + extend-shallow "^2.0.1" + js-yaml "^3.8.1" + toml "^2.3.2" + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -5254,6 +5282,13 @@ js-yaml@^3.10.0, js-yaml@^3.5.1, js-yaml@^3.7.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^3.8.1: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + js-yaml@~2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-2.0.5.tgz#a25ae6509999e97df278c6719da11bd0687743a8" @@ -5487,6 +5522,12 @@ lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" +lazy-cache@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" + dependencies: + set-getter "^0.1.0" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -5514,6 +5555,15 @@ linkify-it@~1.2.0, linkify-it@~1.2.2: dependencies: uc.micro "^1.0.1" +list-item@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/list-item/-/list-item-1.1.1.tgz#0c65d00e287cb663ccb3cb3849a77e89ec268a56" + dependencies: + expand-range "^1.8.1" + extend-shallow "^2.0.1" + is-number "^2.1.0" + repeat-string "^1.5.2" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -5783,6 +5833,27 @@ markdown-it@^6.0.1: mdurl "~1.0.1" uc.micro "^1.0.1" +markdown-link@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/markdown-link/-/markdown-link-0.1.1.tgz#32c5c65199a6457316322d1e4229d13407c8c7cf" + +markdown-toc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/markdown-toc/-/markdown-toc-1.2.0.tgz#44a15606844490314afc0444483f9e7b1122c339" + dependencies: + concat-stream "^1.5.2" + diacritics-map "^0.1.0" + gray-matter "^2.1.0" + lazy-cache "^2.0.2" + list-item "^1.1.1" + markdown-link "^0.1.1" + minimist "^1.2.0" + mixin-deep "^1.1.3" + object.pick "^1.2.0" + remarkable "^1.7.1" + repeat-string "^1.6.1" + strip-color "^0.1.0" + match-at@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/match-at/-/match-at-0.1.1.tgz#25d040d291777704d5e6556bbb79230ec2de0540" @@ -6028,7 +6099,7 @@ minizlib@^1.1.0: dependencies: minipass "^2.2.1" -mixin-deep@^1.2.0: +mixin-deep@^1.1.3, mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" dependencies: @@ -6400,7 +6471,7 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" -object.pick@^1.3.0: +object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" dependencies: @@ -7544,6 +7615,13 @@ release-zalgo@^1.0.0: dependencies: es6-error "^4.0.1" +remarkable@^1.7.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.1.tgz#aaca4972100b66a642a63a1021ca4bac1be3bff6" + dependencies: + argparse "~0.1.15" + autolinker "~0.15.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -7879,6 +7957,12 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" +set-getter@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" + dependencies: + to-object-path "^0.3.0" + set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" @@ -8325,6 +8409,10 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-color@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -8606,6 +8694,10 @@ toggle-selection@^1.0.3: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" +toml@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.3.tgz#8d683d729577cb286231dfc7a8affe58d31728fb" + touch@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/touch/-/touch-0.0.3.tgz#51aef3d449571d4f287a5d87c9c8b49181a0db1d"