1 | var assert = require('assert');
|
2 | var download = require('..');
|
3 | var read = require('fs-readdir-recursive');
|
4 | var rm = require('rimraf').sync;
|
5 |
|
6 | describe('download-git-repo', function() {
|
7 | this.timeout(10000);
|
8 | var filter = function(x) {
|
9 | return x[0] !== '.' || x === ".git";
|
10 | };
|
11 |
|
12 | beforeEach(function() {
|
13 | rm('test/tmp');
|
14 | });
|
15 |
|
16 | describe('via github', function() {
|
17 | it('downloads the master branch by default', function(done) {
|
18 | download('github:flipxfx/download-git-repo-fixture', 'test/tmp', function(err) {
|
19 | if (err) return done(err);
|
20 | var actual = read('test/tmp', filter);
|
21 | var expected = read('test/fixtures/master');
|
22 | assert.deepEqual(actual, expected);
|
23 | done();
|
24 | });
|
25 | });
|
26 |
|
27 | it('downloads branches too', function(done) {
|
28 | download('github:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', function(err) {
|
29 | if (err) return done(err);
|
30 | var actual = read('test/tmp', filter);
|
31 | var expected = read('test/fixtures/my-branch');
|
32 | assert.deepEqual(actual, expected);
|
33 | done();
|
34 | });
|
35 | });
|
36 |
|
37 | it('downloads from github by default', function(done) {
|
38 | download('flipxfx/download-git-repo-fixture', 'test/tmp', function(err) {
|
39 | if (err) return done(err);
|
40 | var actual = read('test/tmp', filter);
|
41 | var expected = read('test/fixtures/master');
|
42 | assert.deepEqual(actual, expected);
|
43 | done();
|
44 | });
|
45 | });
|
46 |
|
47 | it('clones the master branch by default', function(done) {
|
48 | download('github:flipxfx/download-git-repo-fixture', 'test/tmp', { clone: true }, function(err) {
|
49 | if (err) return done(err);
|
50 | var actual = read('test/tmp', filter);
|
51 | var expected = read('test/fixtures/master');
|
52 | assert.deepEqual(actual, expected);
|
53 | done();
|
54 | });
|
55 | });
|
56 |
|
57 | it('clones branches too', function(done) {
|
58 | download('github:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', { clone: true }, function(err) {
|
59 | if (err) return done(err);
|
60 | var actual = read('test/tmp', filter);
|
61 | var expected = read('test/fixtures/my-branch');
|
62 | assert.deepEqual(actual, expected);
|
63 | done();
|
64 | });
|
65 | });
|
66 |
|
67 | it('downloads branches with slashes', function(done) {
|
68 | download('github:flipxfx/download-git-repo-fixture#my/branch/with/slashes', 'test/tmp', function(err) {
|
69 | if (err) return done(err);
|
70 | var actual = read('test/tmp', filter);
|
71 | var expected = read('test/fixtures/my-branch-with-slashes');
|
72 | assert.deepEqual(actual, expected);
|
73 | done();
|
74 | });
|
75 | });
|
76 | });
|
77 |
|
78 | describe('via gitlab', function() {
|
79 | it('downloads the master branch by default', function(done) {
|
80 | download('gitlab:flipxfx/download-git-repo-fixture', 'test/tmp', function(err) {
|
81 | if (err) return done(err);
|
82 | var actual = read('test/tmp', filter);
|
83 | var expected = read('test/fixtures/master');
|
84 | assert.deepEqual(actual, expected);
|
85 | done();
|
86 | });
|
87 | });
|
88 |
|
89 | it('downloads branches too', function(done) {
|
90 | download('gitlab:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', function(err) {
|
91 | if (err) return done(err);
|
92 | var actual = read('test/tmp', filter);
|
93 | var expected = read('test/fixtures/my-branch');
|
94 | assert.deepEqual(actual, expected);
|
95 | done();
|
96 | });
|
97 | });
|
98 |
|
99 | it('clones the master branch by default', function(done) {
|
100 | download('gitlab:flipxfx/download-git-repo-fixture', 'test/tmp', { clone: true }, function(err) {
|
101 | if (err) return done(err);
|
102 | var actual = read('test/tmp', filter);
|
103 | var expected = read('test/fixtures/master');
|
104 | assert.deepEqual(actual, expected);
|
105 | done();
|
106 | });
|
107 | });
|
108 |
|
109 | it('clones branches too', function(done) {
|
110 | download('gitlab:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', { clone: true }, function(err) {
|
111 | if (err) return done(err);
|
112 | var actual = read('test/tmp', filter);
|
113 | var expected = read('test/fixtures/my-branch');
|
114 | assert.deepEqual(actual, expected);
|
115 | done();
|
116 | });
|
117 | });
|
118 | });
|
119 |
|
120 | describe('via bitbucket', function() {
|
121 | it('downloads the master branch by default', function(done) {
|
122 | download('bitbucket:flipxfx/download-git-repo-fixture', 'test/tmp', function(err) {
|
123 | if (err) return done(err);
|
124 | var actual = read('test/tmp', filter);
|
125 | var expected = read('test/fixtures/master');
|
126 | assert.deepEqual(actual, expected);
|
127 | done();
|
128 | });
|
129 | });
|
130 |
|
131 | it('downloads branches too', function(done) {
|
132 | download('bitbucket:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', function(err) {
|
133 | if (err) return done(err);
|
134 | var actual = read('test/tmp', filter);
|
135 | var expected = read('test/fixtures/my-branch');
|
136 | assert.deepEqual(actual, expected);
|
137 | done();
|
138 | });
|
139 | });
|
140 |
|
141 | it('clones the master branch by default', function(done) {
|
142 | download('bitbucket:flipxfx/download-git-repo-fixture', 'test/tmp', { clone: true }, function(err) {
|
143 | if (err) return done(err);
|
144 | var actual = read('test/tmp', filter);
|
145 | var expected = read('test/fixtures/master');
|
146 | assert.deepEqual(actual, expected);
|
147 | done();
|
148 | });
|
149 | });
|
150 |
|
151 | it('clones branches too', function(done) {
|
152 | download('bitbucket:flipxfx/download-git-repo-fixture#my-branch', 'test/tmp', { clone: true }, function(err) {
|
153 | if (err) return done(err);
|
154 | var actual = read('test/tmp', filter);
|
155 | var expected = read('test/fixtures/my-branch');
|
156 | assert.deepEqual(actual, expected);
|
157 | done();
|
158 | });
|
159 | });
|
160 | });
|
161 | });
|