diff options
| author | Thibault "bui" Koechlin | 2017-10-19 18:05:37 +0200 |
|---|---|---|
| committer | GitHub | 2017-10-19 18:05:37 +0200 |
| commit | 8d3a23b2cc4cc433706706db5ba5fbfb24e06b7c (patch) | |
| tree | 69b4cecad32571120b9cd6edbdc2f0525805fa9d /src/tests | |
| parent | e8d255e5cef8949256d3290b2d8fd22de9428a83 (diff) | |
| parent | 066b79abe9943821240ccc3a458e8ba45b9ee9e8 (diff) | |
Merge pull request #33 from nbs-system/4-match-on-arg-pos
Implement match on arguments position
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/broken_conf_mutually_exclusive4.phpt | 2 | ||||
| -rw-r--r-- | src/tests/config/disabled_functions_invalid_pos.ini | 1 | ||||
| -rw-r--r-- | src/tests/config/disabled_functions_pos.ini | 1 | ||||
| -rw-r--r-- | src/tests/disabled_functions_param_invalid_pos.phpt | 14 | ||||
| -rw-r--r-- | src/tests/disabled_functions_param_pos.phpt | 12 |
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 | |||
| 6 | sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini | 6 | sp.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-- | ||
| 2 | Disable functions - match on argument's position | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_functions_invalid_pos.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | system("echo 1"); | ||
| 10 | ?> | ||
| 11 | --EXPECTF-- | ||
| 12 | [snuffleupagus][0.0.0.0][config][error] Failed to parse arg 'qwe' of `pos` on line 1. | ||
| 13 | 1 | ||
| 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-- | ||
| 2 | Disable functions - match on argument's position | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) die "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/disabled_functions_pos.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | system("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. | ||
