Jelajahi Sumber

Merge branch 'develop'

Estevao Soares dos Santos 6 tahun lalu
induk
melakukan
f24e314a70

+ 28 - 0
LICENSE

@@ -0,0 +1,28 @@
+MIT License
+
+Copyright (c) 2018 ShowdownJS <http://showdownjs.com>
+
+Markdown (TM) Copyright (c) 2004, John Gruber <http://daringfireball.net/>
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+ * The above copyright notice and this permission notice shall be included in all
+   copies or substantial portions of the Software.
+   
+ * Neither the name "Markdown" nor the names of its contributors may
+   be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 44 - 35
dist/showdown.js

@@ -1,4 +1,4 @@
-;/*! showdown v 2.0.0-alpha1 - 14-09-2018 */
+;/*! showdown v 2.0.0-alpha1 - 15-09-2018 */
 (function(){
 /**
  * Created by Tivie on 13-07-2015.
@@ -2793,7 +2793,7 @@ showdown.subParser('makehtml.encodeBackslashEscapes', function (text, options, g
   text = globals.converter._dispatch('makehtml.encodeBackslashEscapes.before', text, options, globals).getText();
 
   text = text.replace(/\\(\\)/g, showdown.helper.escapeCharactersCallback);
-  text = text.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);
+  text = text.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, showdown.helper.escapeCharactersCallback);
 
   text = globals.converter._dispatch('makehtml.encodeBackslashEscapes.after', text, options, globals).getText();
   return text;
@@ -2872,7 +2872,7 @@ showdown.subParser('makehtml.githubCodeBlocks', function (text, options, globals
 
   text += '¨0';
 
-  text = text.replace(/(?:^|\n)(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n\1/g, function (wholeMatch, delim, language, codeblock) {
+  text = text.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g, function (wholeMatch, delim, language, codeblock) {
     var end = (options.omitExtraWLInCodeBlocks) ? '' : '\n';
 
     // First parse the github code block
@@ -3387,11 +3387,6 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
   // called "catastrophic backtrace". Ominous!
 
   function parseInside (txt, left, right) {
-    /*
-    if (options.simplifiedAutoLink) {
-      txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);
-    }
-    */
     return left + txt + right;
   }
 
@@ -3420,6 +3415,7 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
   }
 
   // Now parse asterisks
+  /*
   if (options.literalMidWordAsterisks) {
     text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]+?)\*\*\*\B(?!\*)/g, function (wm, lead, txt) {
       return parseInside (txt, lead + '<strong><em>', '</em></strong>');
@@ -3431,18 +3427,18 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
       return parseInside (txt, lead + '<em>', '</em>');
     });
   } else {
-    text = text.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (wm, m) {
-      return (/\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;
-    });
-    text = text.replace(/\*\*(\S[\s\S]*?)\*\*/g, function (wm, m) {
-      return (/\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;
-    });
-    text = text.replace(/\*([^\s*][\s\S]*?)\*/g, function (wm, m) {
-      // !/^\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)
-      return (/\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;
-    });
-  }
-
+  */
+  text = text.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (wm, m) {
+    return (/\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;
+  });
+  text = text.replace(/\*\*(\S[\s\S]*?)\*\*/g, function (wm, m) {
+    return (/\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;
+  });
+  text = text.replace(/\*([^\s*][\s\S]*?)\*/g, function (wm, m) {
+    // !/^\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)
+    return (/\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;
+  });
+  //}
 
   text = globals.converter._dispatch('makehtml.italicsAndBold.after', text, options, globals).getText();
   return text;
@@ -3496,6 +3492,7 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
     // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,
     // which is a syntax breaking change
     // activating this option reverts to old behavior
+    // This will be removed in version 2.0
     if (options.disableForced4SpacesIndentedSublists) {
       rgx = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm;
     }
@@ -3531,13 +3528,25 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
         return '¨A' + wm2;
       });
 
+      // SPECIAL CASE: an heading followed by a paragraph of text that is not separated by a double newline
+      // or/nor indented. ex:
+      //
+      // - # foo
+      // bar is great
+      //
+      // While this does now follow the spec per se, not allowing for this might cause confusion since
+      // header blocks don't need double newlines after
+      if (/^#+.+\n.+/.test(item)) {
+        item = item.replace(/^(#+.+)$/m, '$1\n');
+      }
+
       // m1 - Leading line or
-      // Has a double return (multi paragraph) or
-      // Has sublist
+      // Has a double return (multi paragraph)
       if (m1 || (item.search(/\n{2,}/) > -1)) {
         item = showdown.subParser('makehtml.githubCodeBlocks')(item, options, globals);
         item = showdown.subParser('makehtml.blockGamut')(item, options, globals);
       } else {
+
         // Recursion for sub-lists:
         item = showdown.subParser('makehtml.lists')(item, options, globals);
         item = item.replace(/\n$/, ''); // chomp(item)
@@ -3545,6 +3554,7 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
 
         // Colapse double linebreaks
         item = item.replace(/\n\n+/g, '\n\n');
+
         if (isParagraphed) {
           item = showdown.subParser('makehtml.paragraphs')(item, options, globals);
         } else {
@@ -3624,26 +3634,25 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
     return result;
   }
 
-  /** Start of list parsing **/
+  // Start of list parsing
+  var subListRgx = /^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+  var mainListRgx = /(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+
   text = globals.converter._dispatch('lists.before', text, options, globals).getText();
   // add sentinel to hack around khtml/safari bug:
   // http://bugs.webkit.org/show_bug.cgi?id=11231
   text += '¨0';
 
   if (globals.gListLevel) {
-    text = text.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
-      function (wholeMatch, list, m2) {
-        var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
-        return parseConsecutiveLists(list, listType, true);
-      }
-    );
+    text = text.replace(subListRgx, function (wholeMatch, list, m2) {
+      var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
+      return parseConsecutiveLists(list, listType, true);
+    });
   } else {
-    text = text.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
-      function (wholeMatch, m1, list, m3) {
-        var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
-        return parseConsecutiveLists(list, listType, false);
-      }
-    );
+    text = text.replace(mainListRgx, function (wholeMatch, m1, list, m3) {
+      var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
+      return parseConsecutiveLists(list, listType, false);
+    });
   }
 
   // strip sentinel

File diff ditekan karena terlalu besar
+ 0 - 0
dist/showdown.js.map


File diff ditekan karena terlalu besar
+ 0 - 1
dist/showdown.min.js


File diff ditekan karena terlalu besar
+ 0 - 0
dist/showdown.min.js.map


+ 1 - 1
src/subParsers/makehtml/encodeBackslashEscapes.js

@@ -14,7 +14,7 @@ showdown.subParser('makehtml.encodeBackslashEscapes', function (text, options, g
   text = globals.converter._dispatch('makehtml.encodeBackslashEscapes.before', text, options, globals).getText();
 
   text = text.replace(/\\(\\)/g, showdown.helper.escapeCharactersCallback);
-  text = text.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g, showdown.helper.escapeCharactersCallback);
+  text = text.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g, showdown.helper.escapeCharactersCallback);
 
   text = globals.converter._dispatch('makehtml.encodeBackslashEscapes.after', text, options, globals).getText();
   return text;

+ 1 - 1
src/subParsers/makehtml/githubCodeBlocks.js

@@ -20,7 +20,7 @@ showdown.subParser('makehtml.githubCodeBlocks', function (text, options, globals
 
   text += '¨0';
 
-  text = text.replace(/(?:^|\n)(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n\1/g, function (wholeMatch, delim, language, codeblock) {
+  text = text.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g, function (wholeMatch, delim, language, codeblock) {
     var end = (options.omitExtraWLInCodeBlocks) ? '' : '\n';
 
     // First parse the github code block

+ 13 - 17
src/subParsers/makehtml/italicsAndBold.js

@@ -8,11 +8,6 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
   // called "catastrophic backtrace". Ominous!
 
   function parseInside (txt, left, right) {
-    /*
-    if (options.simplifiedAutoLink) {
-      txt = showdown.subParser('simplifiedAutoLinks')(txt, options, globals);
-    }
-    */
     return left + txt + right;
   }
 
@@ -41,6 +36,7 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
   }
 
   // Now parse asterisks
+  /*
   if (options.literalMidWordAsterisks) {
     text = text.replace(/([^*]|^)\B\*\*\*(\S[\s\S]+?)\*\*\*\B(?!\*)/g, function (wm, lead, txt) {
       return parseInside (txt, lead + '<strong><em>', '</em></strong>');
@@ -52,18 +48,18 @@ showdown.subParser('makehtml.italicsAndBold', function (text, options, globals)
       return parseInside (txt, lead + '<em>', '</em>');
     });
   } else {
-    text = text.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (wm, m) {
-      return (/\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;
-    });
-    text = text.replace(/\*\*(\S[\s\S]*?)\*\*/g, function (wm, m) {
-      return (/\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;
-    });
-    text = text.replace(/\*([^\s*][\s\S]*?)\*/g, function (wm, m) {
-      // !/^\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)
-      return (/\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;
-    });
-  }
-
+  */
+  text = text.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g, function (wm, m) {
+    return (/\S$/.test(m)) ? parseInside (m, '<strong><em>', '</em></strong>') : wm;
+  });
+  text = text.replace(/\*\*(\S[\s\S]*?)\*\*/g, function (wm, m) {
+    return (/\S$/.test(m)) ? parseInside (m, '<strong>', '</strong>') : wm;
+  });
+  text = text.replace(/\*([^\s*][\s\S]*?)\*/g, function (wm, m) {
+    // !/^\*[^*]/.test(m) - test if it doesn't start with ** (since it seems redundant, we removed it)
+    return (/\S$/.test(m)) ? parseInside (m, '<em>', '</em>') : wm;
+  });
+  //}
 
   text = globals.converter._dispatch('makehtml.italicsAndBold.after', text, options, globals).getText();
   return text;

+ 28 - 15
src/subParsers/makehtml/lists.js

@@ -46,6 +46,7 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
     // Since version 1.5, nesting sublists requires 4 spaces (or 1 tab) indentation,
     // which is a syntax breaking change
     // activating this option reverts to old behavior
+    // This will be removed in version 2.0
     if (options.disableForced4SpacesIndentedSublists) {
       rgx = /(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm;
     }
@@ -81,13 +82,25 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
         return '¨A' + wm2;
       });
 
+      // SPECIAL CASE: an heading followed by a paragraph of text that is not separated by a double newline
+      // or/nor indented. ex:
+      //
+      // - # foo
+      // bar is great
+      //
+      // While this does now follow the spec per se, not allowing for this might cause confusion since
+      // header blocks don't need double newlines after
+      if (/^#+.+\n.+/.test(item)) {
+        item = item.replace(/^(#+.+)$/m, '$1\n');
+      }
+
       // m1 - Leading line or
-      // Has a double return (multi paragraph) or
-      // Has sublist
+      // Has a double return (multi paragraph)
       if (m1 || (item.search(/\n{2,}/) > -1)) {
         item = showdown.subParser('makehtml.githubCodeBlocks')(item, options, globals);
         item = showdown.subParser('makehtml.blockGamut')(item, options, globals);
       } else {
+
         // Recursion for sub-lists:
         item = showdown.subParser('makehtml.lists')(item, options, globals);
         item = item.replace(/\n$/, ''); // chomp(item)
@@ -95,6 +108,7 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
 
         // Colapse double linebreaks
         item = item.replace(/\n\n+/g, '\n\n');
+
         if (isParagraphed) {
           item = showdown.subParser('makehtml.paragraphs')(item, options, globals);
         } else {
@@ -174,26 +188,25 @@ showdown.subParser('makehtml.lists', function (text, options, globals) {
     return result;
   }
 
-  /** Start of list parsing **/
+  // Start of list parsing
+  var subListRgx = /^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+  var mainListRgx = /(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+
   text = globals.converter._dispatch('lists.before', text, options, globals).getText();
   // add sentinel to hack around khtml/safari bug:
   // http://bugs.webkit.org/show_bug.cgi?id=11231
   text += '¨0';
 
   if (globals.gListLevel) {
-    text = text.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
-      function (wholeMatch, list, m2) {
-        var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
-        return parseConsecutiveLists(list, listType, true);
-      }
-    );
+    text = text.replace(subListRgx, function (wholeMatch, list, m2) {
+      var listType = (m2.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
+      return parseConsecutiveLists(list, listType, true);
+    });
   } else {
-    text = text.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,
-      function (wholeMatch, m1, list, m3) {
-        var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
-        return parseConsecutiveLists(list, listType, false);
-      }
-    );
+    text = text.replace(mainListRgx, function (wholeMatch, m1, list, m3) {
+      var listType = (m3.search(/[*+-]/g) > -1) ? 'ul' : 'ol';
+      return parseConsecutiveLists(list, listType, false);
+    });
   }
 
   // strip sentinel

+ 12 - 0
test/functional/makehtml/cases/issues/#495.headings-different-behavior-in-paragraphs-and-lists.html

@@ -0,0 +1,12 @@
+<ul>
+  <li>Increase the number of water changes.</li>
+  <li><h1 id="proteinskimmers">Protein skimmers:</h1>
+    <p>This remove dissolved</p></li>
+  <li><h1 id="chemicalfiltermedia">Chemical filter media:</h1>
+    <p>When placed in your filter</p></li>
+<li>#</li>
+<li>something</li>
+<li>#
+  something</li>
+<li># something</li>
+</ul>

+ 10 - 0
test/functional/makehtml/cases/issues/#495.headings-different-behavior-in-paragraphs-and-lists.md

@@ -0,0 +1,10 @@
+- Increase the number of water changes.
+- # Protein skimmers:
+  This remove dissolved
+- # Chemical filter media:
+  When placed in your filter
+- #
+- something
+- #
+something
+- \# something

+ 2 - 0
test/functional/makehtml/cases/issues/#510.specific-string-gets-removed-from-text.html

@@ -0,0 +1,2 @@
+<p>[^1]:a</p>
+<p>[^1]:a</p>

+ 3 - 0
test/functional/makehtml/cases/issues/#510.specific-string-gets-removed-from-text.md

@@ -0,0 +1,3 @@
+\[^1]:a
+
+[^1]\:a

+ 15 - 0
test/functional/makehtml/cases/issues/#523.leading-space-breaks-gfm-code-blocks.html

@@ -0,0 +1,15 @@
+<pre><code class="javascript language-javascript">var test = test;
+function foo() {
+  return 'bar';
+}
+</code></pre>
+<pre><code class="javascript language-javascript">var test = test;
+function foo() {
+  return 'bar';
+}
+</code></pre>
+<pre><code class="javascript language-javascript">var test = test;
+function foo() {
+  return 'bar';
+}
+</code></pre>

+ 20 - 0
test/functional/makehtml/cases/issues/#523.leading-space-breaks-gfm-code-blocks.md

@@ -0,0 +1,20 @@
+ ```javascript
+var test = test;
+function foo() {
+  return 'bar';
+}
+ ```
+
+  ```javascript
+var test = test;
+function foo() {
+  return 'bar';
+}
+  ```
+
+   ```javascript
+var test = test;
+function foo() {
+  return 'bar';
+}
+   ```

+ 3 - 6
test/functional/makehtml/testsuite.features.js

@@ -14,7 +14,7 @@ var bootstrap = require('./makehtml.bootstrap.js'),
     emojisSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/emojis/'),
     underlineSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/underline/'),
     literalMidWordUnderscoresSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/literalMidWordUnderscores/'),
-    literalMidWordAsterisksSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/literalMidWordAsterisks/'),
+    //literalMidWordAsterisksSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/literalMidWordAsterisks/'),
     completeHTMLOutputSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/completeHTMLOutput/'),
     metadataSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/metadata/'),
     splitAdjacentBlockquotesSuite = bootstrap.getTestSuite('test/functional/makehtml/cases/features/splitAdjacentBlockquotes/');
@@ -75,8 +75,6 @@ describe('makeHtml() features testsuite', function () {
         converter = new showdown.Converter({encodeEmails: false, simplifiedAutoLink: true});
       } else if (testsuite[i].name === '#331.allow-escaping-of-tilde') {
         converter = new showdown.Converter({strikethrough: true});
-      } else if (testsuite[i].name === 'enable-literalMidWordAsterisks') {
-        converter = new showdown.Converter({literalMidWordAsterisks: true});
       } else if (testsuite[i].name === 'prefixHeaderId-simple') {
         converter = new showdown.Converter({prefixHeaderId: true});
       } else if (testsuite[i].name === 'prefixHeaderId-string') {
@@ -95,8 +93,6 @@ describe('makeHtml() features testsuite', function () {
         converter = new showdown.Converter({backslashEscapesHTMLTags: true});
       } else if (testsuite[i].name === '#379.openLinksInNewWindow-breaks-em-markdup') {
         converter = new showdown.Converter({openLinksInNewWindow: true});
-      } else if (testsuite[i].name === '#398.literalMidWordAsterisks-treats-non-word-characters-as-characters') {
-        converter = new showdown.Converter({literalMidWordAsterisks: true});
       } else {
         converter = new showdown.Converter();
       }
@@ -226,6 +222,7 @@ describe('makeHtml() features testsuite', function () {
   });
 
   /** test literalMidWordAsterisks option **/
+  /*
   describe('literalMidWordAsterisks option', function () {
     var converter,
         suite = literalMidWordAsterisksSuite;
@@ -234,7 +231,7 @@ describe('makeHtml() features testsuite', function () {
       it(suite[i].name.replace(/-/g, ' '), assertion(suite[i], converter));
     }
   });
-
+  */
 
   /** test completeHTMLDocument option **/
   describe('completeHTMLDocument option', function () {

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini