aboutsummaryrefslogtreecommitdiff
path: root/test/unit/strings_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-08-15 20:54:28 +0800
committerGitHub <noreply@github.com>2023-08-15 20:54:28 +0800
commitfc14928719df12826397b46b1765b82f1fc7d1d8 (patch)
tree08e90236524d8ceff8200777d6a26c366835e327 /test/unit/strings_spec.lua
parent842a47d6a4103a75e33c2c0023dbae5ad2c0f534 (diff)
downloadrneovim-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.lua13
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()