summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Perret <jonathan@ut7.fr>2017-01-29 15:40:52 +0100
committerJonathan Perret <jonathan@ut7.fr>2017-01-29 15:45:03 +0100
commit9b28474b8cd1a26677345559d544e8e0e0cb27b8 (patch)
tree0911c782ef42234b214c178dc5d1ef73e1383ca1
parent97d39b6c2bf533d33538205a399638b63f6baa66 (diff)
downloadyamljs-9b28474b8cd1a26677345559d544e8e0e0cb27b8.tar.gz
Fix reversed application of timezone offset (#77)
Fixes #77. Also makes rounding unnecessary in tests by fixing fractional seconds in test data.
-rw-r--r--src/Utils.coffee2
-rw-r--r--test/spec/YamlSpec.coffee20
2 files changed, 11 insertions, 11 deletions
diff --git a/src/Utils.coffee b/src/Utils.coffee
index 6ab1116..9464b17 100644
--- a/src/Utils.coffee
+++ b/src/Utils.coffee
@@ -258,7 +258,7 @@ class Utils
# Compute date
date = new Date Date.UTC(year, month, day, hour, minute, second, fraction)
if tz_offset
- date.setTime date.getTime() + tz_offset
+ date.setTime date.getTime() - tz_offset
return date
diff --git a/test/spec/YamlSpec.coffee b/test/spec/YamlSpec.coffee
index 0d0f613..b3d6dc1 100644
--- a/test/spec/YamlSpec.coffee
+++ b/test/spec/YamlSpec.coffee
@@ -413,17 +413,17 @@ describe 'Parsed YAML Basic Types', ->
iso8601Date.setTime iso8601Date.getTime() - 5 * 3600 * 1000
spaceSeparatedDate = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
- spaceSeparatedDate.setTime spaceSeparatedDate.getTime() - 5 * 3600 * 1000
+ spaceSeparatedDate.setTime spaceSeparatedDate.getTime() + 5 * 3600 * 1000
withDatesToTime = (input) ->
res = {}
for key, val of input
- res[key] = Math.round(val.getTime() / 1000) * 1000
+ res[key] = val.getTime()
return res
expect withDatesToTime(YAML.parse """
- iso8601: 2001-12-14t21:59:43.10-05:00
- space seperated: 2001-12-14 21:59:43.10 -05:00
+ iso8601: 2001-12-14t21:59:43.010+05:00
+ space seperated: 2001-12-14 21:59:43.010 -05:00
""")
.toEqual withDatesToTime (
'iso8601': iso8601Date
@@ -439,7 +439,7 @@ describe 'Parsed YAML Basic Types', ->
return input
res = {}
for key, val of input
- res[key] = Math.round(val.getTime() / 1000) * 1000
+ res[key] = val.getTime()
return res
expect withDatesToTime(YAML.parse """
@@ -1148,7 +1148,7 @@ describe 'Dumped YAML Basic Types', ->
it 'can be time', ->
iso8601Date = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
- iso8601Date.setTime iso8601Date.getTime() - 5 * 3600 * 1000
+ iso8601Date.setTime iso8601Date.getTime() + 5 * 3600 * 1000
spaceSeparatedDate = new Date Date.UTC(2001, 12-1, 14, 21, 59, 43, 10)
spaceSeparatedDate.setTime spaceSeparatedDate.getTime() - 5 * 3600 * 1000
@@ -1156,12 +1156,12 @@ describe 'Dumped YAML Basic Types', ->
withDatesToTime = (input) ->
res = {}
for key, val of input
- res[key] = Math.round(val.getTime() / 1000) * 1000
+ res[key] = val.getTime()
return res
expect withDatesToTime(YAML.parse """
- iso8601: 2001-12-14t21:59:43.10-05:00
- space seperated: 2001-12-14 21:59:43.10 -05:00
+ iso8601: 2001-12-14t21:59:43.010-05:00
+ space seperated: 2001-12-14 21:59:43.010 +05:00
""")
.toEqual YAML.parse YAML.dump withDatesToTime (
'iso8601': iso8601Date
@@ -1177,7 +1177,7 @@ describe 'Dumped YAML Basic Types', ->
return input
res = {}
for key, val of input
- res[key] = Math.round(val.getTime() / 1000) * 1000
+ res[key] = val.getTime()
return res
expect withDatesToTime(YAML.parse """