null+****@clear*****
null+****@clear*****
2012年 8月 3日 (金) 21:31:56 JST
Kouhei Sutou 2012-08-03 21:31:56 +0900 (Fri, 03 Aug 2012) New Revision: 509878144dcb2fcedebd14106bc1cf0a3ac4450a https://github.com/groonga/gcs/commit/509878144dcb2fcedebd14106bc1cf0a3ac4450a Log: test: adjust actual and expected order to chai style assert.XXX(expected, actual) -> assert.XXX(actual, expected) Modified files: test/bq-translator.test.js Modified: test/bq-translator.test.js (+49 -48) =================================================================== --- test/bq-translator.test.js 2012-08-03 18:54:34 +0900 (7191a0b) +++ test/bq-translator.test.js 2012-08-03 21:31:56 +0900 (85c6ec3) @@ -5,15 +5,16 @@ var assert = require('chai').assert; var BooleanQueryTranslator = require('../lib/bq-translator').BooleanQueryTranslator; -function testQuery(label, expected, query) { +function testQuery(label, query, expected) { test('query: ' + label + ': ' + '<' + query + '> -> <' + expected + '>', function() { var translator = new BooleanQueryTranslator(); - assert.equal(expected, translator.translate(query, "field")); + assert.equal(translator.translate(query, "field"), + expected); }); } -function testQueryError(label, detail, context, query) { +function testQueryError(label, query, context, detail) { test('error: query: ' + label + ': ' + '<' + query + '>', function() { var translator = new BooleanQueryTranslator(); var actualError; @@ -29,7 +30,7 @@ function testQueryError(label, detail, context, query) { }); } -function testGroup(label, expectedScriptGrnExpr, expectedOffset, group) { +function testGroup(label, group, expectedOffset, expectedScriptGrnExpr) { test('gorup: ' + label + ': ' + '<' + group + '> -> <' + expectedScriptGrnExpr + '>', function() { var translator = new BooleanQueryTranslator(); @@ -39,18 +40,18 @@ function testGroup(label, expectedScriptGrnExpr, expectedOffset, group) { }; var actualScriptGrnExpr = translator.translateGroup(group, context); assert.deepEqual({ - scriptGrnExpr: expectedScriptGrnExpr, - offset: expectedOffset - }, - { scriptGrnExpr: actualScriptGrnExpr, offset: context.offset + }, + { + scriptGrnExpr: expectedScriptGrnExpr, + offset: expectedOffset }); }); } -function testExpression(label, expectedScriptGrnExpr, expectedOffset, - expression) { +function testExpression(label, expression, + expectedOffset, expectedScriptGrnExpr) { test('expression: ' + label + ': ' + '<' + expression + '> -> <' + expectedScriptGrnExpr + '>', function() { var translator = new BooleanQueryTranslator(); @@ -61,84 +62,84 @@ function testExpression(label, expectedScriptGrnExpr, expectedOffset, var actualScriptGrnExpr = translator.translateExpression(expression, context); assert.deepEqual({ - scriptGrnExpr: expectedScriptGrnExpr, - offset: expectedOffset - }, - { scriptGrnExpr: actualScriptGrnExpr, offset: context.offset + }, + { + scriptGrnExpr: expectedScriptGrnExpr, + offset: expectedOffset }); }); } suite('BoolanQueryTranslator', function() { testQuery("expression", - 'type @ "ModelName"', - "type:'ModelName'"); + "type:'ModelName'", + 'type @ "ModelName"'); testQuery("group: raw expressions", - '(field1 @ "keyword1" && field2 @ "keyword2" && type @ "ModelName")', - "(and field1:'keyword1' field2:'keyword2' type:'ModelName')"); + "(and field1:'keyword1' field2:'keyword2' type:'ModelName')", + '(field1 @ "keyword1" && field2 @ "keyword2" && type @ "ModelName")'); testQuery("group: quoted expression", - '(field @ "keyword1" && field @ "keyword2" && type @ "ModelName")', - "(and 'keyword1 keyword2' type:'ModelName')"); + "(and 'keyword1 keyword2' type:'ModelName')", + '(field @ "keyword1" && field @ "keyword2" && type @ "ModelName")'); testQueryError("garbage", - "garbages exist after valid boolean query", + "(and 'keyword' type:'ModelName') garbage1 garbage2", "(and 'keyword' type:'ModelName')| |garbage1 garbage2", - "(and 'keyword' type:'ModelName') garbage1 garbage2"); + "garbages exist after valid boolean query"); testGroup("field", - "field1 @ \"keyword1\"", + "(field field1 'keyword1') (other group)", "(field field1 'keyword1')".length, - "(field field1 'keyword1') (other group)"); + "field1 @ \"keyword1\""); testGroup("filter", - "field1 == 29", + "(filter field1 29) (other group)", "(filter field1 29)".length, - "(filter field1 29) (other group)"); + "field1 == 29"); testGroup("and", - "(field1 @ \"keyword1\" && field2 @ \"keyword2\")", + "(and field1:'keyword1' field2:'keyword2') (other group)", "(and field1:'keyword1' field2:'keyword2')".length, - "(and field1:'keyword1' field2:'keyword2') (other group)"); + "(field1 @ \"keyword1\" && field2 @ \"keyword2\")"); testGroup("or", - "(field1 @ \"keyword1\" || field2 @ \"keyword2\")", + "(or field1:'keyword1' field2:'keyword2') (other group)", "(or field1:'keyword1' field2:'keyword2')".length, - "(or field1:'keyword1' field2:'keyword2') (other group)"); + "(field1 @ \"keyword1\" || field2 @ \"keyword2\")"); testGroup("nested", - "((f1 @ \"k1\" || f2 @ \"k2\") && f3 @ \"k3\")", + "(and (or f1:'k1' f2:'k2') f3:'k3') (other group)", "(and (or f1:'k1' f2:'k2') f3:'k3')".length, - "(and (or f1:'k1' f2:'k2') f3:'k3') (other group)"); + "((f1 @ \"k1\" || f2 @ \"k2\") && f3 @ \"k3\")"); testExpression("value only: stirng: keywords", - "field @ \"keyword1\" && field @ \"keyword2\"", + "'keyword1 keyword2' 'other keyword'", "'keyword1 keyword2'".length, - "'keyword1 keyword2' 'other keyword'"); + "field @ \"keyword1\" && field @ \"keyword2\""); testExpression("value only: stirng: phrase", - "field @ \"keyword1 keyword2\"", + "'\"keyword1 keyword2\"' 'other keyword'", "'\"keyword1 keyword2\"'".length, - "'\"keyword1 keyword2\"' 'other keyword'"); + "field @ \"keyword1 keyword2\""); testExpression("value only: unsigned integer", - "field == 29", + "29 75", "29".length, - "29 75"); + "field == 29"); testExpression("value only: unsigned integer range: min only", - "field >= 29", + "29.. 75", "29..".length, - "29.. 75"); + "field >= 29"); testExpression("value only: unsigned integer range: max only", - "field <= 29", + "..29 75", "..29".length, - "..29 75"); + "field <= 29"); testExpression("value only: unsigned integer range: min and max", - "(field >= 14 && field <= 29)", + "14..29 75", "14..29".length, - "14..29 75"); + "(field >= 14 && field <= 29)"); testExpression("field value: string", - "field1 @ \"keyword1\" && field1 @ \"keyword2\"", + "field1:'keyword1 keyword2' field2:'other keyword'", "field1:'keyword1 keyword2'".length, - "field1:'keyword1 keyword2' field2:'other keyword'"); + "field1 @ \"keyword1\" && field1 @ \"keyword2\""); testExpression("field value: unsigned integer", - "field1 == 29", + "field1:29 field2:75", "field1:29".length, - "field1:29 field2:75"); + "field1 == 29"); }); -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... Download