UNPKG

5.71 kBJavaScriptView Raw
1var assert = require('assert');
2var download = require('..');
3var read = require('fs-readdir-recursive');
4var rm = require('rimraf').sync;
5
6describe('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});