Skip to content

Commit 6f637d2

Browse files
committed
Add tests for 'diffHtml' method
1 parent cb44261 commit 6f637d2

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

test/diffHtml.js

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
var fs = require('fs'),
2+
HtmlDiffer = require('../lib/index').HtmlDiffer;
3+
4+
function readFiles(f1, f2) {
5+
var files = {};
6+
7+
files.html1 = fs.readFileSync('test/fixtures/' + f1, 'utf-8');
8+
files.html2 = fs.readFileSync('test/fixtures/' + f2, 'utf-8');
9+
10+
return files;
11+
}
12+
13+
describe('\'diffHtml\'', function () {
14+
15+
it('must not be diffs', function () {
16+
var htmlDiffer = new HtmlDiffer(),
17+
18+
files = readFiles('1.html', '_1.html'),
19+
20+
res = [ {
21+
value: '<!DOCTYPE html>\n<html>\n<head lang="en">\n <meta charset="UTF-8">\n <title></title>\n</head>\n<body>\nText\n</body>\n</html>\n'
22+
} ];
23+
24+
htmlDiffer.diffHtml(files.html1, files.html2).must.be.eql(res);
25+
});
26+
27+
it('must be diffs', function () {
28+
var htmlDiffer = new HtmlDiffer(),
29+
30+
files = readFiles('2.html', '_2.html'),
31+
32+
res = [ {
33+
value: '<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8"><title></title></head><body>\n',
34+
added: undefined,
35+
removed: undefined
36+
}, {
37+
value: '!',
38+
added: true,
39+
removed: undefined
40+
}, {
41+
value: 'Text',
42+
added: undefined,
43+
removed: undefined
44+
}, {
45+
value: '!',
46+
added: true,
47+
removed: undefined
48+
}, {
49+
value: '\n</body></html>',
50+
added: undefined,
51+
removed: undefined
52+
} ];
53+
54+
htmlDiffer.diffHtml(files.html1, files.html2).must.be.eql(res);
55+
});
56+
57+
it('must set options', function () {
58+
var htmlDiffer = new HtmlDiffer({ ignoreHtmlAttrs: ['id', 'for'] }),
59+
60+
files = readFiles('3.html', '_3.html'),
61+
62+
res = [ {
63+
value: '<html><head><title>Test</title></head><body><label for="">label for input</label><input id=""></body></html>',
64+
added: undefined,
65+
removed: undefined
66+
} ];
67+
68+
htmlDiffer.diffHtml(files.html1, files.html2).must.be.eql(res);
69+
});
70+
71+
});

0 commit comments

Comments
 (0)