aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat
diff options
context:
space:
mode:
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat')
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.npmignore57
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.travis.yml4
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/LICENSE20
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/Readme.md82
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/bin/cli.js75
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/lib/dateformat.js226
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/package.json108
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_dayofweek.js15
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_formats.js76
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_isoutcdatetime.js11
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.js4
-rw-r--r--vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.sh27
12 files changed, 705 insertions, 0 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.npmignore b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.npmignore
new file mode 100644
index 00000000..830d0ff7
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.npmignore
@@ -0,0 +1,57 @@
+# .gitignore <https://github.com/tunnckoCore/dotfiles>
+#
+# Copyright (c) 2014 Charlike Mike Reagent, contributors.
+# Released under the MIT license.
+#
+
+# Always-ignore dirs #
+# ####################
+_gh_pages
+node_modules
+bower_components
+components
+vendor
+build
+dest
+dist
+src
+lib-cov
+coverage
+nbproject
+cache
+temp
+tmp
+
+# Packages #
+# ##########
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+
+# OS, Logs and databases #
+# #########################
+*.pid
+*.dat
+*.log
+*.sql
+*.sqlite
+*~
+~*
+
+# Another files #
+# ###############
+Icon?
+.DS_Store*
+Thumbs.db
+ehthumbs.db
+Desktop.ini
+npm-debug.log
+.directory
+._*
+
+koa-better-body \ No newline at end of file
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.travis.yml b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.travis.yml
new file mode 100644
index 00000000..18ae2d89
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/.travis.yml
@@ -0,0 +1,4 @@
+language: node_js
+node_js:
+ - "0.11"
+ - "0.10"
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/LICENSE b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/LICENSE
new file mode 100644
index 00000000..57d44e2a
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/LICENSE
@@ -0,0 +1,20 @@
+(c) 2007-2009 Steven Levithan <stevenlevithan.com>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/Readme.md b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/Readme.md
new file mode 100644
index 00000000..0aaf1e82
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/Readme.md
@@ -0,0 +1,82 @@
+# dateformat
+
+A node.js package for Steven Levithan's excellent [dateFormat()][dateformat] function.
+
+[![Build Status](https://travis-ci.org/felixge/node-dateformat.svg)](https://travis-ci.org/felixge/node-dateformat)
+
+## Modifications
+
+* Removed the `Date.prototype.format` method. Sorry folks, but extending native prototypes is for suckers.
+* Added a `module.exports = dateFormat;` statement at the bottom
+* Added the placeholder `N` to get the ISO 8601 numeric representation of the day of the week
+
+## Installation
+
+```bash
+$ npm install dateformat
+$ dateformat --help
+```
+
+## Usage
+
+As taken from Steven's post, modified to match the Modifications listed above:
+```js
+ var dateFormat = require('dateformat');
+ var now = new Date();
+
+ // Basic usage
+ dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
+ // Saturday, June 9th, 2007, 5:46:21 PM
+
+ // You can use one of several named masks
+ dateFormat(now, "isoDateTime");
+ // 2007-06-09T17:46:21
+
+ // ...Or add your own
+ dateFormat.masks.hammerTime = 'HH:MM! "Can\'t touch this!"';
+ dateFormat(now, "hammerTime");
+ // 17:46! Can't touch this!
+
+ // When using the standalone dateFormat function,
+ // you can also provide the date as a string
+ dateFormat("Jun 9 2007", "fullDate");
+ // Saturday, June 9, 2007
+
+ // Note that if you don't include the mask argument,
+ // dateFormat.masks.default is used
+ dateFormat(now);
+ // Sat Jun 09 2007 17:46:21
+
+ // And if you don't include the date argument,
+ // the current date and time is used
+ dateFormat();
+ // Sat Jun 09 2007 17:46:22
+
+ // You can also skip the date argument (as long as your mask doesn't
+ // contain any numbers), in which case the current date/time is used
+ dateFormat("longTime");
+ // 5:46:22 PM EST
+
+ // And finally, you can convert local time to UTC time. Simply pass in
+ // true as an additional argument (no argument skipping allowed in this case):
+ dateFormat(now, "longTime", true);
+ // 10:46:21 PM UTC
+
+ // ...Or add the prefix "UTC:" or "GMT:" to your mask.
+ dateFormat(now, "UTC:h:MM:ss TT Z");
+ // 10:46:21 PM UTC
+
+ // You can also get the ISO 8601 week of the year:
+ dateFormat(now, "W");
+ // 42
+
+ // and also get the ISO 8601 numeric representation of the day of the week:
+ dateFormat(now,"N");
+ // 6
+```
+## License
+
+(c) 2007-2009 Steven Levithan [stevenlevithan.com][stevenlevithan], MIT license.
+
+[dateformat]: http://blog.stevenlevithan.com/archives/date-time-format
+[stevenlevithan]: http://stevenlevithan.com/
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/bin/cli.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/bin/cli.js
new file mode 100644
index 00000000..e095ddc6
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/bin/cli.js
@@ -0,0 +1,75 @@
+#!/usr/bin/env node
+/**
+ * dateformat <https://github.com/felixge/node-dateformat>
+ *
+ * Copyright (c) 2014 Charlike Mike Reagent (cli), contributors.
+ * Released under the MIT license.
+ */
+
+'use strict';
+
+/**
+ * Module dependencies.
+ */
+
+var dateFormat = require('../lib/dateformat');
+var meow = require('meow');
+var stdin = require('get-stdin');
+
+var cli = meow({
+ pkg: '../package.json',
+ help: [
+ 'Options',
+ ' --help Show this help',
+ ' --version Current version of package',
+ ' -d | --date Date that want to format (Date object as Number or String)',
+ ' -m | --mask Mask that will use to format the date',
+ ' -u | --utc Convert local time to UTC time or use `UTC:` prefix in mask',
+ ' -g | --gmt You can use `GMT:` prefix in mask',
+ '',
+ 'Usage',
+ ' dateformat [date] [mask]',
+ ' dateformat "Nov 26 2014" "fullDate"',
+ ' dateformat 1416985417095 "dddd, mmmm dS, yyyy, h:MM:ss TT"',
+ ' dateformat 1315361943159 "W"',
+ ' dateformat "UTC:h:MM:ss TT Z"',
+ ' dateformat "longTime" true',
+ ' dateformat "longTime" false true',
+ ' dateformat "Jun 9 2007" "fullDate" true',
+ ' date +%s | dateformat',
+ ''
+ ].join('\n')
+})
+
+var date = cli.input[0] || cli.flags.d || cli.flags.date || Date.now();
+var mask = cli.input[1] || cli.flags.m || cli.flags.mask || dateFormat.masks.default;
+var utc = cli.input[2] || cli.flags.u || cli.flags.utc || false;
+var gmt = cli.input[3] || cli.flags.g || cli.flags.gmt || false;
+
+utc = utc === 'true' ? true : false;
+gmt = gmt === 'true' ? true : false;
+
+if (!cli.input.length) {
+ stdin(function(date) {
+ console.log(dateFormat(date, dateFormat.masks.default, utc, gmt));
+ });
+ return;
+}
+
+if (cli.input.length === 1 && date) {
+ mask = date;
+ date = Date.now();
+ console.log(dateFormat(date, mask, utc, gmt));
+ return;
+}
+
+if (cli.input.length >= 2 && date && mask) {
+ if (mask === 'true' || mask === 'false') {
+ utc = mask === 'true' ? true : false;
+ gmt = !utc;
+ mask = date
+ date = Date.now();
+ }
+ console.log(dateFormat(date, mask, utc, gmt));
+ return;
+}
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/lib/dateformat.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/lib/dateformat.js
new file mode 100644
index 00000000..eb257464
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/lib/dateformat.js
@@ -0,0 +1,226 @@
+/*
+ * Date Format 1.2.3
+ * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
+ * MIT license
+ *
+ * Includes enhancements by Scott Trenda <scott.trenda.net>
+ * and Kris Kowal <cixar.com/~kris.kowal/>
+ *
+ * Accepts a date, a mask, or a date and a mask.
+ * Returns a formatted version of the given date.
+ * The date defaults to the current date/time.
+ * The mask defaults to dateFormat.masks.default.
+ */
+
+(function(global) {
+ 'use strict';
+
+ var dateFormat = (function() {
+ var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|'[^']*'|'[^']*'/g;
+ var timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
+ var timezoneClip = /[^-+\dA-Z]/g;
+
+ // Regexes and supporting functions are cached through closure
+ return function (date, mask, utc, gmt) {
+
+ // You can't provide utc if you skip other args (use the 'UTC:' mask prefix)
+ if (arguments.length === 1 && kindOf(date) === 'string' && !/\d/.test(date)) {
+ mask = date;
+ date = undefined;
+ }
+
+ date = date || new Date;
+
+ if(!(date instanceof Date)) {
+ date = new Date(date);
+ }
+
+ if (isNaN(date)) {
+ throw TypeError('Invalid date');
+ }
+
+ mask = String(dateFormat.masks[mask] || mask || dateFormat.masks['default']);
+
+ // Allow setting the utc/gmt argument via the mask
+ var maskSlice = mask.slice(0, 4);
+ if (maskSlice === 'UTC:' || maskSlice === 'GMT:') {
+ mask = mask.slice(4);
+ utc = true;
+ if (maskSlice === 'GMT:') {
+ gmt = true;
+ }
+ }
+
+ var _ = utc ? 'getUTC' : 'get';
+ var d = date[_ + 'Date']();
+ var D = date[_ + 'Day']();
+ var m = date[_ + 'Month']();
+ var y = date[_ + 'FullYear']();
+ var H = date[_ + 'Hours']();
+ var M = date[_ + 'Minutes']();
+ var s = date[_ + 'Seconds']();
+ var L = date[_ + 'Milliseconds']();
+ var o = utc ? 0 : date.getTimezoneOffset();
+ var W = getWeek(date);
+ var N = getDayOfWeek(date);
+ var flags = {
+ d: d,
+ dd: pad(d),
+ ddd: dateFormat.i18n.dayNames[D],
+ dddd: dateFormat.i18n.dayNames[D + 7],
+ m: m + 1,
+ mm: pad(m + 1),
+ mmm: dateFormat.i18n.monthNames[m],
+ mmmm: dateFormat.i18n.monthNames[m + 12],
+ yy: String(y).slice(2),
+ yyyy: y,
+ h: H % 12 || 12,
+ hh: pad(H % 12 || 12),
+ H: H,
+ HH: pad(H),
+ M: M,
+ MM: pad(M),
+ s: s,
+ ss: pad(s),
+ l: pad(L, 3),
+ L: pad(Math.round(L / 10)),
+ t: H < 12 ? 'a' : 'p',
+ tt: H < 12 ? 'am' : 'pm',
+ T: H < 12 ? 'A' : 'P',
+ TT: H < 12 ? 'AM' : 'PM',
+ Z: gmt ? 'GMT' : utc ? 'UTC' : (String(date).match(timezone) || ['']).pop().replace(timezoneClip, ''),
+ o: (o > 0 ? '-' : '+') + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
+ S: ['th', 'st', 'nd', 'rd'][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10],
+ W: W,
+ N: N
+ };
+
+ return mask.replace(token, function (match) {
+ if (match in flags) {
+ return flags[match];
+ }
+ return match.slice(1, match.length - 1);
+ });
+ };
+ })();
+
+ dateFormat.masks = {
+ 'default': 'ddd mmm dd yyyy HH:MM:ss',
+ 'shortDate': 'm/d/yy',
+ 'mediumDate': 'mmm d, yyyy',
+ 'longDate': 'mmmm d, yyyy',
+ 'fullDate': 'dddd, mmmm d, yyyy',
+ 'shortTime': 'h:MM TT',
+ 'mediumTime': 'h:MM:ss TT',
+ 'longTime': 'h:MM:ss TT Z',
+ 'isoDate': 'yyyy-mm-dd',
+ 'isoTime': 'HH:MM:ss',
+ 'isoDateTime': 'yyyy-mm-dd\'T\'HH:MM:sso',
+ 'isoUtcDateTime': 'UTC:yyyy-mm-dd\'T\'HH:MM:ss\'Z\'',
+ 'expiresHeaderFormat': 'ddd, dd mmm yyyy HH:MM:ss Z'
+ };
+
+ // Internationalization strings
+ dateFormat.i18n = {
+ dayNames: [
+ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat',
+ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
+ ],
+ monthNames: [
+ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',
+ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'
+ ]
+ };
+
+function pad(val, len) {
+ val = String(val);
+ len = len || 2;
+ while (val.length < len) {
+ val = '0' + val;
+ }
+ return val;
+}
+
+/**
+ * Get the ISO 8601 week number
+ * Based on comments from
+ * http://techblog.procurios.nl/k/n618/news/view/33796/14863/Calculate-ISO-8601-week-and-year-in-javascript.html
+ *
+ * @param {Object} `date`
+ * @return {Number}
+ */
+function getWeek(date) {
+ // Remove time components of date
+ var targetThursday = new Date(date.getFullYear(), date.getMonth(), date.getDate());
+
+ // Change date to Thursday same week
+ targetThursday.setDate(targetThursday.getDate() - ((targetThursday.getDay() + 6) % 7) + 3);
+
+ // Take January 4th as it is always in week 1 (see ISO 8601)
+ var firstThursday = new Date(targetThursday.getFullYear(), 0, 4);
+
+ // Change date to Thursday same week
+ firstThursday.setDate(firstThursday.getDate() - ((firstThursday.getDay() + 6) % 7) + 3);
+
+ // Check if daylight-saving-time-switch occured and correct for it
+ var ds = targetThursday.getTimezoneOffset() - firstThursday.getTimezoneOffset();
+ targetThursday.setHours(targetThursday.getHours() - ds);
+
+ // Number of weeks between target Thursday and first Thursday
+ var weekDiff = (targetThursday - firstThursday) / (86400000*7);
+ return 1 + Math.floor(weekDiff);
+}
+
+/**
+ * Get ISO-8601 numeric representation of the day of the week
+ * 1 (for Monday) through 7 (for Sunday)
+ *
+ * @param {Object} `date`
+ * @return {Number}
+ */
+function getDayOfWeek(date) {
+ var dow = date.getDay();
+ if(dow === 0) {
+ dow = 7;
+ }
+ return dow;
+}
+
+/**
+ * kind-of shortcut
+ * @param {*} val
+ * @return {String}
+ */
+function kindOf(val) {
+ if (val === null) {
+ return 'null';
+ }
+
+ if (val === undefined) {
+ return 'undefined';
+ }
+
+ if (typeof val !== 'object') {
+ return typeof val;
+ }
+
+ if (Array.isArray(val)) {
+ return 'array';
+ }
+
+ return {}.toString.call(val)
+ .slice(8, -1).toLowerCase();
+};
+
+
+
+ if (typeof define === 'function' && define.amd) {
+ define(function () {
+ return dateFormat;
+ });
+ } else if (typeof exports === 'object') {
+ module.exports = dateFormat;
+ } else {
+ global.dateFormat = dateFormat;
+ }
+})(this);
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/package.json b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/package.json
new file mode 100644
index 00000000..95645d63
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/package.json
@@ -0,0 +1,108 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "dateformat@~1.0.6",
+ "scope": null,
+ "escapedName": "dateformat",
+ "name": "dateformat",
+ "rawSpec": "~1.0.6",
+ "spec": ">=1.0.6 <1.1.0",
+ "type": "range"
+ },
+ "C:\\apache-tomcat-8.5.11\\webapps\\vnfmarket\\node_modules\\karma-coverage"
+ ]
+ ],
+ "_from": "dateformat@>=1.0.6 <1.1.0",
+ "_id": "dateformat@1.0.12",
+ "_inCache": true,
+ "_location": "/dateformat",
+ "_nodeVersion": "0.12.7",
+ "_npmUser": {
+ "name": "felixge",
+ "email": "felix@debuggable.com"
+ },
+ "_npmVersion": "2.11.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "dateformat@~1.0.6",
+ "scope": null,
+ "escapedName": "dateformat",
+ "name": "dateformat",
+ "rawSpec": "~1.0.6",
+ "spec": ">=1.0.6 <1.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/karma-coverage"
+ ],
+ "_resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "_shasum": "9f124b67594c937ff706932e4a642cca8dbbfee9",
+ "_shrinkwrap": null,
+ "_spec": "dateformat@~1.0.6",
+ "_where": "C:\\apache-tomcat-8.5.11\\webapps\\vnfmarket\\node_modules\\karma-coverage",
+ "author": {
+ "name": "Steven Levithan"
+ },
+ "bin": {
+ "dateformat": "bin/cli.js"
+ },
+ "bugs": {
+ "url": "https://github.com/felixge/node-dateformat/issues"
+ },
+ "contributors": [
+ {
+ "name": "Steven Levithan"
+ },
+ {
+ "name": "Felix Geisendörfer",
+ "email": "felix@debuggable.com"
+ },
+ {
+ "name": "Christoph Tavan",
+ "email": "dev@tavan.de"
+ }
+ ],
+ "dependencies": {
+ "get-stdin": "^4.0.1",
+ "meow": "^3.3.0"
+ },
+ "description": "A node.js package for Steven Levithan's excellent dateFormat() function.",
+ "devDependencies": {
+ "mocha": "2.0.1",
+ "underscore": "1.7.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "9f124b67594c937ff706932e4a642cca8dbbfee9",
+ "tarball": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "gitHead": "17364d40e61c06f6de228ab94f3660a27f357f01",
+ "homepage": "https://github.com/felixge/node-dateformat",
+ "license": "MIT",
+ "main": "lib/dateformat",
+ "maintainers": [
+ {
+ "name": "felixge",
+ "email": "felix@debuggable.com"
+ },
+ {
+ "name": "ctavan",
+ "email": "dev@tavan.de"
+ }
+ ],
+ "name": "dateformat",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/felixge/node-dateformat.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "version": "1.0.12"
+}
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_dayofweek.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_dayofweek.js
new file mode 100644
index 00000000..7f37407c
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_dayofweek.js
@@ -0,0 +1,15 @@
+var assert = require('assert');
+
+var dateFormat = require('./../lib/dateformat');
+
+describe('dayOfWeek', function() {
+ it('should correctly format the timezone part', function(done) {
+ var start = 10; // the 10 of March 2013 is a Sunday
+ for(var dow = 1; dow <= 7; dow++){
+ var date = new Date('2013-03-' + (start + dow));
+ var N = dateFormat(date, 'N');
+ assert.strictEqual(N, String(dow));
+ }
+ done();
+ });
+});
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_formats.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_formats.js
new file mode 100644
index 00000000..df186cae
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_formats.js
@@ -0,0 +1,76 @@
+var assert = require('assert');
+
+var _ = require('underscore');
+
+var dateFormat = require('../lib/dateformat');
+
+var expects = {
+ 'default': 'Wed Nov 26 2014 13:19:44',
+ 'shortDate': '11/26/14',
+ 'mediumDate': 'Nov 26, 2014',
+ 'longDate': 'November 26, 2014',
+ 'fullDate': 'Wednesday, November 26, 2014',
+ 'shortTime': '1:19 PM',
+ 'mediumTime': '1:19:44 PM',
+ 'longTime': '1:19:44 PM %TZ_PREFIX%%TZ_OFFSET%',
+ 'isoDate': '2014-11-26',
+ 'isoTime': '13:19:44',
+ 'isoDateTime': '2014-11-26T13:19:44%TZ_OFFSET%',
+ 'isoUtcDateTime': '',
+ 'expiresHeaderFormat': 'Wed, 26 Nov 2014 13:19:44 %TZ_PREFIX%%TZ_OFFSET%'
+};
+
+function pad(num, size) {
+ var s = num + '';
+ while (s.length < size) {
+ s = '0' + s;
+ }
+ return s;
+}
+
+function parseOffset(date) {
+ var offset = date.getTimezoneOffset();
+ var hours = Math.floor(-1 * offset / 60);
+ var minutes = (-1 * offset) - (hours * 60);
+ var sign = offset > 0 ? '-' : '+';
+ return {
+ offset: offset,
+ hours: hours,
+ minutes: minutes,
+ sign: sign,
+ };
+}
+
+function timezoneOffset(date) {
+ var offset = parseOffset(date);
+ return offset.sign + pad(offset.hours, 2) + pad(offset.minutes, 2);
+}
+
+describe('dateformat([now], [mask])', function() {
+ _.each(dateFormat.masks, function(value, key) {
+ it('should format `' + key + '` mask', function(done) {
+ var now = new Date(2014, 10, 26, 13, 19, 44);
+ var tzOffset = timezoneOffset(now);
+ var expected = expects[key].replace(/%TZ_PREFIX%/, 'GMT')
+ .replace(/%TZ_OFFSET%/g, tzOffset)
+ .replace(/GMT\+0000/g, 'UTC');
+ if (key === 'isoUtcDateTime') {
+ var offset = parseOffset(now);
+ now.setHours(now.getHours() - offset.hours,
+ now.getMinutes() - offset.minutes);
+ var expected = now.toISOString().replace(/\.000/g, '');
+ }
+ var actual = dateFormat(now, key);
+ assert.strictEqual(actual, expected);
+ done();
+ });
+ });
+ it('should use `default` mask, when `mask` is empty', function(done) {
+ var now = new Date(2014, 10, 26, 13, 19, 44);
+ var expected = expects['default'];
+ var actual = dateFormat(now);
+
+ assert.strictEqual(actual, expected);
+ done();
+ });
+});
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_isoutcdatetime.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_isoutcdatetime.js
new file mode 100644
index 00000000..886b7a5b
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/test_isoutcdatetime.js
@@ -0,0 +1,11 @@
+var assert = require('assert');
+
+var dateFormat = require('./../lib/dateformat');
+
+describe('isoUtcDateTime', function() {
+ it('should correctly format the timezone part', function(done) {
+ var actual = dateFormat('2014-06-02T13:23:21-08:00', 'isoUtcDateTime');
+ assert.strictEqual(actual, '2014-06-02T21:23:21Z');
+ done();
+ });
+});
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.js
new file mode 100644
index 00000000..d1ddbe81
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.js
@@ -0,0 +1,4 @@
+var dateFormat = require('../lib/dateformat.js');
+
+var val = process.argv[2] || new Date();
+console.log(dateFormat(val, 'W'));
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.sh b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.sh
new file mode 100644
index 00000000..3c3e69b3
--- /dev/null
+++ b/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/test/weekofyear/test_weekofyear.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# this just takes php's date() function as a reference to check if week of year
+# is calculated correctly in the range from 1970 .. 2038 by brute force...
+
+SEQ="seq"
+SYSTEM=`uname`
+if [ "$SYSTEM" = "Darwin" ]; then
+ SEQ="jot"
+fi
+
+for YEAR in {1970..2038}; do
+ for MONTH in {1..12}; do
+ DAYS=$(cal $MONTH $YEAR | egrep "28|29|30|31" |tail -1 |awk '{print $NF}')
+ for DAY in $( $SEQ $DAYS ); do
+ DATE=$YEAR-$MONTH-$DAY
+ echo -n $DATE ...
+ NODEVAL=$(node test_weekofyear.js $DATE)
+ PHPVAL=$(php -r "echo intval(date('W', strtotime('$DATE')));")
+ if [ "$NODEVAL" -ne "$PHPVAL" ]; then
+ echo "MISMATCH: node: $NODEVAL vs php: $PHPVAL for date $DATE"
+ else
+ echo " OK"
+ fi
+ done
+ done
+done