diff options
Diffstat (limited to 'src/tools/chmod-calculator/chmod-calculator.service.test.ts')
-rw-r--r-- | src/tools/chmod-calculator/chmod-calculator.service.test.ts | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/src/tools/chmod-calculator/chmod-calculator.service.test.ts b/src/tools/chmod-calculator/chmod-calculator.service.test.ts index ff09fa6..426c4a5 100644 --- a/src/tools/chmod-calculator/chmod-calculator.service.test.ts +++ b/src/tools/chmod-calculator/chmod-calculator.service.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { computeChmodOctalRepresentation } from './chmod-calculator.service'; +import { computeChmodOctalRepresentation, computeChmodSymbolicRepresentation } from './chmod-calculator.service'; describe('chmod-calculator', () => { describe('computeChmodOctalRepresentation', () => { @@ -64,5 +64,67 @@ describe('chmod-calculator', () => { }), ).to.eql('222'); }); + + it('get the symbolic representation from permissions', () => { + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: true, write: true, execute: true }, + group: { read: true, write: true, execute: true }, + public: { read: true, write: true, execute: true }, + }, + }), + ).to.eql('rwxrwxrwx'); + + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: false, write: false, execute: false }, + group: { read: false, write: false, execute: false }, + public: { read: false, write: false, execute: false }, + }, + }), + ).to.eql('---------'); + + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: false, write: true, execute: false }, + group: { read: false, write: true, execute: true }, + public: { read: true, write: false, execute: true }, + }, + }), + ).to.eql('-w--wxr-x'); + + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: true, write: false, execute: false }, + group: { read: false, write: true, execute: false }, + public: { read: false, write: false, execute: true }, + }, + }), + ).to.eql('r---w---x'); + + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: false, write: false, execute: true }, + group: { read: false, write: true, execute: false }, + public: { read: true, write: false, execute: false }, + }, + }), + ).to.eql('--x-w-r--'); + + expect( + computeChmodSymbolicRepresentation({ + permissions: { + owner: { read: false, write: true, execute: false }, + group: { read: false, write: true, execute: false }, + public: { read: false, write: true, execute: false }, + }, + }), + ).to.eql('-w--w--w-'); + }); }); }); |