Skip to content

Commit 3c2f172

Browse files
committed
Shuffling things around
1 parent a7e0c65 commit 3c2f172

13 files changed

Lines changed: 98 additions & 157 deletions

appveyor.yml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
1+
init:
2+
- git config --global core.autocrlf true
13
environment:
24
matrix:
3-
- nodejs_version: '4.2'
4-
- nodejs_version: '0.12'
55
- nodejs_version: '0.10'
6+
- nodejs_version: '0.12'
7+
- nodejs_version: '1.0'
8+
- nodejs_version: '4.2'
9+
- nodejs_version: '5'
10+
platform:
11+
- x86
12+
- x64
613
install:
7-
- ps: Install-Product node :nodejs_version
8-
- set CI=true
14+
- ps: Install-Product node $env:nodejs_version $env:platform
15+
- npm -g install npm@2
16+
- set PATH=%APPDATA%\npm;%PATH%
917
- npm install
10-
matrix:
11-
fast_finish: true
12-
build: off
13-
version: '{build}'
14-
shallow_clone: true
15-
clone_depth: 1
1618
test_script:
19+
- node --version
20+
- npm --version
1721
- npm run test
22+
build: off

test/common.js

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
var fs = require('fs');
22
var path = require('path');
3+
var assert = require('assert');
4+
var fake = require('fake');
35

46
var common = module.exports;
57

@@ -10,8 +12,10 @@ common.dir = {
1012
tmp: path.join(rootDir, '/test/tmp')
1113
};
1214

13-
common.assert = require('assert');
14-
common.fake = require('fake');
15+
common.defaultTypeValue = function() { return new Buffer([1, 2, 3]); };
16+
17+
common.assert = assert;
18+
common.fake = fake;
1519

1620
common.port = 8432;
1721

@@ -21,3 +25,39 @@ common.httpsPort = 9443;
2125
// store server cert in common for later reuse, because self-signed
2226
common.httpsServerKey = fs.readFileSync(path.join(__dirname, './fixture/key.pem'));
2327
common.httpsServerCert = fs.readFileSync(path.join(__dirname, './fixture/cert.pem'));
28+
29+
// Actions
30+
31+
common.actions = {};
32+
33+
// generic form submit
34+
common.actions.submit = function(form, server)
35+
{
36+
return form.submit('http://localhost:' + common.port + '/', function(err, res) {
37+
38+
if (err) {
39+
throw err;
40+
}
41+
42+
assert.strictEqual(res.statusCode, 200);
43+
44+
// unstuck new streams
45+
res.resume();
46+
47+
server.close();
48+
});
49+
};
50+
51+
52+
common.actions.formOnFile = function(FIELDS, name, file) {
53+
assert.ok(name in FIELDS);
54+
var field = FIELDS[name];
55+
assert.strictEqual(file.name, path.basename(field.value.path));
56+
assert.strictEqual(file.type, field.type);
57+
};
58+
59+
// after form has finished parsing
60+
common.actions.formOnEnd = function(res) {
61+
res.writeHead(200);
62+
res.end('done');
63+
};

test/integration/test-custom-content-type.js

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var FIELDS = {
2121
},
2222
'default_type': {
2323
expectedType: FormData.DEFAULT_CONTENT_TYPE,
24-
value: function() { return new Buffer([1, 2, 3]); }
24+
value: common.defaultTypeValue
2525
},
2626
'implicit_type': {
2727
expectedType: mime.lookup(common.dir.fixture + '/unicycle.jpg'),
@@ -81,22 +81,23 @@ server.listen(common.port, function() {
8181
}
8282

8383
// custom params object passed to submit
84-
form.submit({
85-
port: common.port,
86-
path: '/'
87-
}, function(err, res) {
88-
89-
if (err) {
90-
throw err;
91-
}
92-
93-
assert.strictEqual(res.statusCode, 200);
94-
95-
// unstuck new streams
96-
res.resume();
97-
98-
server.close();
99-
});
84+
common.actions.submit(form, server);
85+
// form.submit({
86+
// port: common.port,
87+
// path: '/'
88+
// }, function(err, res) {
89+
//
90+
// if (err) {
91+
// throw err;
92+
// }
93+
//
94+
// assert.strictEqual(res.statusCode, 200);
95+
//
96+
// // unstuck new streams
97+
// res.resume();
98+
//
99+
// server.close();
100+
// });
100101

101102
});
102103

test/integration/test-custom-filename.js

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,5 @@ server.listen(common.port, function() {
6666
// No options or implicit file type from extension.
6767
form.append('unknown_everything', fs.createReadStream(unknownFile));
6868

69-
form.submit('http://localhost:' + common.port + '/', function(err, res) {
70-
if (err) {
71-
throw err;
72-
}
73-
74-
assert.strictEqual(res.statusCode, 200);
75-
76-
// unstuck new streams
77-
res.resume();
78-
79-
server.close();
80-
});
81-
69+
common.actions.submit(form, server);
8270
});

test/integration/test-custom-headers.js

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -50,17 +50,5 @@ server.listen(common.port, function() {
5050
// (available to req handler)
5151
expectedLength = form._lastBoundary().length + form._overheadLength + options.knownLength;
5252

53-
form.submit('http://localhost:' + common.port + '/', function(err, res) {
54-
if (err) {
55-
throw err;
56-
}
57-
58-
assert.strictEqual(res.statusCode, 200);
59-
60-
// unstuck new streams
61-
res.resume();
62-
63-
server.close();
64-
});
65-
53+
common.actions.submit(form, server);
6654
});

test/integration/test-http-response.js

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,7 @@ http.request(options, function(response) {
3636
});
3737

3838
server.listen(common.port, function() {
39-
40-
form.submit('http://localhost:' + common.port + '/', function(err, res) {
41-
if (err) { throw err; }
42-
43-
assert.strictEqual(res.statusCode, 200);
44-
45-
// unstuck new streams
46-
res.resume();
47-
48-
server.close();
49-
});
50-
39+
common.actions.submit(form, server);
5140
});
5241

5342
}).end();
@@ -72,10 +61,7 @@ server = http.createServer(function(req, res) {
7261
assert.strictEqual(file.name, path.basename(field.value.path || remoteFile));
7362
assert.strictEqual(file.type, mime.lookup(file.name));
7463
})
75-
.on('end', function() {
76-
res.writeHead(200);
77-
res.end('done');
78-
});
64+
.on('end', common.actions.formOnEnd.bind(null, res));
7965
});
8066

8167

test/integration/test-last_boundary-line_break.js

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,7 @@ function submitForm() {
1313

1414
form.append('field', 'value');
1515

16-
form.submit('http://localhost:' + common.port + '/', function(err, res) {
17-
18-
if (err) {
19-
throw err;
20-
}
21-
22-
assert.strictEqual(res.statusCode, 200);
23-
24-
// unstuck new streams
25-
res.resume();
26-
27-
server.close();
28-
});
16+
common.actions.submit(form, server);
2917
}
3018

3119
// create https server

test/integration/test-pipe.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
var common = require('../common');
22
var assert = common.assert;
33
var http = require('http');
4-
var path = require('path');
54
var mime = require('mime-types');
65
var request = require('request');
76
var fs = require('fs');
@@ -19,7 +18,7 @@ var FIELDS = {
1918
},
2019
'my_buffer': {
2120
type: FormData.DEFAULT_CONTENT_TYPE,
22-
value: function() { return new Buffer([1, 2, 3]); }
21+
value: common.defaultTypeValue
2322
},
2423
'my_file': {
2524
type: mime.lookup(common.dir.fixture + '/unicycle.jpg'),
@@ -47,15 +46,9 @@ var server = http.createServer(function(req, res) {
4746
})
4847
.on('file', function(name, file) {
4948
fieldsPassed--;
50-
assert.ok(name in FIELDS);
51-
var field = FIELDS[name];
52-
assert.strictEqual(file.name, path.basename(field.value.path));
53-
assert.strictEqual(file.type, field.type);
49+
common.actions.formOnFile(FIELDS, name, file);
5450
})
55-
.on('end', function() {
56-
res.writeHead(200);
57-
res.end('done');
58-
});
51+
.on('end', common.actions.formOnEnd.bind(null, res));
5952
});
6053

6154
server.listen(common.port, function() {

test/integration/test-request.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,7 @@ var server = http.createServer(function(req, res) {
5050
assert.strictEqual(file.name, path.basename(fileName));
5151
assert.strictEqual(file.type, mime.lookup(file.name));
5252
})
53-
.on('end', function() {
54-
res.writeHead(200);
55-
res.end('done');
56-
});
53+
.on('end', common.actions.formOnEnd.bind(null, res));
5754
});
5855

5956
server.listen(common.port, function() {

test/integration/test-submit-custom-header.js

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
var common = require('../common');
22
var assert = common.assert;
33
var http = require('http');
4-
var path = require('path');
54
var mime = require('mime-types');
65
var request = require('request');
76
var fs = require('fs');
@@ -19,7 +18,7 @@ var FIELDS = {
1918
},
2019
'my_buffer': {
2120
type: FormData.DEFAULT_CONTENT_TYPE,
22-
value: function() { return new Buffer([1, 2, 3]); }
21+
value: common.defaultTypeValue
2322
},
2423
'my_file': {
2524
type: mime.lookup(common.dir.fixture + '/unicycle.jpg'),
@@ -48,15 +47,9 @@ var server = http.createServer(function(req, res) {
4847
})
4948
.on('file', function(name, file) {
5049
fieldsPassed--;
51-
assert.ok(name in FIELDS);
52-
var field = FIELDS[name];
53-
assert.strictEqual(file.name, path.basename(field.value.path));
54-
assert.strictEqual(file.type, field.type);
50+
common.actions.formOnFile(FIELDS, name, file);
5551
})
56-
.on('end', function() {
57-
res.writeHead(200);
58-
res.end('done');
59-
});
52+
.on('end', common.actions.formOnEnd.bind(null, res));
6053
});
6154

6255
server.listen(common.port, function() {
@@ -83,16 +76,12 @@ server.listen(common.port, function() {
8376
'x-test-header': 'test-header-value'
8477
}
8578
}, function(err, res) {
86-
87-
if (err) {
88-
throw err;
89-
}
79+
if (err) throw err;
9080

9181
assert.strictEqual(res.statusCode, 200);
9282

93-
// unstuck new streams
83+
// unstuck streams
9484
res.resume();
95-
9685
server.close();
9786
});
9887

0 commit comments

Comments
 (0)