diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-08-15 20:54:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-15 20:54:28 +0800 |
commit | fc14928719df12826397b46b1765b82f1fc7d1d8 (patch) | |
tree | 08e90236524d8ceff8200777d6a26c366835e327 /test/unit/strings_spec.lua | |
parent | 842a47d6a4103a75e33c2c0023dbae5ad2c0f534 (diff) | |
download | rneovim-fc14928719df12826397b46b1765b82f1fc7d1d8.tar.gz rneovim-fc14928719df12826397b46b1765b82f1fc7d1d8.tar.bz2 rneovim-fc14928719df12826397b46b1765b82f1fc7d1d8.zip |
fix(printf): make positional %zd and %zu work (#24722)
Diffstat (limited to 'test/unit/strings_spec.lua')
-rw-r--r-- | test/unit/strings_spec.lua | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/test/unit/strings_spec.lua b/test/unit/strings_spec.lua index 68790ea026..d6c14e7a40 100644 --- a/test/unit/strings_spec.lua +++ b/test/unit/strings_spec.lua @@ -150,10 +150,12 @@ describe('vim_snprintf()', function() local function i(n) return ffi.cast('int', n) end local function l(n) return ffi.cast('long', n) end - local function u(n) return ffi.cast('unsigned', n) end local function ll(n) return ffi.cast('long long', n) end + local function z(n) return ffi.cast('ptrdiff_t', n) end + local function u(n) return ffi.cast('unsigned', n) end local function ul(n) return ffi.cast('unsigned long', n) end local function ull(n) return ffi.cast('unsigned long long', n) end + local function uz(n) return ffi.cast('size_t', n) end itp('truncation', function() for bsize = 0, 14 do @@ -219,6 +221,15 @@ describe('vim_snprintf()', function() a('-0.000000', buf, bsize, '%1$f', -0.0) end end) + + itp('%zd and %zu', function() + local bsize = 20 + local buf = ffi.gc(strings.xmalloc(bsize), strings.xfree) + a('-1234567 -7654321', buf, bsize, '%zd %zd', z(-1234567), z(-7654321)) + a('-7654321 -1234567', buf, bsize, '%2$zd %1$zd', z(-1234567), z(-7654321)) + a('1234567 7654321', buf, bsize, '%zu %zu', uz(1234567), uz(7654321)) + a('7654321 1234567', buf, bsize, '%2$zu %1$zu', uz(1234567), uz(7654321)) + end) end) describe('strcase_save()' , function() |