thinkjs/test/config/transform.js
2016-01-02 15:11:43 +08:00

140 lines
4.7 KiB
JavaScript

var assert = require('assert');
var path = require('path');
var fs = require('fs');
var muk = require('muk');
var Index = require('../../lib/index.js');
var instance = new Index();
instance.load();
var Transform = think.safeRequire(path.resolve(__dirname, '../../lib/config/sys/transform.js'));
describe('config/transform', function(){
it('transform keys', function(){
var keys = Object.keys(Transform).sort();
assert.deepEqual(keys, [ 'cache', 'create_server', 'deny_module_list', 'output_content', 'post', 'session', 'subdomain' ])
})
it('post/json_content_type is function', function(){
assert.equal(think.isFunction(Transform.post.json_content_type), true)
})
it('post/json_content_type transform to array', function(){
var data = Transform.post.json_content_type('welefen')
assert.deepEqual(data, ['welefen'])
})
it('post/json_content_type error', function(){
try{
var data = Transform.post.json_content_type(11212);
assert.equal(1, 2)
}catch(e){
}
})
it('post/json_content_type array', function(){
var data = Transform.post.json_content_type(['javascript/json', 'suredy'])
assert.deepEqual(data, ['javascript/json', 'suredy'])
})
it('cache/type', function(){
assert.equal(Transform.cache.type('WELEFEN'), 'welefen')
})
it('cache/type', function(){
assert.equal(Transform.cache.type('welefen'), 'welefen')
})
it('session/type', function(){
assert.equal(Transform.session.type('welefen'), 'welefen')
})
// it('auto_reload_except string', function(){
// var data = Transform.auto_reload_except('welefen');
// assert.deepEqual(data, ['welefen'])
// })
// it('auto_reload_except array', function(){
// var data = Transform.auto_reload_except(['welefen', 'suredy']);
// assert.deepEqual(data, ['welefen', 'suredy'])
// })
// it('auto_reload_except windows platform', function(){
// var data = Transform.auto_reload_except(['welefen', 'suredy/welefen']);
// if(process.platform === 'win32'){
// assert.deepEqual(data, ['welefen', 'suredy\\welefen']);
// }else{
// assert.deepEqual(data, ['welefen', 'suredy/welefen']);
// }
// })
// it('html_cache/rules', function(){
// var data = Transform.html_cache.rules({welefen: 'suredy'});
// assert.deepEqual(data, {welefen: ['suredy']})
// })
// it('html_cache/rules', function(){
// var data = Transform.html_cache.rules({'home:group:detail': 'suredy'});
// assert.deepEqual(data, {'home/group/detail': ['suredy']})
// })
// it('html_cache/rules', function(){
// var fn = function(){}
// var data = Transform.html_cache.rules({'home:group:detail': ['suredy', fn]});
// assert.deepEqual(data, {'home/group/detail': ['suredy', 0, fn]})
// })
it('create_server undefined', function(){
var data = Transform.create_server();
assert.deepEqual(data, undefined)
})
it('create_server function', function(){
var a = function(){}
var data = Transform.create_server(a);
assert.deepEqual(data, a)
})
it('create_server string, not found', function(){
try{
var data = Transform.create_server('create_server_not_found');
assert.equal(1, 2)
}catch(e){
}
})
it('create_server function', function(){
global.createServerFnXX = function(){}
var data = Transform.create_server('createServerFnXX');
assert.deepEqual(data, createServerFnXX);
delete global.createServerFnXX;
})
it('output_content', function(){
var data = Transform.output_content();
assert.deepEqual(data, undefined)
})
// it('error.callback', function(){
// var data = Transform.error.callback();
// assert.deepEqual(data, undefined)
// })
it('deny_module_list string', function(){
var data = Transform.deny_module_list('welefen');
assert.deepEqual(data, ['welefen'])
})
it('deny_module_list, not array', function(){
try{
var data = Transform.deny_module_list(1212);
assert.equal(1, 2)
}catch(e){
}
})
it('deny_module_list array', function(){
var data = Transform.deny_module_list(['welefen']);
assert.deepEqual(data, ['welefen'])
})
it('subdomain string', function(){
var data = Transform.subdomain('www.welefen.com');
assert.deepEqual(data, {value: 'www.welefen.com'})
})
it('subdomain array', function(){
var data = Transform.subdomain(['www.welefen.com']);
assert.deepEqual(data, {'www.welefen.com': 'www.welefen.com'})
})
it('subdomain, number', function(){
try{
var data = Transform.subdomain(1212);
assert.equal(1, 2)
}catch(e){
}
})
it('subdomain object', function(){
var data = Transform.subdomain({name: 'welefen'});
assert.deepEqual(data, {name: 'welefen'})
})
})