1 | var util = require('./test'),
|
2 | should = require('should'),
|
3 | marked = require('../custom-marked'),
|
4 | assert = require("assert"),
|
5 | annotext = require('../annotext'),
|
6 | fs = require('fs'),
|
7 | path = require('path'),
|
8 | string = require('string'),
|
9 | async = require('async'),
|
10 | uuid = require('uuid'),
|
11 | moment = require('moment');
|
12 |
|
13 |
|
14 | describe('marked integration', function() {
|
15 | describe('/parse', function() {
|
16 | var samplesWithoutAttribution, samplesWithAttribution;
|
17 |
|
18 | beforeEach(function(done) {
|
19 | var nonAttributionSamplesFolder = path.join(__dirname, "/samples/export_html_without_attribution");
|
20 | var attributionSamplesFolder = path.join(__dirname, "/samples/export_html_with_attribution");
|
21 |
|
22 | util.loadSamples(nonAttributionSamplesFolder,
|
23 | function(err, resp) {
|
24 | samplesWithoutAttribution = util.groupFilesByName(resp);
|
25 | util.loadSamples(attributionSamplesFolder,
|
26 | function(err, resp) {
|
27 | samplesWithAttribution = util.groupFilesByName(resp);
|
28 | done(err);
|
29 | });
|
30 | });
|
31 | });
|
32 |
|
33 | it('Markdown HTML Generation - with single user attribution', function(done) {
|
34 | var userKey = 'd8eb9a26-cb9c-4342-8548-6d6f5750a914';
|
35 | var revisionKey = '4e183537-8b5d-48b4-9905-52b8e2d60686';
|
36 | var revisionDateTime = new moment('2013-12-23T14:33:52.761Z').toDate();
|
37 |
|
38 | samplesWithAttribution.forEach(function(sample) {
|
39 |
|
40 | var annotextDoc = new annotext();
|
41 | annotextDoc.update({
|
42 | content: sample.markdown,
|
43 | user_key: userKey,
|
44 | revision_key: revisionKey,
|
45 | edit_date: revisionDateTime
|
46 | });
|
47 |
|
48 | var htmlExport = marked(sample.markdown, annotextDoc);
|
49 | var exportClean = cleanseContent(htmlExport.replace(/\n/g, '<LF>'));
|
50 | var sampleClean = cleanseContent(sample.html.replace(/\n/g, '<LF>'));
|
51 | exportClean.trim().should.equal(sampleClean.trim());
|
52 | });
|
53 | done();
|
54 | });
|
55 |
|
56 | it('Markdown HTML Generation - without attribution', function(done) {
|
57 | samplesWithoutAttribution.forEach(function(sample) {
|
58 | var htmlExport = marked(sample.markdown);
|
59 | var exportClean = cleanseContent(htmlExport.replace(/\n/g, '<LF>'));
|
60 | var sampleClean = cleanseContent(sample.html.replace(/\n/g, '<LF>'));
|
61 | exportClean.trim().should.equal(sampleClean.trim());
|
62 | });
|
63 |
|
64 | done();
|
65 | });
|
66 | });
|
67 | });
|
68 |
|
69 | var cleanseContent = function(src) {
|
70 | src = src.replace(/(\<LF\>)+/g, "<LF>");
|
71 | return src;
|
72 | }
|