| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- class UtilsTests extends BaseTest {
- test_stripIndent() {
- this.assertEqual('', MDUtils.stripIndent(''));
- this.assertEqual('', MDUtils.stripIndent(' '));
- this.assertEqual('foo', MDUtils.stripIndent('foo'));
- this.assertEqual('foo', MDUtils.stripIndent(' foo'));
- this.assertEqual('foo', MDUtils.stripIndent(' foo'));
- this.assertEqual('foo', MDUtils.stripIndent(' foo'));
- this.assertEqual('foo', MDUtils.stripIndent(' foo'));
- this.assertEqual(' foo', MDUtils.stripIndent(' foo'));
- this.assertEqual('foo', MDUtils.stripIndent('\tfoo'));
- this.assertEqual("\tfoo", MDUtils.stripIndent('\t\tfoo'));
- this.assertEqual('foo', MDUtils.stripIndent('\t\tfoo', 2));
- this.assertEqual('foo', MDUtils.stripIndent(' foo', 2));
- }
-
- test_countIndents() {
- this.assertEqual(0, MDUtils.countIndents(''));
- this.assertEqual(1, MDUtils.countIndents(' '));
- this.assertEqual(1, MDUtils.countIndents(' '));
- this.assertEqual(0, MDUtils.countIndents('foo'));
- this.assertEqual(0, MDUtils.countIndents('foo'));
- this.assertEqual(1, MDUtils.countIndents(' foo'));
- this.assertEqual(1, MDUtils.countIndents(' foo'));
- this.assertEqual(1, MDUtils.countIndents(' foo'));
- this.assertEqual(1, MDUtils.countIndents(' foo'));
- this.assertEqual(2, MDUtils.countIndents(' foo'));
- this.assertEqual(1, MDUtils.countIndents('\tfoo'));
- this.assertEqual(2, MDUtils.countIndents('\t\tfoo'));
-
- this.assertEqual(0, MDUtils.countIndents('', true));
- this.assertEqual(0, MDUtils.countIndents(' ', true));
- this.assertEqual(1, MDUtils.countIndents(' ', true));
- this.assertEqual(0, MDUtils.countIndents('foo', true));
- this.assertEqual(0, MDUtils.countIndents(' foo', true));
- this.assertEqual(0, MDUtils.countIndents(' foo', true));
- this.assertEqual(0, MDUtils.countIndents(' foo', true));
- this.assertEqual(1, MDUtils.countIndents(' foo', true));
- this.assertEqual(1, MDUtils.countIndents(' foo', true));
- this.assertEqual(1, MDUtils.countIndents('\tfoo', true));
- this.assertEqual(2, MDUtils.countIndents('\t\tfoo', true));
- }
-
- test_tokenizeLabel() {
- // Escapes are preserved
- this.assertEqual([ '[foo]', 'foo' ], MDToken.tokenizeLabel('[foo] bar'));
- this.assertEqual([ '[foo\\[]', 'foo\\[' ], MDToken.tokenizeLabel('[foo\\[] bar'));
- this.assertEqual([ '[foo\\]]', 'foo\\]' ], MDToken.tokenizeLabel('[foo\\]] bar'));
- this.assertEqual([ '[foo[]]', 'foo[]' ], MDToken.tokenizeLabel('[foo[]] bar'));
- this.assertEqual([ '[foo\\(]', 'foo\\(' ], MDToken.tokenizeLabel('[foo\\(] bar'));
- this.assertEqual([ '[foo\\)]', 'foo\\)' ], MDToken.tokenizeLabel('[foo\\)] bar'));
- this.assertEqual([ '[foo()]', 'foo()' ], MDToken.tokenizeLabel('[foo()] bar'));
-
- this.assertEqual(null, MDToken.tokenizeLabel('foo bar'));
- this.assertEqual(null, MDToken.tokenizeLabel('[foo\\] bar'));
- this.assertEqual(null, MDToken.tokenizeLabel('[foo bar'));
- this.assertEqual(null, MDToken.tokenizeLabel('[foo[] bar'));
- }
-
- test_tokenizeURL() {
- this.assertEqual([ '(page.html)', 'page.html', null ], MDToken.tokenizeURL('(page.html) foo'));
- this.assertEqual([ '(page.html "link title")', 'page.html', 'link title' ], MDToken.tokenizeURL('(page.html "link title") foo'));
- this.assertEqual([ '(https://example.com/path/page.html?query=foo&bar=baz#fragment)', 'https://example.com/path/page.html?query=foo&bar=baz#fragment', null ], MDToken.tokenizeURL('(https://example.com/path/page.html?query=foo&bar=baz#fragment) foo'));
-
- this.assertEqual(null, MDToken.tokenizeURL('page.html foo'));
- this.assertEqual(null, MDToken.tokenizeURL('(page.html foo'));
- this.assertEqual(null, MDToken.tokenizeURL('page.html) foo'));
- this.assertEqual(null, MDToken.tokenizeURL('(page.html "title) foo'));
- this.assertEqual(null, MDToken.tokenizeURL('(page .html) foo'));
- this.assertEqual(null, MDToken.tokenizeURL('(user@example.com) foo'));
- this.assertEqual(null, MDToken.tokenizeURL('(user@example.com "title") foo'));
- }
-
- test_tokenizeEmail() {
- this.assertEqual([ '(user@example.com)', 'user@example.com', null ], MDToken.tokenizeEmail('(user@example.com)'));
- this.assertEqual([ '(user@example.com "link title")', 'user@example.com', 'link title' ], MDToken.tokenizeEmail('(user@example.com "link title")'));
-
- this.assertEqual(null, MDToken.tokenizeEmail('(https://example.com) foo'));
- this.assertEqual(null, MDToken.tokenizeEmail('(https://example.com "link title") foo'));
- this.assertEqual(null, MDToken.tokenizeEmail('(user@example.com "link title) foo'));
- this.assertEqual(null, MDToken.tokenizeEmail('(user@example.com foo'));
- this.assertEqual(null, MDToken.tokenizeEmail('user@example.com) foo'));
- }
- }
|