From 842d7342eb12d133fa85514d801983095300e76c Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Wed, 25 Jul 2018 19:22:16 -0300 Subject: fs: fix rwx_to_number, add negated mask mode Fixes #856. --- spec/fs_spec.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'spec') diff --git a/spec/fs_spec.lua b/spec/fs_spec.lua index 5bec6168..3ed22fbe 100644 --- a/spec/fs_spec.lua +++ b/spec/fs_spec.lua @@ -1463,4 +1463,26 @@ describe("Luarocks fs test #unit", function() assert.same(fs.modules("lib"), {}) end) end) + + describe("#unix fs._unix_rwx_to_number", function() + + it("converts permissions in rwx notation to numeric ones", function() + assert.same(tonumber("0644", 8), fs._unix_rwx_to_number("rw-r--r--")) + assert.same(tonumber("0755", 8), fs._unix_rwx_to_number("rwxr-xr-x")) + assert.same(tonumber("0000", 8), fs._unix_rwx_to_number("---------")) + assert.same(tonumber("0777", 8), fs._unix_rwx_to_number("rwxrwxrwx")) + assert.same(tonumber("0700", 8), fs._unix_rwx_to_number("rwx------")) + assert.same(tonumber("0600", 8), fs._unix_rwx_to_number("rw-------")) + end) + + it("produces a negated mask if asked to", function() + assert.same(tonumber("0133", 8), fs._unix_rwx_to_number("rw-r--r--", true)) + assert.same(tonumber("0022", 8), fs._unix_rwx_to_number("rwxr-xr-x", true)) + assert.same(tonumber("0777", 8), fs._unix_rwx_to_number("---------", true)) + assert.same(tonumber("0000", 8), fs._unix_rwx_to_number("rwxrwxrwx", true)) + assert.same(tonumber("0077", 8), fs._unix_rwx_to_number("rwx------", true)) + assert.same(tonumber("0177", 8), fs._unix_rwx_to_number("rw-------", true)) + end) + end) + end) -- cgit v1.2.3-55-g6feb