1 | 'use strict';
|
2 |
|
3 | var chg = require('../lib/chg.js');
|
4 | var fs = require('fs');
|
5 | var shell = require('shelljs');
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 | function fixture(fileName){
|
28 | return fs.readFileSync('../test/fixtures/'+fileName, 'utf8');
|
29 | }
|
30 |
|
31 | function output(){
|
32 | return fs.readFileSync('./CHANGELOG.md', 'utf8');
|
33 | }
|
34 |
|
35 | exports['chg'] = {
|
36 | setUp: function(done) {
|
37 |
|
38 | this.dirName = 'test-tmp-'+(new Date().getTime());
|
39 | shell.mkdir('-p', this.dirName);
|
40 | shell.cd(this.dirName);
|
41 |
|
42 | done();
|
43 | },
|
44 | tearDown: function(done){
|
45 |
|
46 | shell.cd('..');
|
47 | shell.rm('-rf', this.dirName);
|
48 |
|
49 | done();
|
50 | },
|
51 | 'changelog actions': function(test) {
|
52 | test.expect(6);
|
53 |
|
54 | chg.init();
|
55 | test.equal(output(), fixture('init.md'), 'init failed');
|
56 |
|
57 | chg.add('Test add');
|
58 | test.equal(output(), fixture('add.md'), 'add failed');
|
59 |
|
60 | chg.release('0.0.1', { date: '12/12/12' });
|
61 | test.equal(output(), fixture('release.md'), 'release failed');
|
62 |
|
63 | chg.add('Test add again');
|
64 | chg.add('Test add with [link](http://heff.me)');
|
65 | test.equal(output(), fixture('add2.md'), 'add 2 failed');
|
66 |
|
67 | chg.release('0.0.2', { date: '12/13/12' });
|
68 | test.equal(output(), fixture('release2.md'), 'release 2 failed');
|
69 |
|
70 | chg.delete();
|
71 | test.ok(!fs.existsSync('./CHANGELOG.md'));
|
72 |
|
73 | test.done();
|
74 | }
|
75 | }; |
\ | No newline at end of file |