#! /bin/bash

. ${0%/*}/test-lib.sh

for args in '' ' -m'; do
    check "richacl-from-mode$args 0000" <<-EOF
	----------
	EOF

    check "richacl-from-mode$args 0001 0002 0003 0004 0005 0006 0007" <<-EOF
	---------x
	owner@:x::deny
	group@:x::deny
	everyone@:x::allow

	--------w-
	owner@:wp::deny
	group@:wp::deny
	everyone@:wp::allow

	--------wx
	owner@:wpx::deny
	group@:wpx::deny
	everyone@:wpx::allow

	-------r--
	owner@:r::deny
	group@:r::deny
	everyone@:r::allow

	-------r-x
	owner@:rx::deny
	group@:rx::deny
	everyone@:rx::allow

	-------rw-
	owner@:rwp::deny
	group@:rwp::deny
	everyone@:rwp::allow

	-------rwx
	owner@:rwpx::deny
	group@:rwpx::deny
	everyone@:rwpx::allow
	EOF

    check "richacl-from-mode$args 0010 0020 0030 0040 0050 0060 0070" <<-EOF
	------x---
	owner@:x::deny
	group@:x::allow

	-----w----
	owner@:wp::deny
	group@:wp::allow

	-----wx---
	owner@:wpx::deny
	group@:wpx::allow

	----r-----
	owner@:r::deny
	group@:r::allow

	----r-x---
	owner@:rx::deny
	group@:rx::allow

	----rw----
	owner@:rwp::deny
	group@:rwp::allow

	----rwx---
	owner@:rwpx::deny
	group@:rwpx::allow
	EOF

    check "richacl-from-mode$args 0100 0200 0300 0400 0500 0600 0700" <<-EOF
	---x------
	owner@:x::allow

	--w-------
	owner@:wp::allow

	--wx------
	owner@:wpx::allow

	-r--------
	owner@:r::allow

	-r-x------
	owner@:rx::allow

	-rw-------
	owner@:rwp::allow

	-rwx------
	owner@:rwpx::allow
	EOF

    check "richacl-from-mode$args 0077 0707 0770 0777" <<-EOF
	----rwxrwx
	owner@:rwpx::deny
	everyone@:rwpx::allow

	-rwx---rwx
	owner@:rwpx::allow
	group@:rwpx::deny
	everyone@:rwpx::allow

	-rwxrwx---
	owner@:rwpx::allow
	group@:rwpx::allow

	-rwxrwxrwx
	everyone@:rwpx::allow
	EOF

    check "richacl-from-mode$args -d 0001 0002 0004" <<-EOF
	d--------x
	owner@:x::deny
	group@:x::deny
	everyone@:x::allow

	d-------w-
	owner@:wpd::deny
	group@:wpd::deny
	everyone@:wpd::allow

	d------r--
	owner@:r::deny
	group@:r::deny
	everyone@:r::allow
	EOF
done
