test for string timezones, fix a bug

This commit is contained in:
Sami Samhuri 2014-01-29 14:42:35 -08:00
parent 99382d2d5e
commit 0652b285a7
2 changed files with 7 additions and 4 deletions

View file

@ -50,7 +50,7 @@
timezone = locale; timezone = locale;
locale = undefined; locale = undefined;
} }
return _strftime(fmt, d, locale, { timezone: timezone, utc: true }); return _strftime(fmt, d, locale, { timezone: timezone });
} }
namespace.strftimeUTC = strftime.strftimeUTC = strftimeUTC; namespace.strftimeUTC = strftime.strftimeUTC = strftimeUTC;
@ -260,8 +260,8 @@
return "GMT"; return "GMT";
} }
else { else {
var tz = d.toString().match(/\((\w+)\)/); var tzString = d.toString().match(/\((\w+)\)/);
return tz && tz[1] || ''; return tzString && tzString[1] || '';
} }
// '+0000' // '+0000'
@ -270,7 +270,7 @@
return "+0000"; return "+0000";
} }
else { else {
var off = typeof options.timezone == 'number' ? options.timezone : -d.getTimezoneOffset(); var off = typeof tz == 'number' ? tz : -d.getTimezoneOffset();
return (off < 0 ? '-' : '+') + pad(Math.abs(off / 60)) + pad(off % 60); return (off < 0 ? '-' : '+') + pad(Math.abs(off / 60)) + pad(off % 60);
} }

View file

@ -169,8 +169,11 @@ assert.formatTZ = function(format, expected, tz, time) {
} }
assert.formatTZ('%F %r %z', '2011-06-07 06:51:45 PM +0000', 0) assert.formatTZ('%F %r %z', '2011-06-07 06:51:45 PM +0000', 0)
assert.formatTZ('%F %r %z', '2011-06-07 06:51:45 PM +0000', '+0000')
assert.formatTZ('%F %r %z', '2011-06-07 08:51:45 PM +0200', 120) assert.formatTZ('%F %r %z', '2011-06-07 08:51:45 PM +0200', 120)
assert.formatTZ('%F %r %z', '2011-06-07 08:51:45 PM +0200', '+0200')
assert.formatTZ('%F %r %z', '2011-06-07 11:51:45 AM -0700', -420) assert.formatTZ('%F %r %z', '2011-06-07 11:51:45 AM -0700', -420)
assert.formatTZ('%F %r %z', '2011-06-07 11:51:45 AM -0700', '-0700')
ok('Time zone offset') ok('Time zone offset')