Просмотр исходного кода

REFS DEVOPS-243 Fixed DayOfMonthExpression #getFactory() - not longer needed

David Aebersold 12 лет назад
Родитель
Сommit
bf312e9e13

+ 18 - 13
lib/pipeline/expressions/DayOfMonthExpression.js

@@ -7,29 +7,34 @@
  * @module mungedb-aggregate
  * @constructor
  **/
-var DayOfMonthExpression = module.exports = function DayOfMonthExpression(){
-	this.fixedArity(1);
-	if (arguments.length !== 0) throw new Error("zero args expected");
-	base.call(this);
-}, klass = DayOfMonthExpression, base = require("./NaryExpression"), proto = klass.prototype = Object.create(base.prototype, {constructor:{value:klass}});
+var DayOfMonthExpression = module.exports = function DayOfMonthExpression() {
+		this.fixedArity(1);
+		if (arguments.length !== 1) throw new Error("one args expected");
+		base.call(this);
+}, klass = DayOfMonthExpression,
+		base = require("./NaryExpression"),
+		proto = klass.prototype = Object.create(base.prototype, {
+				constructor: {
+						value: klass
+				}
+		});
 
 // DEPENDENCIES
-var	Expression = require("./Expression");
+var Expression = require("./Expression");
 
 // PROTOTYPE MEMBERS
-proto.getOpName = function getOpName(){
-	return "$dayOfMonth";
+proto.getOpName = function getOpName() {
+		return "$dayOfMonth";
 };
 
 /**
  * Takes a date and returns the day of the month as a number between 1 and 31.
  * @method evaluate
  **/
-proto.evaluateInternal = function evaluateInternal(doc){
-	this.checkArgCount(1);
-	var date = this.operands[0].evaluateInternal(doc);
-	return date.getUTCDate();
+proto.evaluateInternal = function evaluateInternal(doc) {
+		var date = this.operands[0].evaluateInternal(doc);
+		return date.getUTCDate();
 };
 
 /** Register Expression */
-Expression.registerExpression("$dayOfMonth",DayOfMonthExpression.parse);
+Expression.registerExpression("$dayOfMonth", DayOfMonthExpression.parse);

+ 30 - 28
test/lib/pipeline/expressions/DayOfMonthExpression.js

@@ -1,49 +1,51 @@
 "use strict";
 var assert = require("assert"),
-	DayOfMonthExpression = require("../../../../lib/pipeline/expressions/DayOfMonthExpression"),
-	Expression = require("../../../../lib/pipeline/expressions/Expression");
+		DayOfMonthExpression = require("../../../../lib/pipeline/expressions/DayOfMonthExpression"),
+		Expression = require("../../../../lib/pipeline/expressions/Expression");
 
 
 module.exports = {
 
-	"DayOfMonthExpression": {
+		"DayOfMonthExpression": {
 
-		"constructor()": {
+				"constructor()": {
 
-			"should not throw Error when constructing without args": function testConstructor(){
-				assert.doesNotThrow(function(){
-					new DayOfMonthExpression();
-				});
-			}
+						"should throw Error when constructing without args": function testConstructor() {
+								assert.throws(function() {
+										new DayOfMonthExpression();
+								});
+						},
 
-		},
+						"should not throw Error when constructing with an arg": function testConstructor() {
+								assert.doesNotThrow(function() {
+										new DayOfMonthExpression("1/1/2014");
+								});
+						}
 
-		"#getOpName()": {
+				},
 
-			"should return the correct op name; $dayOfMonth": function testOpName(){
-				assert.equal(new DayOfMonthExpression().getOpName(), "$dayOfMonth");
-			}
+				"#getOpName()": {
 
-		},
+						"should return the correct op name; $dayOfMonth": function testOpName() {
+								assert.equal(new DayOfMonthExpression("1/1/2014").getOpName(), "$dayOfMonth");
+						}
 
-		"#getFactory()": {
+				},
 
-			"should return the constructor for this class": function factoryIsConstructor(){
-				assert.strictEqual(new DayOfMonthExpression().getFactory(), undefined);
-			}
+				"#evaluateInternal()": {
 
-		},
+						"should return day of month; 18 for 2013-02-18": function testStuff() {
+								assert.strictEqual(Expression.parseOperand({
+										$dayOfMonth: "$someDate"
+								}).evaluateInternal({
+										someDate: new Date("2013-02-18T00:00:00.000Z")
+								}), 18);
+						}
 
-		"#evaluate()": {
-
-			"should return day of month; 18 for 2013-02-18": function testStuff(){
-				assert.strictEqual(Expression.parseOperand({$dayOfMonth:"$someDate"}).evaluate({someDate:new Date("2013-02-18T00:00:00.000Z")}), 18);
-			}
+				}
 
 		}
 
-	}
-
 };
 
-if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);
+if (!module.parent)(new(require("mocha"))()).ui("exports").reporter("spec").addFile(__filename).run(process.exit);