diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-06-18 22:53:24 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-06-18 22:53:24 +0200 |
commit | db51730df1817fc4b6ecf5a065c69fac518ad821 (patch) | |
tree | d7966f2f74b8f11cb6bb228a422bf4650e9bc7d9 /src/testdir | |
parent | 517f71ab17c265602465eaee3775dcfe8afe0478 (diff) | |
download | vim-git-db51730df1817fc4b6ecf5a065c69fac518ad821.tar.gz |
patch 8.1.1567: localtime_r() does not respond to $TZ changesv8.1.1567
Problem: Localtime_r() does not respond to $TZ changes.
Solution: If $TZ changes then call tzset(). (Tom Ryder)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_functions.vim | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index a2e4da6c7..f71717f73 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -187,6 +187,30 @@ func Test_strftime() call assert_fails('call strftime([])', 'E730:') call assert_fails('call strftime("%Y", [])', 'E745:') + + " Check that the time changes after we change the timezone + " Save previous timezone value, if any + if exists('$TZ') + let tz = $TZ + endif + + " Force EST and then UTC, save the current hour (24-hour clock) for each + let $TZ = 'EST' | let est = strftime('%H') + let $TZ = 'UTC' | let utc = strftime('%H') + + " Those hours should be two bytes long, and should not be the same; if they + " are, a tzset(3) call may have failed somewhere + call assert_equal(strlen(est), 2) + call assert_equal(strlen(utc), 2) + call assert_notequal(est, utc) + + " If we cached a timezone value, put it back, otherwise clear it + if exists('tz') + let $TZ = tz + else + unlet $TZ + endif + endfunc func Test_resolve_unix() |