summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/broken_conf_mutually_exclusive4.phpt2
-rw-r--r--src/tests/config/disabled_functions_invalid_pos.ini1
-rw-r--r--src/tests/config/disabled_functions_pos.ini1
-rw-r--r--src/tests/disabled_functions_param_invalid_pos.phpt14
-rw-r--r--src/tests/disabled_functions_param_pos.phpt12
5 files changed, 29 insertions, 1 deletions
diff --git a/src/tests/broken_conf_mutually_exclusive4.phpt b/src/tests/broken_conf_mutually_exclusive4.phpt
index 4e888f5..a60f3fa 100644
--- a/src/tests/broken_conf_mutually_exclusive4.phpt
+++ b/src/tests/broken_conf_mutually_exclusive4.phpt
@@ -6,4 +6,4 @@ Broken configuration
6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini
7--FILE-- 7--FILE--
8--EXPECT-- 8--EXPECT--
9[snuffleupagus][0.0.0.0][config][error] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").param_r("^id$").drop();':'.r_param' and '.param' are mutually exclusive on line 1. \ No newline at end of file 9[snuffleupagus][0.0.0.0][config][error] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").param_r("^id$").drop();':'.r_param', '.param' and '.pos' are mutually exclusive on line 1.
diff --git a/src/tests/config/disabled_functions_invalid_pos.ini b/src/tests/config/disabled_functions_invalid_pos.ini
new file mode 100644
index 0000000..42988e4
--- /dev/null
+++ b/src/tests/config/disabled_functions_invalid_pos.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").pos("qwe").value("id").drop();
diff --git a/src/tests/config/disabled_functions_pos.ini b/src/tests/config/disabled_functions_pos.ini
new file mode 100644
index 0000000..f96cf3d
--- /dev/null
+++ b/src/tests/config/disabled_functions_pos.ini
@@ -0,0 +1 @@
sp.disable_function.function("system").pos("0").value("id").drop();
diff --git a/src/tests/disabled_functions_param_invalid_pos.phpt b/src/tests/disabled_functions_param_invalid_pos.phpt
new file mode 100644
index 0000000..91ddd93
--- /dev/null
+++ b/src/tests/disabled_functions_param_invalid_pos.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions - match on argument's position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) die "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_invalid_pos.ini
7--FILE--
8<?php
9system("echo 1");
10?>
11--EXPECTF--
12[snuffleupagus][0.0.0.0][config][error] Failed to parse arg 'qwe' of `pos` on line 1.
131
14
diff --git a/src/tests/disabled_functions_param_pos.phpt b/src/tests/disabled_functions_param_pos.phpt
new file mode 100644
index 0000000..de578b2
--- /dev/null
+++ b/src/tests/disabled_functions_param_pos.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - match on argument's position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) die "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_pos.ini
7--FILE--
8<?php
9system("id");
10?>
11--EXPECTF--
12[snuffleupagus][0.0.0.0][disabled_function][drop] The call to the function 'system' in %a/disabled_functions_param_pos.php:%d has been disabled, because its argument 'command' content (id) matched a rule.