Navigation Menu

Skip to content

Commit

Permalink
bq: defaultFields -> defaultFieldNames
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Aug 14, 2012
1 parent c505916 commit 259e90a
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 30 deletions.
8 changes: 4 additions & 4 deletions lib/bq-translator.js
Expand Up @@ -17,7 +17,7 @@
function BooleanQueryTranslator(query) {
this.query = query;
this.offset = 0;
this.defaultFields = null;
this.defaultFieldNames = null;
}

BooleanQueryTranslator.prototype = {
Expand Down Expand Up @@ -342,13 +342,13 @@ BooleanQueryTranslator.prototype = {
if (field) {
return field + " " + operator + " " + value;
} else {
if (!this.defaultFields) {
if (!this.defaultFieldNames) {
this.throwTranslateError("default fields are missing");
}
if (this.defaultFields.length == 0) {
if (this.defaultFieldNames.length == 0) {
this.throwTranslateError("no default field");
}
var expressions = this.defaultFields.map(function (field) {
var expressions = this.defaultFieldNames.map(function (field) {
return this.constructBinaryOperation(field, operator, value);
}, this);
if (expressions.length > 1) {
Expand Down
54 changes: 28 additions & 26 deletions test/bq-translator.test.js
Expand Up @@ -9,7 +9,7 @@ function testQuery(label, query, expected) {
test('query: ' + label + ': ' +
'<' + query + '> -> <' + expected + '>', function() {
var translator = new BooleanQueryTranslator(query);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
assert.equal(translator.translate(),
expected);
});
Expand All @@ -18,7 +18,7 @@ function testQuery(label, query, expected) {
function testQueryError(label, query, context, detail) {
test('error: query: ' + label + ': ' + '<' + query + '>', function() {
var translator = new BooleanQueryTranslator(query);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
var actualError;
assert.throw(function() {
try {
Expand All @@ -36,7 +36,7 @@ function testGroup(label, group, expectedOffset, expectedScriptGrnExpr) {
test('gorup: ' + label + ': ' +
'<' + group + '> -> <' + expectedScriptGrnExpr + '>', function() {
var translator = new BooleanQueryTranslator(group);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
var actualScriptGrnExpr = translator.translateGroup();
assert.deepEqual({
scriptGrnExpr: actualScriptGrnExpr,
Expand All @@ -52,7 +52,7 @@ function testGroup(label, group, expectedOffset, expectedScriptGrnExpr) {
function testGroupError(label, group, context, detail) {
test('error: group: ' + label + ': ' + '<' + group + '>', function() {
var translator = new BooleanQueryTranslator(group);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
var actualError;
assert.throw(function() {
try {
Expand All @@ -71,7 +71,7 @@ function testExpression(label, expression,
test('expression: ' + label + ': ' +
'<' + expression + '> -> <' + expectedScriptGrnExpr + '>', function() {
var translator = new BooleanQueryTranslator(expression);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
var actualScriptGrnExpr =
translator.translateExpression();
assert.deepEqual({
Expand All @@ -89,7 +89,7 @@ function testExpressionError(label, expression, context, detail) {
test('error: expression: ' + label + ': ' + '<' + expression + '>',
function() {
var translator = new BooleanQueryTranslator(expression);
translator.defaultFields = ["field"];
translator.defaultFieldNames = ["field"];
var actualError;
assert.throw(function() {
try {
Expand All @@ -103,20 +103,22 @@ function testExpressionError(label, expression, context, detail) {
});
}

function testDefaultFields(label, query, defaultFields, expected) {
test('defaultFields: ' + label + ': ' +
function testDefaultFieldNames(label, query, defaultFieldNames, expected) {
test('default field names: ' + label + ': ' +
'<' + query + '> -> <' + expected + '>', function() {
var translator = new BooleanQueryTranslator(query);
translator.defaultFields = defaultFields;
translator.defaultFieldNames = defaultFieldNames;
assert.equal(translator.translate(),
expected);
});
}

function testDefaultFieldsError(label, query, defaultFields, context, detail) {
test('error: defaultFields: ' + label + ': ' + '<' + query + '>', function() {
function testDefaultFieldNamesError(label, query, defaultFieldNames,
context, detail) {
test('error: default field names: ' + label + ': ' + '<' + query + '>',
function() {
var translator = new BooleanQueryTranslator(query);
translator.defaultFields = defaultFields;
translator.defaultFieldNames = defaultFieldNames;
var actualError;
assert.throw(function() {
try {
Expand Down Expand Up @@ -315,18 +317,18 @@ suite('BoolanQueryTranslator', function() {
"..||",
"both min and max are missing");

testDefaultFields("multi",
"'ModelName'",
["type", "name"],
'(type @ "ModelName" || name @ "ModelName")');
testDefaultFieldsError("null",
"'ModelName'",
null,
"'ModelName'||",
"default fields are missing");
testDefaultFieldsError("empty",
"'ModelName'",
[],
"'ModelName'||",
"no default field");
testDefaultFieldNames("multi",
"'ModelName'",
["type", "name"],
'(type @ "ModelName" || name @ "ModelName")');
testDefaultFieldNamesError("null",
"'ModelName'",
null,
"'ModelName'||",
"default fields are missing");
testDefaultFieldNamesError("empty",
"'ModelName'",
[],
"'ModelName'||",
"no default field");
});

0 comments on commit 259e90a

Please sign in to comment.