Skip to content

Commit f64a4c3

Browse files
authored
Merge pull request #265 from trierra/code-duplicates-fix
Boilerplate code rediction
2 parents 6cb7e99 + aa99246 commit f64a4c3

4 files changed

Lines changed: 40 additions & 47 deletions

File tree

test/common.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ var path = require('path');
33
var assert = require('assert');
44
var fake = require('fake');
55
var mime = require('mime-types');
6+
var http = require('http');
7+
var IncomingForm = require('formidable').IncomingForm;
68

79
var common = module.exports;
810

@@ -13,7 +15,9 @@ common.dir = {
1315
tmp: path.join(rootDir, '/test/tmp')
1416
};
1517

16-
common.defaultTypeValue = function() { return new Buffer([1, 2, 3]); };
18+
common.defaultTypeValue = function () {
19+
return new Buffer([1, 2, 3]);
20+
};
1721

1822
common.assert = assert;
1923
common.fake = fake;
@@ -27,6 +31,25 @@ common.httpsPort = 9443;
2731
common.httpsServerKey = fs.readFileSync(path.join(__dirname, './fixture/key.pem'));
2832
common.httpsServerCert = fs.readFileSync(path.join(__dirname, './fixture/cert.pem'));
2933

34+
common.testFields = function (FIELDS, callback) {
35+
36+
var fieldsPassed = Object.keys(FIELDS).length;
37+
38+
return http.createServer(function (req, res) {
39+
40+
var incomingForm = new IncomingForm({uploadDir: common.dir.tmp});
41+
42+
incomingForm.parse(req);
43+
44+
common.actions.checkForm(incomingForm, FIELDS, function (fieldsChecked) {
45+
// keep track of number of the processed fields
46+
callback(fieldsPassed - fieldsChecked);
47+
// finish it
48+
common.actions.formOnEnd(res);
49+
});
50+
});
51+
};
52+
3053
// Actions
3154

3255
common.actions = {};

test/integration/test-http-response.js

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ var assert = common.assert;
33
var http = require('http');
44
var parseUrl = require('url').parse;
55
var FormData = require(common.dir.lib + '/form_data');
6-
var IncomingForm = require('formidable').IncomingForm;
76

87
// static server prepared for all tests
98
var remoteFile = 'http://localhost:' + common.staticPort + '/unicycle.jpg';
@@ -31,8 +30,6 @@ var FIELDS = {
3130
name: remoteFile
3231
}
3332
};
34-
// count total
35-
var fieldsPassed = Object.keys(FIELDS).length;
3633

3734
// request static file
3835
http.request(options, function(response) {
@@ -50,20 +47,12 @@ http.request(options, function(response) {
5047

5148
}).end();
5249

53-
// prepare form-receiving http server
54-
server = http.createServer(function(req, res) {
55-
56-
var form = new IncomingForm({uploadDir: common.dir.tmp});
57-
58-
form.parse(req);
50+
// count total
51+
var fieldsPassed = Object.keys(FIELDS).length;
5952

60-
common.actions.checkForm(form, FIELDS, function(fieldsChecked)
61-
{
62-
// keep track of number of the processed fields
63-
fieldsPassed = fieldsPassed - fieldsChecked;
64-
// finish it
65-
common.actions.formOnEnd(res);
66-
});
53+
// prepare form-receiving http server
54+
server = common.testFields(FIELDS, function(fields){
55+
fieldsPassed = fields;
6756
});
6857

6958

test/integration/test-submit-custom.js

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
var common = require('../common');
22
var assert = common.assert;
3-
var http = require('http');
43
var mime = require('mime-types');
54
var request = require('request');
65
var fs = require('fs');
76
var FormData = require(common.dir.lib + '/form_data');
8-
var IncomingForm = require('formidable').IncomingForm;
97

108
var remoteFile = 'http://localhost:' + common.staticPort + '/unicycle.jpg';
119

@@ -28,21 +26,13 @@ var FIELDS = {
2826
value: function() { return request(remoteFile); }
2927
}
3028
};
31-
var fieldsPassed = Object.keys(FIELDS).length;
32-
33-
var server = http.createServer(function(req, res) {
34-
35-
var form = new IncomingForm({uploadDir: common.dir.tmp});
3629

37-
form.parse(req);
30+
// count total
31+
var fieldsPassed = Object.keys(FIELDS).length;
3832

39-
common.actions.checkForm(form, FIELDS, function(fieldsChecked)
40-
{
41-
// keep track of number of the processed fields
42-
fieldsPassed = fieldsPassed - fieldsChecked;
43-
// finish it
44-
common.actions.formOnEnd(res);
45-
});
33+
// prepare form-receiving http server
34+
var server = common.testFields(FIELDS, function(fields){
35+
fieldsPassed = fields;
4636
});
4737

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

test/integration/test-submit.js

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
var common = require('../common');
22
var assert = common.assert;
3-
var http = require('http');
43
var mime = require('mime-types');
54
var request = require('request');
65
var fs = require('fs');
76
var FormData = require(common.dir.lib + '/form_data');
8-
var IncomingForm = require('formidable').IncomingForm;
97

108
var remoteFile = 'http://localhost:' + common.staticPort + '/unicycle.jpg';
119

@@ -28,23 +26,16 @@ var FIELDS = {
2826
value: function() { return request(remoteFile); }
2927
}
3028
};
31-
var fieldsPassed = Object.keys(FIELDS).length;
32-
33-
var server = http.createServer(function(req, res) {
34-
35-
var form = new IncomingForm({uploadDir: common.dir.tmp});
3629

37-
form.parse(req);
30+
// count total
31+
var fieldsPassed = Object.keys(FIELDS).length;
3832

39-
common.actions.checkForm(form, FIELDS, function(fieldsChecked)
40-
{
41-
// keep track of number of the processed fields
42-
fieldsPassed = fieldsPassed - fieldsChecked;
43-
// finish it
44-
common.actions.formOnEnd(res);
45-
});
33+
// prepare form-receiving http server
34+
var server = common.testFields( FIELDS, function(fields){
35+
fieldsPassed = fields;
4636
});
4737

38+
4839
server.listen(common.port, function() {
4940

5041
var form = new FormData();

0 commit comments

Comments
 (0)