null+****@clear*****
null+****@clear*****
2012年 7月 27日 (金) 15:15:22 JST
Kouhei Sutou 2012-07-27 15:15:22 +0900 (Fri, 27 Jul 2012) New Revision: 52abdbcb8557b0c765e8d1fcfd284e93d40b1fc6 https://github.com/groonga/gcs/commit/52abdbcb8557b0c765e8d1fcfd284e93d40b1fc6 Log: BqTranslator: support unsigned integer value Modified files: lib/bq-translator.js test/bq-translator.test.js Modified: lib/bq-translator.js (+14 -0) =================================================================== --- lib/bq-translator.js 2012-07-27 15:11:43 +0900 (4d4598f) +++ lib/bq-translator.js 2012-07-27 15:15:22 +0900 (851146b) @@ -21,6 +21,9 @@ BooleanQueryTranslator.prototype = { if (query[context.offset] == "'") { return this.translateExpressionValueString(query, context); } + if (/^[0-9]/.test(query[context.offset])) { + return this.translateExpressionValueUnsignedInteger(query, context); + } return ""; }, translateExpressionValueString: function(query, context) { @@ -46,6 +49,17 @@ BooleanQueryTranslator.prototype = { } return value; }, + translateExpressionValueUnsignedInteger: function(query, context) { + var value = ""; + for (; context.offset < query.length; context.offset++) { + var character = query[context.offset]; + if (!/^[0-9]$/.test(character)) { + break; + } + value += character; + } + return value; + }, translateTinia: function(query) { var matched = null; Modified: test/bq-translator.test.js (+4 -0) =================================================================== --- test/bq-translator.test.js 2012-07-27 15:11:43 +0900 (b45d375) +++ test/bq-translator.test.js 2012-07-27 15:15:22 +0900 (9df5032) @@ -47,4 +47,8 @@ suite('BoolanQueryTranslator', function() { "keyword1 keyword2", "'keyword1 keyword2'".length, "'keyword1 keyword2' 'other keyword'"); + testExpression("value only: unsigned integer", + "29", + "29".length, + "29 29"); }) -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...下载