rrestjs
Version:
HIgh performance node.js ROA & RESTFUL web framework.
166 lines (144 loc) • 4.4 kB
JavaScript
/*
基本测试,jade 模版 测试 例子
*/
var should = require('should');
var request = require('request');
var path = require('path');
var testconf = require('./testconf.js');
module.exports.rrestjsconfig = {
listenPort:3000,
tempSet:'jade',
tempFolder :'/static',
baseDir: path.join(__dirname),
};
var chtml='';
var dhtml = '';
var fhtml = '';
var http = require('http'),
rrest = require('../'),
i=0,
server = http.createServer(function (req, res) {
var pname = req.pathname;
if(pname === '/a'){
res.render('/jade');
}
else if(pname === '/b'){
res.render('/jade.jade', {"name":'hello world'});
}
else if(pname === '/c'){
res.render('/jade.jade',function(err, html){
chtml = html;
});
}
else if(pname === '/d'){
res.render('/jade', {"name":'hello world'}, function(err, html){
dhtml = html;
});
}
else if(pname === '/e'){
res.render('/jade.jade', 1, {"usersex":'hello world'});
}
else if(pname === '/f'){
res.render('/jade.jade', 2, {}, function(err, html){
fhtml = html;
});
}
else if(pname === '/g'){
res.compiletemp('/jade', function(err, html){
res.sendjson({'data':html});
});
}
else if(pname === '/h'){
res.compiletemp('/jade.jade', 3, {"name":'hello world'}, function(err, html){
res.sendjson({'data':html});
});
}
}).listen(rrest.config.listenPort);
//设置全局的模版option
rrest.tploption.userid = function(req,res){return req.ip};
rrest.tploption.name = 'rrestjs default';
rrest.tploption.usersex = 'male';
http.globalAgent.maxSockets = 10;
var i = 8;
var r = 0
var result = function(name){
var num = ++r;
console.log('%s test done, receive %d/%d', name, num, i);
if(num>=i){
console.log('jade.js test done.')
process.exit();
}
}
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/a',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'rrestjs default\n'+testconf.hostname+'\nmale\n<form></form>')
result('/a request')
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/b',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'hello world\n'+testconf.hostname+'\nmale\n<form></form>')
result('/b request')
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/c',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'rrestjs default\n'+testconf.hostname+'\nmale\n<form></form>');
setTimeout(function(){
should.strictEqual(chtml, 'rrestjs default\n'+testconf.hostname+'\nmale\n<form></form>');
result('/c request')
},100)
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/d',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'hello world\n'+testconf.hostname+'\nmale\n<form></form>');
setTimeout(function(){
should.strictEqual(dhtml, 'hello world\n'+testconf.hostname+'\nmale\n<form></form>');
result('/d request')
},100)
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/e',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'rrestjs default\n'+testconf.hostname+'\nhello world\n<form></form>');
result('/e request')
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/f',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, 'rrestjs default\n'+testconf.hostname+'\nmale\n<form></form>');
setTimeout(function(){
should.strictEqual(fhtml, 'rrestjs default\n'+testconf.hostname+'\nmale\n<form></form>');
result('/f request')
},100)
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/g',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, '{\"data\":\"rrestjs default\\n'+testconf.hostname+'\\nmale\\n<form></form>\"}');
result('/g request')
});
request({
method:'get',
uri:'http://'+testconf.hostname+':3000/h',
}, function(error, res, body){
should.strictEqual(res.statusCode, 200);
should.strictEqual(body, '{\"data\":\"hello world\\n'+testconf.hostname+'\\nmale\\n<form></form>\"}');
result('/h request')
});