}
},
benchmark: {
- all: {
- src: ['benchmarks/*.js']
- }
+ compare: {src: ['benchmarks/compare.js']},
+ startOf: {src: ['benchmarks/startOf.js']},
+ endOf: {src: ['benchmarks/endOf.js']},
+ get: {src: ['benchmarks/get.js']},
+ set: {src: ['benchmarks/set.js']},
+ all: {src: ['benchmarks/*.js']}
},
exec: {
'meteor-init': {
--- /dev/null
+var moment = require("./../moment.js");
+
+var UNIT = 'date';
+
+var NOW = Date.now();
+var DIFF = -1 * 24 * 60 * 60 * 1e3
+
+var THIS = moment(NOW);
+var INPUT = moment(NOW + DIFF);
+
+// For isBetween
+var FROM = moment(NOW + DIFF);
+var TO = moment(NOW + 2 * DIFF);
+
+function createTest(method) {
+ return {
+ fn: function() { return method.call(THIS, INPUT, UNIT); },
+ async: false
+ };
+}
+
+var tests = {};
+tests.isAfter = createTest(THIS.isAfter);
+tests.isBefore = createTest(THIS.isBefore);
+tests.isSame = createTest(THIS.isSame);
+tests.isSameOrAfter = createTest(THIS.isSameOrAfter);
+tests.isSameOrBefore = createTest(THIS.isSameOrBefore);
+tests.isBetween = createTest(function () { return THIS.isBetween(FROM, TO, UNIT); });
+
+module.exports = {
+ name: 'compare ' + UNIT,
+ tests: tests
+};
--- /dev/null
+var moment = require('./../moment.js');
+
+var base = moment('2013-05-25');
+
+function createTest(unit) {
+ return {
+ fn: function () { base.get(unit); },
+ async: false
+ };
+}
+
+var units = ['second', 'minute', 'hour', 'date', 'day', 'isoWeek', 'week', 'month', 'quarter', 'year'];
+var tests = units.reduce(function (tests, unit) {
+ tests['get ' + unit] = createTest(unit);
+ return tests;
+}, {});
+
+module.exports = {
+ name: 'get',
+ tests: tests
+};
--- /dev/null
+var moment = require('./../moment.js')
+
+var base = moment('2013-05-25');
+var value = 2;
+
+function createTest(unit) {
+ return {
+ fn: function () { base.set(unit, value); },
+ async: false
+ };
+}
+
+var units = ['second', 'minute', 'hour', 'date', 'day', 'isoWeek', 'week', 'month', 'quarter', 'year'];
+var tests = units.reduce(function (tests, unit) {
+ tests['set ' + unit] = createTest(unit);
+ return tests;
+}, {});
+
+module.exports = {
+ name: 'set',
+ tests: tests
+};