From 655dfa0f5f0862602976c39af777e9a4009e005f Mon Sep 17 00:00:00 2001 From: Jeff Williams Date: Fri, 19 Apr 2013 17:28:46 -0700 Subject: [PATCH] fix test failures --- lib/jsdoc/util/markdown.js | 5 +- test/specs/jsdoc/tutorial.js | 2 +- test/specs/jsdoc/util/markdown.js | 98 ++++++------------------------- 3 files changed, 21 insertions(+), 84 deletions(-) diff --git a/lib/jsdoc/util/markdown.js b/lib/jsdoc/util/markdown.js index 04997070..3fdd217d 100644 --- a/lib/jsdoc/util/markdown.js +++ b/lib/jsdoc/util/markdown.js @@ -55,7 +55,6 @@ function getParseFunction(parser, conf) { var parse; if (parser === parsers.marked) { - parser = require(parser); parser = require(parser); parser.setOptions({ gfm: true, @@ -68,7 +67,9 @@ function getParseFunction(parser, conf) { }); parse = function(source) { source = escapeUnderscores(source); - return parser(source); + return parser(source) + .replace(/\s+$/, '') + .replace(/'/g, "'"); }; parse._parser = parsers.marked; return parse; diff --git a/test/specs/jsdoc/tutorial.js b/test/specs/jsdoc/tutorial.js index 1644c534..caba78e6 100644 --- a/test/specs/jsdoc/tutorial.js +++ b/test/specs/jsdoc/tutorial.js @@ -212,7 +212,7 @@ describe("jsdoc/tutorial", function() { env.conf.markdown = {parser: 'evilstreak'}; expect(par.parse()).toBe("

This is the parent tutorial's content & stuff AB XY

"); - env.conf.markdown = {parser: 'gfm'}; + env.conf.markdown = {parser: 'marked'}; expect(par.parse()).toBe("

This is the parent tutorial's content & stuff A_B X_Y

"); env.conf.markdown = old; diff --git a/test/specs/jsdoc/util/markdown.js b/test/specs/jsdoc/util/markdown.js index f4b2fe24..fad1222b 100644 --- a/test/specs/jsdoc/util/markdown.js +++ b/test/specs/jsdoc/util/markdown.js @@ -1,4 +1,4 @@ -/*global describe: true, expect: true, it: true, xit: true */ +/*global describe: true, env: true, expect: true, it: true, xit: true */ describe('jsdoc/util/markdown', function() { var markdown = require('jsdoc/util/markdown'); @@ -45,7 +45,7 @@ describe('jsdoc/util/markdown', function() { var parser = markdown.getParser(); expect(typeof parser).toEqual('function'); - setMarkdownConf({parser: 'gfm'}); + setMarkdownConf({parser: 'marked'}); parser = markdown.getParser(); expect(typeof parser).toEqual('function'); @@ -59,102 +59,38 @@ describe('jsdoc/util/markdown', function() { restoreMarkdownConf(storage); }); - it('should use the GFM parser when requested', function() { - var storage = setMarkdownConf({parser: 'gfm'}); + it('should use the marked parser when requested', function() { + var storage = setMarkdownConf({parser: 'marked'}); var parser = markdown.getParser(); - expect(parser._parser).toEqual('github-flavored-markdown'); + expect(parser._parser).toEqual('marked'); restoreMarkdownConf(storage); }); - it('should use GFM parser when parser is not specified but github owner and repo are', function() { - var storage = setMarkdownConf({githubRepoOwner: 'jsdoc', githubRepoName: 'jsdoc3'}); + it('should use the marked parser when GFM is requested', function() { + var storage = setMarkdownConf({parser: 'gfm'}); var parser = markdown.getParser(); - expect(parser._parser).toEqual('github-flavored-markdown'); + expect(parser._parser).toEqual('marked'); restoreMarkdownConf(storage); }); - it('should convert GitHub repo references to links when the correct options are defined', function() { - var storage = setMarkdownConf({parser: 'gfm', githubRepoOwner: 'jsdoc', githubRepoName: 'jsdoc3'}); - var parser = markdown.getParser(); - expect(parser._parser).toEqual('github-flavored-markdown'); - - var sha = '228c940816b5f799a12f83f071a1c67cbb478f39'; - var sha7 = sha.substr(0, 7); - - // Auto-link sha1 if GitHub.nameWithOwner is defined - expect(parser(sha)).toEqual( - "

" + sha7 + "

"); - - // ** GFM ** Auto-link user@sha1 if GitHub.nameWithOwner is defined - expect(parser('mathematicalcoffee@' + sha)).toEqual( - "

mathematicalcoffee@" + sha7 + "

"); - - // ** GFM ** Auto-link user/repo@sha1 - expect(parser('jsdoc/jsdoc3@' + sha)).toEqual( - "

jsdoc/jsdoc3@" + sha7 + "

"); - - // ** GFM ** Auto-link #issue if GitHub.nameWithOwner is defined - expect(parser('Fixes #1')).toEqual( - "

Fixes #1

"); - - // ** GFM ** Auto-link user#issue if GitHub.nameWithOwner is defined - expect(parser('mathematicalcoffee#12')).toEqual( - "

mathematicalcoffee#12

"); - - // ** GFM ** Auto-link user/repo#issue - expect(parser('jsdoc/jsdoc3#1')).toEqual( - "

jsdoc/jsdoc3#1

"); - - restoreMarkdownConf(storage); - }); - - it('should not apply formatting to inline tags when the evilstreak parser is enabled', function() { + it('should not apply formatting to inline tags when the evilstreak parser is enabled', function() { var storage = setMarkdownConf({parser: 'evilstreak'}); - + var parser = markdown.getParser(); + // get the evilstreak parser and do the test - var parser = markdown.getParser(); expect(parser('{@link MyClass#_x} and {@link MyClass#_y}')).toEqual( '

{@link MyClass#_x} and {@link MyClass#_y}

'); - restoreMarkdownConf(storage); - }); + }); - it('should not apply formatting to inline tags when the GFM parser is enabled', function() { - var storage = setMarkdownConf({parser: 'gfm'}); - - // get the gfm parser and do the test + it('should not apply formatting to inline tags when the marked parser is enabled', function() { + var storage = setMarkdownConf({parser: 'marked'}); var parser = markdown.getParser(); + + // get the marked parser and do the test expect(parser('{@link MyClass#_x} and {@link MyClass#_y}')).toEqual( '

{@link MyClass#_x} and {@link MyClass#_y}

'); - - restoreMarkdownConf(storage); - }); - - it('GFM parser with no conf.markdown.hardwrap has it to false', function() { - var storage = setMarkdownConf({parser: 'gfm'}); - - var parser = markdown.getParser(); - expect(parser('Testing\nhardwrap')).toEqual('

Testing\nhardwrap

'); - restoreMarkdownConf(storage); }); - - it('GFM parser respects conf.markdown.hardwrap=false', function() { - var storage = setMarkdownConf({parser: 'gfm', hardwrap: false}); - - var parser = markdown.getParser(); - expect(parser('Testing\nhardwrap')).toEqual('

Testing\nhardwrap

'); - - restoreMarkdownConf(storage); - }); - - it('GFM parser respects conf.markdown.hardwrap=true', function() { - var storage = setMarkdownConf({parser: 'gfm', hardwrap: true}); - - var parser = markdown.getParser(); - expect(parser('Testing\nhardwrap')).toEqual('

Testing
hardwrap

'); - - restoreMarkdownConf(storage); - }); - }); + }); });