Navigation Menu

Skip to content

Commit

Permalink
test: adjust actual and expected order to chai style
Browse files Browse the repository at this point in the history
assert.XXX(expected, actual) ->
assert.XXX(actual, expected)
  • Loading branch information
kou committed Aug 3, 2012
1 parent de66e50 commit 5098781
Showing 1 changed file with 49 additions and 48 deletions.
97 changes: 49 additions & 48 deletions test/bq-translator.test.js
Expand Up @@ -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;
Expand All @@ -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();
Expand All @@ -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();
Expand All @@ -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");
});

0 comments on commit 5098781

Please sign in to comment.