xaizek / rocketgit (License: AGPLv3+) (since 2018-12-09)
Light and fast Git hosting solution suitable to serve both as a hub or as a personal code storage with its tickets, pull requests, API and much more.
<root> / tests / rights.php (984c62ed157e27d1555eeb095793bcf2fa51e540) (1,387B) (mode 100644) [raw]
<?php
error_reporting(E_ALL | E_STRICT);
ini_set("track_errors", "On");

$INC = "../inc";
require_once($INC . "/rights.inc.php");

rg_log_set_file("rights.log");

rg_log("test if combine works correctly (1)");
$a = "AF"; $b = "AD"; $e = "AFD";
$r = rg_rights_combine($a, $b);
if (strcmp($r, $e) != 0) {
	echo "Combine rights error1 ([$r] vs [$e])\n";
	exit(1);
}

rg_log("test if combine works correctly (2)");
$a = ""; $b = ""; $e = "";
$r = rg_rights_combine($a, $b);
if (strcmp($r, $e) != 0) {
	echo "Combine rights error1 ([$r] vs [$e])\n";
	exit(1);
}

rg_log("test if combine works correctly (3)");
$a = "AXUJUNFUUFU"; $b = ""; $e = $a;
$r = rg_rights_combine($a, $b);
if (strcmp($r, $e) != 0) {
	echo "Combine rights error1 ([$r] vs [$e])\n";
	exit(1);
}

rg_log("testing mask...");
$a = "ABCDE"; $mask = "AEZ"; $e = "AE";
$r = rg_rights_mask($a, $mask);
if (strcmp($e, $e) != 0) {
	echo "mask is not working right [$r] != [$e]!\n";
	exit(1);
}

rg_log("rights: testing allow...");
$rights = "ABC"; $needed_rights = "BCD";
$r = rg_rights_allow($rights, $needed_rights);
if ($r !== FALSE) {
	echo "allow is not working right!\n";
	exit(1);
}

rg_log("rights: testing allow...");
$rights = "ABC"; $needed_rights = "";
$r = rg_rights_allow($rights, $needed_rights);
if ($r !== TRUE) {
	echo "allow is not working right (empty needed_rights)!\n";
	exit(1);
}

echo "rights: OK\n";
?>
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/rocketgit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/rocketgit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master