diff --git a/lib/Lib/Core/Controller.js b/lib/Lib/Core/Controller.js index 41d40d1f..703a4705 100644 --- a/lib/Lib/Core/Controller.js +++ b/lib/Lib/Core/Controller.js @@ -7,16 +7,24 @@ var fs = require('fs'); var path = require('path'); var url = require('url'); var comparison = require('./Comparison.js'); +var utils = require('thinkjs-util'); var escapeComparison = function(value) { - if(!Array.isArray(value)) { - return value; + if(Array.isArray(value) && typeof value[0] === 'string') { + if(comparison.COMPARISON_LIST.indexOf(value[0].toUpperCase()) > -1) { + value[0] += ' '; + } } - if(typeof value[0] !== 'string') { - return value[0]; - } - if(comparison.COMPARISON_LIST.indexOf(value[0].toUpperCase()) > -1) { - value[0] += ' '; + if(utils.isObject(value)) { + var result = {}; + for(var key in value) { + if(comparison.COMPARISON_LIST.indexOf(key.toUpperCase()) > -1) { + result[key + ' '] = value[key]; + }else{ + result[key] = value[key]; + } + } + return result; } return value; } diff --git a/test/Lib/Core/Controller.js b/test/Lib/Core/Controller.js index 85782822..516a8389 100644 --- a/test/Lib/Core/Controller.js +++ b/test/Lib/Core/Controller.js @@ -255,6 +255,47 @@ describe('Controller', function(){ }) }) + it('instance.post("xxx") 2', function(done){ + promise.then(function(instance){ + //console.log(JSON.stringify(instance.get())); + instance.http.post.key222 = ['EXP ', 2]; + assert.deepEqual(instance.post('key222'), ['EXP ', 2]); + delete instance.http.post.key222; + done(); + }) + }) + it('instance.post("xxx") 3', function(done){ + promise.then(function(instance){ + //console.log(JSON.stringify(instance.get())); + instance.http.post.key333 = {EXP: 3} + assert.deepEqual(instance.post('key333'), {'EXP ': 3}); + delete instance.http.post.key333; + done(); + }) + }) + + it('instance.post("xxx") 4', function(done){ + promise.then(function(instance){ + //console.log(JSON.stringify(instance.get())); + instance.http.post.key333 = {EXP3: 3} + assert.deepEqual(instance.post('key333'), {'EXP3': 3}); + delete instance.http.post.key333; + done(); + }) + }) + + it('instance.post("xxx") 5', function(done){ + promise.then(function(instance){ + //console.log(JSON.stringify(instance.get())); + instance.http.post.key222 = ['EXP2', 2]; + assert.deepEqual(instance.post('key222'), ['EXP2', 2]); + delete instance.http.post.key222; + done(); + }) + }) + + + it('instance.param()', function(done){ promise.then(function(instance){ //console.log(instance.param())