mirror of
https://github.com/showdownjs/showdown.git
synced 2024-03-22 13:30:55 +08:00
3871765ac1
The CLI was completely rewrote. Changed dependency from yargs to commanderjs, which is cleaner, faster and has no dependencies. Also added a complete testsuite for the cli. Closes #893, #894
79 lines
2.6 KiB
JavaScript
79 lines
2.6 KiB
JavaScript
/**
|
|
* Created by Estevao on 15-01-2015.
|
|
*/
|
|
|
|
describe('showdown.Converter', function () {
|
|
'use strict';
|
|
|
|
require('source-map-support').install();
|
|
require('chai').should();
|
|
|
|
var showdown = require('../bootstrap').showdown;
|
|
|
|
describe('makeHtml() with option omitExtraWLInCodeBlocks', function () {
|
|
var converter = new showdown.Converter({omitExtraWLInCodeBlocks: true}),
|
|
text = 'var foo = bar;',
|
|
html = converter.makeHtml(' ' + text);
|
|
it('should omit extra line after code tag', function () {
|
|
var expectedHtml = '<pre><code>' + text + '</code></pre>';
|
|
html.should.equal(expectedHtml);
|
|
});
|
|
});
|
|
|
|
describe('makeHtml() with option prefixHeaderId', function () {
|
|
var converter = new showdown.Converter(),
|
|
text = 'foo header';
|
|
|
|
it('should prefix header id with "section"', function () {
|
|
converter.setOption('prefixHeaderId', true);
|
|
var html = converter.makeHtml('# ' + text),
|
|
expectedHtml = '<h1 id="sectionfooheader">' + text + '</h1>';
|
|
html.should.equal(expectedHtml);
|
|
});
|
|
|
|
it('should prefix header id with custom string', function () {
|
|
converter.setOption('prefixHeaderId', 'blabla');
|
|
var html = converter.makeHtml('# ' + text),
|
|
expectedHtml = '<h1 id="blablafooheader">' + text + '</h1>';
|
|
html.should.equal(expectedHtml);
|
|
});
|
|
});
|
|
|
|
describe('makeHtml() with option metadata', function () {
|
|
var converter = new showdown.Converter(),
|
|
text1 =
|
|
'---SIMPLE\n' +
|
|
'foo: bar\n' +
|
|
'baz: bazinga\n' +
|
|
'---\n',
|
|
text2 =
|
|
'---TIVIE\n' +
|
|
'a: b\n' +
|
|
'c: 123\n' +
|
|
'---\n';
|
|
|
|
it('should correctly set metadata', function () {
|
|
converter.setOption('metadata', true);
|
|
|
|
var expectedHtml = '',
|
|
expectedObj = {foo: 'bar', baz: 'bazinga'},
|
|
expectedRaw = 'foo: bar\nbaz: bazinga',
|
|
expectedFormat = 'SIMPLE';
|
|
converter.makeHtml(text1).should.equal(expectedHtml);
|
|
converter.getMetadata().should.eql(expectedObj);
|
|
converter.getMetadata(true).should.equal(expectedRaw);
|
|
converter.getMetadataFormat().should.equal(expectedFormat);
|
|
});
|
|
|
|
it('consecutive calls should reset metadata', function () {
|
|
converter.makeHtml(text2);
|
|
var expectedObj = {a: 'b', c: '123'},
|
|
expectedRaw = 'a: b\nc: 123',
|
|
expectedFormat = 'TIVIE';
|
|
converter.getMetadata().should.eql(expectedObj);
|
|
converter.getMetadata(true).should.equal(expectedRaw);
|
|
converter.getMetadataFormat().should.equal(expectedFormat);
|
|
});
|
|
});
|
|
});
|