diff options
author | Jonathan Perret <jonathan@ut7.fr> | 2017-01-29 15:40:52 +0100 |
---|---|---|
committer | Jonathan Perret <jonathan@ut7.fr> | 2017-01-29 15:45:03 +0100 |
commit | 9b28474b8cd1a26677345559d544e8e0e0cb27b8 (patch) | |
tree | 0911c782ef42234b214c178dc5d1ef73e1383ca1 | |
parent | 97d39b6c2bf533d33538205a399638b63f6baa66 (diff) | |
download | yamljs-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.coffee | 2 | ||||
-rw-r--r-- | test/spec/YamlSpec.coffee | 20 |
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 """ |