]> granicus.if.org Git - php/commitdiff
add tests
authorAntony Dovgal <tony2001@php.net>
Tue, 6 Dec 2005 15:18:56 +0000 (15:18 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 6 Dec 2005 15:18:56 +0000 (15:18 +0000)
Code covered: 91.3 %

25 files changed:
ext/filter/tests/004.phpt
ext/filter/tests/005.phpt
ext/filter/tests/007.phpt [new file with mode: 0644]
ext/filter/tests/008.phpt [new file with mode: 0644]
ext/filter/tests/009.phpt [new file with mode: 0644]
ext/filter/tests/010.phpt [new file with mode: 0644]
ext/filter/tests/011.phpt [new file with mode: 0644]
ext/filter/tests/012.phpt [new file with mode: 0644]
ext/filter/tests/013.phpt [new file with mode: 0644]
ext/filter/tests/014.phpt [new file with mode: 0644]
ext/filter/tests/015.phpt [new file with mode: 0644]
ext/filter/tests/016.phpt [new file with mode: 0644]
ext/filter/tests/017.phpt [new file with mode: 0644]
ext/filter/tests/018.phpt [new file with mode: 0644]
ext/filter/tests/019.phpt [new file with mode: 0644]
ext/filter/tests/020.phpt [new file with mode: 0644]
ext/filter/tests/021.phpt [new file with mode: 0644]
ext/filter/tests/022.phpt [new file with mode: 0644]
ext/filter/tests/023.phpt [new file with mode: 0644]
ext/filter/tests/024.phpt [new file with mode: 0644]
ext/filter/tests/025.phpt [new file with mode: 0644]
ext/filter/tests/026.phpt [new file with mode: 0644]
ext/filter/tests/027.phpt [new file with mode: 0644]
ext/filter/tests/028.phpt [new file with mode: 0644]
ext/filter/tests/029.phpt [new file with mode: 0644]

index afadd2639fce77bce282c55f12b89b5d77148922..05ea95214539c3ca7caebfb1c9f64155066aafe1 100644 (file)
@@ -1,7 +1,7 @@
 --TEST--
 GET/POST/REQUEST Test with filtered data
 --INI--
-filter.default=notags
+filter.default=special_chars
 --POST--
 d="quotes"&e=\slash
 --GET--
index 07f7c5945c5433108131f27fa8c9798f58c16a89..b97baa4f5f45f882eeed9dde4f8b8e7761352608 100644 (file)
@@ -1,7 +1,7 @@
 --TEST--
 GET/REQUEST Test with fifa example data
 --INI--
-filter.default=notags
+filter.default=stripped
 --POST--
 --GET--
 id=f03_photos&pgurl=http%3A//fifaworldcup.yahoo.com/03/en/photozone/index.html
diff --git a/ext/filter/tests/007.phpt b/ext/filter/tests/007.phpt
new file mode 100644 (file)
index 0000000..ffc7278
--- /dev/null
@@ -0,0 +1,68 @@
+--TEST--
+input_has_variable()
+--GET--
+a=qwe&abc=<a>href</a>
+--POST--
+b=qwe&bbc=<a>href</a>
+--FILE--
+<?php
+
+var_dump(input_has_variable(INPUT_GET, "a"));
+var_dump(input_has_variable(INPUT_GET, "abc"));
+var_dump(input_has_variable(INPUT_GET, "nonex"));
+var_dump(input_has_variable(INPUT_GET, " "));
+var_dump(input_has_variable(INPUT_GET, ""));
+var_dump(input_has_variable(INPUT_GET, array()));
+
+var_dump(input_has_variable(INPUT_POST, "b"));
+var_dump(input_has_variable(INPUT_POST, "bbc"));
+var_dump(input_has_variable(INPUT_POST, "nonex"));
+var_dump(input_has_variable(INPUT_POST, " "));
+var_dump(input_has_variable(INPUT_POST, ""));
+var_dump(input_has_variable(INPUT_POST, array()));
+
+var_dump(input_has_variable(-1, ""));
+var_dump(input_has_variable("", ""));
+var_dump(input_has_variable(array(), array()));
+var_dump(input_has_variable(array(), ""));
+var_dump(input_has_variable("", array()));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+PHP Warning:  input_has_variable() expects parameter 2 to be string, array given in %s on line %d
+
+Warning: input_has_variable() expects parameter 2 to be string, array given in %s on line %d
+NULL
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(false)
+PHP Warning:  input_has_variable() expects parameter 2 to be string, array given in %s on line %d
+
+Warning: input_has_variable() expects parameter 2 to be string, array given in %s on line %d
+NULL
+bool(false)
+PHP Warning:  input_has_variable() expects parameter 1 to be long, string given in %s on line %d
+
+Warning: input_has_variable() expects parameter 1 to be long, string given in %s on line %d
+NULL
+PHP Warning:  input_has_variable() expects parameter 1 to be long, array given in %s on line %d
+
+Warning: input_has_variable() expects parameter 1 to be long, array given in %s on line %d
+NULL
+PHP Warning:  input_has_variable() expects parameter 1 to be long, array given in %s on line %d
+
+Warning: input_has_variable() expects parameter 1 to be long, array given in %s on line %d
+NULL
+PHP Warning:  input_has_variable() expects parameter 1 to be long, string given in %s on line %d
+
+Warning: input_has_variable() expects parameter 1 to be long, string given in %s on line %d
+NULL
+Done
diff --git a/ext/filter/tests/008.phpt b/ext/filter/tests/008.phpt
new file mode 100644 (file)
index 0000000..62b4100
--- /dev/null
@@ -0,0 +1,90 @@
+--TEST--
+input_filters_list()
+--GET--
+
+--FILE--
+<?php
+
+var_dump(input_filters_list());
+var_dump(input_filters_list(array()));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+array(18) {
+  [0]=>
+  string(3) "int"
+  [1]=>
+  string(7) "boolean"
+  [2]=>
+  string(5) "float"
+  [3]=>
+  string(15) "validate_regexp"
+  [4]=>
+  string(12) "validate_url"
+  [5]=>
+  string(14) "validate_email"
+  [6]=>
+  string(11) "validate_ip"
+  [7]=>
+  string(6) "string"
+  [8]=>
+  string(8) "stripped"
+  [9]=>
+  string(7) "encoded"
+  [10]=>
+  string(13) "special_chars"
+  [11]=>
+  string(10) "unsafe_raw"
+  [12]=>
+  string(5) "email"
+  [13]=>
+  string(3) "url"
+  [14]=>
+  string(10) "number_int"
+  [15]=>
+  string(12) "number_float"
+  [16]=>
+  string(12) "magic_quotes"
+  [17]=>
+  string(8) "callback"
+}
+array(18) {
+  [0]=>
+  string(3) "int"
+  [1]=>
+  string(7) "boolean"
+  [2]=>
+  string(5) "float"
+  [3]=>
+  string(15) "validate_regexp"
+  [4]=>
+  string(12) "validate_url"
+  [5]=>
+  string(14) "validate_email"
+  [6]=>
+  string(11) "validate_ip"
+  [7]=>
+  string(6) "string"
+  [8]=>
+  string(8) "stripped"
+  [9]=>
+  string(7) "encoded"
+  [10]=>
+  string(13) "special_chars"
+  [11]=>
+  string(10) "unsafe_raw"
+  [12]=>
+  string(5) "email"
+  [13]=>
+  string(3) "url"
+  [14]=>
+  string(10) "number_int"
+  [15]=>
+  string(12) "number_float"
+  [16]=>
+  string(12) "magic_quotes"
+  [17]=>
+  string(8) "callback"
+}
+Done
diff --git a/ext/filter/tests/009.phpt b/ext/filter/tests/009.phpt
new file mode 100644 (file)
index 0000000..130c5b3
--- /dev/null
@@ -0,0 +1,34 @@
+--TEST--
+input_name_to_filter()
+--GET--
+
+--FILE--
+<?php
+
+var_dump(input_name_to_filter("stripped"));
+var_dump(input_name_to_filter("string"));
+var_dump(input_name_to_filter("url"));
+var_dump(input_name_to_filter("int"));
+var_dump(input_name_to_filter("none"));
+var_dump(input_name_to_filter(array()));
+var_dump(input_name_to_filter(-1));
+var_dump(input_name_to_filter(0,0,0));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+int(513)
+int(513)
+int(518)
+int(257)
+NULL
+PHP Warning:  input_name_to_filter() expects parameter 1 to be string, array given in %s on line %d
+
+Warning: input_name_to_filter() expects parameter 1 to be string, array given in %s on line %d
+NULL
+NULL
+PHP Warning:  input_name_to_filter() expects exactly 1 parameter, 3 given in %s on line %d
+
+Warning: input_name_to_filter() expects exactly 1 parameter, 3 given in %s on line %d
+NULL
+Done
diff --git a/ext/filter/tests/010.phpt b/ext/filter/tests/010.phpt
new file mode 100644 (file)
index 0000000..d582231
--- /dev/null
@@ -0,0 +1,63 @@
+--TEST--
+filter_data()
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data(array(1,"1","", "-23234", "text", "asdf234asdfgs", array()), FL_INT));
+var_dump(filter_data(array(1.2,"1.7","", "-23234.123", "text", "asdf234.2asdfgs", array()), FL_FLOAT));
+var_dump(filter_data(1, array()));
+var_dump(filter_data(1, FS_STRING, 1));
+var_dump(filter_data(1, FS_STRING, 0));
+var_dump(filter_data(1, FS_STRING, array()));
+var_dump(filter_data(1, -1, array(123)));
+var_dump(filter_data(1, 0, array()));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+array(7) {
+  [0]=>
+  int(1)
+  [1]=>
+  int(1)
+  [2]=>
+  int(0)
+  [3]=>
+  int(-23234)
+  [4]=>
+  NULL
+  [5]=>
+  NULL
+  [6]=>
+  array(0) {
+  }
+}
+array(7) {
+  [0]=>
+  float(1.2)
+  [1]=>
+  float(1.7)
+  [2]=>
+  float(0)
+  [3]=>
+  float(-23234.123)
+  [4]=>
+  NULL
+  [5]=>
+  NULL
+  [6]=>
+  array(0) {
+  }
+}
+PHP Warning:  filter_data() expects parameter 2 to be long, array given in %s on line %d
+
+Warning: filter_data() expects parameter 2 to be long, array given in %s on line %d
+NULL
+string(1) "1"
+string(1) "1"
+string(1) "1"
+string(1) "1"
+string(1) "1"
+Done
diff --git a/ext/filter/tests/011.phpt b/ext/filter/tests/011.phpt
new file mode 100644 (file)
index 0000000..a2e4b5b
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+input_get()
+--GET--
+a=<b>test</b>&b=http://example.com
+--POST--
+c=<p>string</p>&d=12345.7
+--FILE--
+<?php
+
+var_dump(input_get(INPUT_GET, "a", FS_STRIPPED));
+var_dump(input_get(INPUT_GET, "b", FS_URL));
+var_dump(input_get(INPUT_GET, "a", FS_SPECIAL_CHARS, array(1,2,3,4,5)));
+var_dump(input_get(INPUT_GET, "b", FL_FLOAT, new stdClass));
+var_dump(input_get(INPUT_POST, "c", FS_STRIPPED, array(5,6,7,8)));
+var_dump(input_get(INPUT_POST, "d", FL_FLOAT));
+var_dump(input_get(INPUT_POST, "c", FS_SPECIAL_CHARS));
+var_dump(input_get(INPUT_POST, "d", FL_INT));
+
+var_dump(input_get(new stdClass, "d"));
+
+var_dump(input_get(INPUT_POST, "c", "", ""));
+var_dump(input_get("", "", "", "", ""));
+var_dump(input_get(0, 0, 0, 0, 0));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(4) "test"
+string(18) "http://example.com"
+string(27) "&#60;b&#62;test&#60;/b&#62;"
+NULL
+string(6) "string"
+float(12345.7)
+string(29) "&#60;p&#62;string&#60;/p&#62;"
+NULL
+PHP Warning:  input_get() expects parameter 1 to be long, object given in %s on line %d
+
+Warning: input_get() expects parameter 1 to be long, object given in %s on line %d
+NULL
+PHP Warning:  input_get() expects parameter 3 to be long, string given in %s on line %d
+
+Warning: input_get() expects parameter 3 to be long, string given in %s on line %d
+NULL
+PHP Warning:  input_get() expects parameter 1 to be long, string given in %s on line %d
+
+Warning: input_get() expects parameter 1 to be long, string given in %s on line %d
+NULL
+bool(false)
+Done
diff --git a/ext/filter/tests/012.phpt b/ext/filter/tests/012.phpt
new file mode 100644 (file)
index 0000000..99b218d
--- /dev/null
@@ -0,0 +1,18 @@
+--TEST--
+input_get()
+--GET--
+
+--FILE--
+<?php
+
+var_dump(input_get(INPUT_GET, "test"));
+var_dump(input_get(INPUT_POST, "test"));
+var_dump(input_get(INPUT_COOKIE, ""));
+
+echo "Done\n";
+?>
+--EXPECT--     
+bool(false)
+bool(false)
+bool(false)
+Done
diff --git a/ext/filter/tests/013.phpt b/ext/filter/tests/013.phpt
new file mode 100644 (file)
index 0000000..6aad0c8
--- /dev/null
@@ -0,0 +1,42 @@
+--TEST--
+filter_data() and flags
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("0xff", FL_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_data("07", FL_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+var_dump(filter_data("0xff0000", FL_INT, array("flags"=>FILTER_FLAG_ALLOW_HEX)));
+var_dump(filter_data("0666", FL_INT, array("flags"=>FILTER_FLAG_ALLOW_OCTAL)));
+
+var_dump(filter_data("6", FL_INT, array("min_range"=>1, "max_range"=>7)));
+var_dump(filter_data("6", FL_INT, array("min_range"=>0, "max_range"=>5)));
+var_dump(filter_data(-1, FL_INT, array("min_range"=>1, "max_range"=>7)));
+var_dump(filter_data(-1, FL_INT, array("min_range"=>-4, "max_range"=>7)));
+
+var_dump(filter_data("", FL_INT, array("min_range"=>-4, "max_range"=>7)));
+var_dump(filter_data("", FL_INT, array("min_range"=>2, "max_range"=>7)));
+var_dump(filter_data("", FL_INT, array("min_range"=>-5, "max_range"=>-3)));
+var_dump(filter_data(345, FL_INT, array("min_range"=>500, "max_range"=>100)));
+var_dump(filter_data("0ff", FL_INT));
+var_dump(filter_data("010", FL_INT));
+
+echo "Done\n";
+?>
+--EXPECT--     
+int(255)
+int(7)
+int(16711680)
+int(438)
+int(6)
+NULL
+NULL
+int(-1)
+int(0)
+NULL
+NULL
+NULL
+NULL
+NULL
+Done
diff --git a/ext/filter/tests/014.phpt b/ext/filter/tests/014.phpt
new file mode 100644 (file)
index 0000000..49f0edf
--- /dev/null
@@ -0,0 +1,44 @@
+--TEST--
+filter_data() and FL_BOOLEAN
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("no", FL_BOOLEAN));
+var_dump(filter_data(new stdClass, FL_BOOLEAN));
+var_dump(filter_data("yes", FL_BOOLEAN));
+var_dump(filter_data("true", FL_BOOLEAN));
+var_dump(filter_data("false", FL_BOOLEAN));
+var_dump(filter_data("off", FL_BOOLEAN));
+var_dump(filter_data("on", FL_BOOLEAN));
+var_dump(filter_data("0", FL_BOOLEAN));
+var_dump(filter_data("1", FL_BOOLEAN));
+var_dump(filter_data("NONE", FL_BOOLEAN));
+var_dump(filter_data("", FL_BOOLEAN));
+var_dump(filter_data(-1, FL_BOOLEAN));
+var_dump(filter_data("000000", FL_BOOLEAN));
+var_dump(filter_data("111111", FL_BOOLEAN));
+       
+
+echo "Done\n";
+?>
+--EXPECTF--    
+bool(false)
+PHP Notice:  Object of class stdClass to string conversion in %s on line %d
+
+Notice: Object of class stdClass to string conversion in %s on line %d
+NULL
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+NULL
+bool(false)
+NULL
+NULL
+NULL
+Done
diff --git a/ext/filter/tests/015.phpt b/ext/filter/tests/015.phpt
new file mode 100644 (file)
index 0000000..7fef6b0
--- /dev/null
@@ -0,0 +1,74 @@
+--TEST--
+filter_data() and FL_URL
+--GET--
+
+--FILE--
+<?php
+
+$values = Array(
+'http://example.com/index.html',       
+'http://www.example.com/index.php',    
+'http://www.example/img/test.png',     
+'http://www.example/img/dir/', 
+'http://www.example/img/dir',  
+'http//www.example/wrong/url/',        
+'http:/www.example',   
+'file:///tmp/test.c',  
+'ftp://ftp.example.com/tmp/',  
+'/tmp/test.c', 
+'/',   
+'http://',     
+'http:/',      
+'http:',       
+'http',        
+'',    
+-1,    
+array(),       
+);
+foreach ($values as $value) {
+       var_dump(filter_data($value, FL_URL));
+}
+
+
+var_dump(filter_data("qwe", FL_URL, FILTER_FLAG_SCHEME_REQUIRED));
+var_dump(filter_data("http://qwe", FL_URL, FILTER_FLAG_SCHEME_REQUIRED));
+var_dump(filter_data("http://", FL_URL, FILTER_FLAG_HOST_REQUIRED));
+var_dump(filter_data("/tmp/test", FL_URL, FILTER_FLAG_HOST_REQUIRED));
+var_dump(filter_data("http://www.example.com", FL_URL, FILTER_FLAG_HOST_REQUIRED));
+var_dump(filter_data("http://www.example.com", FL_URL, FILTER_FLAG_PATH_REQUIRED));
+var_dump(filter_data("http://www.example.com/path/at/the/server/", FL_URL, FILTER_FLAG_PATH_REQUIRED));
+var_dump(filter_data("http://www.example.com/index.html", FL_URL, FILTER_FLAG_QUERY_REQUIRED));
+var_dump(filter_data("http://www.example.com/index.php?a=b&c=d", FL_URL, FILTER_FLAG_QUERY_REQUIRED));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(29) "http://example.com/index.html"
+string(32) "http://www.example.com/index.php"
+string(31) "http://www.example/img/test.png"
+string(27) "http://www.example/img/dir/"
+string(26) "http://www.example/img/dir"
+string(28) "http//www.example/wrong/url/"
+string(17) "http:/www.example"
+string(18) "file:///tmp/test.c"
+string(26) "ftp://ftp.example.com/tmp/"
+string(11) "/tmp/test.c"
+string(1) "/"
+NULL
+string(6) "http:/"
+string(5) "http:"
+string(4) "http"
+string(0) ""
+string(2) "-1"
+array(0) {
+}
+NULL
+string(10) "http://qwe"
+NULL
+NULL
+string(22) "http://www.example.com"
+NULL
+string(42) "http://www.example.com/path/at/the/server/"
+NULL
+string(40) "http://www.example.com/index.php?a=b&c=d"
+Done
diff --git a/ext/filter/tests/016.phpt b/ext/filter/tests/016.phpt
new file mode 100644 (file)
index 0000000..66f85e1
--- /dev/null
@@ -0,0 +1,34 @@
+--TEST--
+filter_data() and FL_EMAIL
+--GET--
+
+--FILE--
+<?php
+$values = Array(
+'a@b.c',       
+'abuse@example.com',   
+'test!.!@#$%^&*@example.com',  
+'test@@#$%^&*())).com',        
+'test@.com',   
+'test@com',    
+'@',   
+'[]()/@example.com',   
+'QWERTYUIOPASDFGHJKLZXCVBNM@QWERTYUIOPASDFGHJKLZXCVBNM.NET',   
+);
+foreach ($values as $value) {
+       var_dump(filter_data($value, FL_EMAIL));
+}
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(5) "a@b.c"
+string(17) "abuse@example.com"
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+string(57) "QWERTYUIOPASDFGHJKLZXCVBNM@QWERTYUIOPASDFGHJKLZXCVBNM.NET"
+Done
diff --git a/ext/filter/tests/017.phpt b/ext/filter/tests/017.phpt
new file mode 100644 (file)
index 0000000..bc2aae2
--- /dev/null
@@ -0,0 +1,27 @@
+--TEST--
+filter_data() and FL_REGEXP
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("data", FL_REGEXP, array("regexp"=>'/.*/')));
+var_dump(filter_data("data", FL_REGEXP, array("regexp"=>'/^b(.*)/')));
+var_dump(filter_data("data", FL_REGEXP, array("regexp"=>'/^d(.*)/')));
+var_dump(filter_data("data", FL_REGEXP, array("regexp"=>'blah')));
+var_dump(filter_data("data", FL_REGEXP, array("regexp"=>'[')));
+var_dump(filter_data("data", FL_REGEXP));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(4) "data"
+NULL
+string(4) "data"
+NULL
+NULL
+PHP Warning:  filter_data(): 'regexp' option missing in %s on line %d
+
+Warning: filter_data(): 'regexp' option missing in %s on line %d
+NULL
+Done
diff --git a/ext/filter/tests/018.phpt b/ext/filter/tests/018.phpt
new file mode 100644 (file)
index 0000000..3996028
--- /dev/null
@@ -0,0 +1,57 @@
+--TEST--
+filter_data() and FL_IP
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("192.168.0.1", FL_IP));
+var_dump(filter_data("192.168.0.1.1", FL_IP));
+var_dump(filter_data("::1", FL_IP));
+var_dump(filter_data("fe00::0", FL_IP));
+var_dump(filter_data("::123456", FL_IP));
+var_dump(filter_data("::1::b", FL_IP));
+var_dump(filter_data("127.0.0.1", FL_IP));
+var_dump(filter_data("192.168.0.1", FL_IP, FILTER_FLAG_NO_PRIV_RANGE));
+var_dump(filter_data("192.0.34.166", FL_IP, FILTER_FLAG_NO_PRIV_RANGE));
+var_dump(filter_data("127.0.0.1", FL_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_data("192.0.0.1", FL_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_data("192.0.34.166", FL_IP));
+var_dump(filter_data("256.1237.123.1", FL_IP));
+var_dump(filter_data("255.255.255.255", FL_IP));
+var_dump(filter_data("255.255.255.255", FL_IP, FILTER_FLAG_NO_RES_RANGE));
+var_dump(filter_data("", FL_IP));
+var_dump(filter_data(-1, FL_IP));
+
+
+var_dump(filter_data("::1", FL_IP, FILTER_FLAG_IPV4));
+var_dump(filter_data("127.0.0.1", FL_IP, FILTER_FLAG_IPV6));
+
+var_dump(filter_data("::1", FL_IP, FILTER_FLAG_IPV6));
+var_dump(filter_data("127.0.0.1", FL_IP, FILTER_FLAG_IPV4));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(11) "192.168.0.1"
+NULL
+string(3) "::1"
+string(7) "fe00::0"
+NULL
+NULL
+string(9) "127.0.0.1"
+NULL
+string(12) "192.0.34.166"
+string(9) "127.0.0.1"
+string(9) "192.0.0.1"
+string(12) "192.0.34.166"
+NULL
+string(15) "255.255.255.255"
+NULL
+NULL
+NULL
+NULL
+NULL
+string(3) "::1"
+string(9) "127.0.0.1"
+Done
diff --git a/ext/filter/tests/019.phpt b/ext/filter/tests/019.phpt
new file mode 100644 (file)
index 0000000..505f783
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+filter_data() & FL_IP and weird data
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("....", FL_IP));
+var_dump(filter_data("...", FL_IP));
+var_dump(filter_data("..", FL_IP));
+var_dump(filter_data(".", FL_IP));
+var_dump(filter_data("1.1.1.1", FL_IP));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+NULL
+NULL
+NULL
+NULL
+string(7) "1.1.1.1"
+Done
diff --git a/ext/filter/tests/020.phpt b/ext/filter/tests/020.phpt
new file mode 100644 (file)
index 0000000..cbd525c
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+filter_data() and FS_MAGIC_QUOTES
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("test'asd'asd'' asd\'\"asdfasdf", FS_MAGIC_QUOTES));
+var_dump(filter_data("'", FS_MAGIC_QUOTES));
+var_dump(filter_data("", FS_MAGIC_QUOTES));
+var_dump(filter_data(-1, FS_MAGIC_QUOTES));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(36) "test\'asd\'asd\'\' asd\\\'\"asdfasdf"
+string(2) "\'"
+string(0) ""
+string(2) "-1"
+Done
diff --git a/ext/filter/tests/021.phpt b/ext/filter/tests/021.phpt
new file mode 100644 (file)
index 0000000..e27005f
--- /dev/null
@@ -0,0 +1,46 @@
+--TEST--
+filter_data() and FS_NUMBER_*
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("qwertyu123456dfghj", FS_NUMBER_INT));
+var_dump(filter_data("asd123123.asd123.23", FS_NUMBER_INT));
+var_dump(filter_data("123,23", FS_NUMBER_INT));
+var_dump(filter_data("", FS_NUMBER_INT));
+var_dump(filter_data("0", FS_NUMBER_INT));
+var_dump(filter_data("asd123.2asd", FS_NUMBER_INT));
+var_dump(filter_data("qwertyuiop", FS_NUMBER_INT));
+var_dump(filter_data("123.4", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+var_dump(filter_data("123,4", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+var_dump(filter_data("123.4", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_THOUSAND));
+var_dump(filter_data("123,4", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_THOUSAND));
+var_dump(filter_data("123.4e", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_SCIENTIFIC));
+var_dump(filter_data("123,4E", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_SCIENTIFIC));
+var_dump(filter_data("qwe123,4qwe", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+var_dump(filter_data("werty65456.34", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+var_dump(filter_data("234.56fsfd", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+var_dump(filter_data("", FS_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(6) "123456"
+string(11) "12312312323"
+string(5) "12323"
+string(0) ""
+string(1) "0"
+string(4) "1232"
+string(0) ""
+string(5) "123.4"
+string(4) "1234"
+string(4) "1234"
+string(5) "123,4"
+string(5) "1234e"
+string(5) "1234E"
+string(4) "1234"
+string(8) "65456.34"
+string(6) "234.56"
+string(0) ""
+Done
diff --git a/ext/filter/tests/022.phpt b/ext/filter/tests/022.phpt
new file mode 100644 (file)
index 0000000..aa1d85f
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+filter_data() and FS_EMAIL
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("a@b.c", FS_EMAIL));
+var_dump(filter_data("a[!@#$%^&*()@a@#$%^&*(.com@#$%^&*(", FS_EMAIL));
+var_dump(filter_data("white space here \ \ \" som more", FS_EMAIL));
+var_dump(filter_data("", FS_EMAIL));
+var_dump(filter_data("123456789000000", FS_EMAIL));
+       
+echo "Done\n";
+?>
+--EXPECTF--    
+string(5) "a@b.c"
+string(30) "a[!@#$%^&*@a@#$%^&*.com@#$%^&*"
+string(21) "whitespaceheresommore"
+string(0) ""
+string(15) "123456789000000"
+Done
diff --git a/ext/filter/tests/023.phpt b/ext/filter/tests/023.phpt
new file mode 100644 (file)
index 0000000..122e27e
--- /dev/null
@@ -0,0 +1,22 @@
+--TEST--
+filter_data() and FS_UNSAFE_RAW
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("}\"<p>test para</p>", FS_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_data("a[!@#<b>$%^&*()@a@#$%^&*(.<br>com@#$%^&*(", FS_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_data("white space here \ \ \" some more", FS_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_data("", FS_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_data("             123456789000000       <qwertyuiop> ", FS_UNSAFE_RAW, FILTER_FLAG_ENCODE_AMP));
+       
+echo "Done\n";
+?>
+--EXPECT--     
+string(18) "}"<p>test para</p>"
+string(53) "a[!@#<b>$%^&#38;*()@a@#$%^&#38;*(.<br>com@#$%^&#38;*("
+string(32) "white space here \ \ " some more"
+string(0) ""
+string(48) "             123456789000000       <qwertyuiop> "
+Done
diff --git a/ext/filter/tests/024.phpt b/ext/filter/tests/024.phpt
new file mode 100644 (file)
index 0000000..459572d
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+filter_data() and FS_ENCODED
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("\"<br>blah</ph>", FS_ENCODED));
+var_dump(filter_data("", FS_ENCODED));
+var_dump(filter_data("  text here  ", FS_ENCODED));
+var_dump(filter_data("!@#$%^&*()QWERTYUIOP{ASDFGHJKL:\"ZXCVBNM<>?", FS_ENCODED));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(26) "%22%3Cbr%3Eblah%3C%2Fph%3E"
+string(0) ""
+string(23) "%20%20text%20here%20%20"
+string(74) "%21%40%23%24%25%5E%26%2A%28%29QWERTYUIOP%7BASDFGHJKL%3A%22ZXCVBNM%3C%3E%3F"
+Done
diff --git a/ext/filter/tests/025.phpt b/ext/filter/tests/025.phpt
new file mode 100644 (file)
index 0000000..b7bf945
--- /dev/null
@@ -0,0 +1,26 @@
+--TEST--
+filter_data() and FS_STRING
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("", FS_STRING));
+var_dump(filter_data("<>", FS_STRING));
+var_dump(filter_data("<>!@#$%^&*()'\"", FS_STRING, FILTER_FLAG_NO_ENCODE_QUOTES));
+var_dump(filter_data("<>!@#$%^&*()'\"", FS_STRING, FILTER_FLAG_ENCODE_AMP));
+var_dump(filter_data("<>`1234567890", FS_STRING));
+var_dump(filter_data("`123`", FS_STRING));
+var_dump(filter_data(".", FS_STRING));
+
+echo "Done\n";
+?>
+--EXPECT--     
+NULL
+NULL
+string(12) "!@#$%^&*()'""
+string(32) "!@#$%^&#38;*()&#38;#39;&#38;#34;"
+string(11) "`1234567890"
+string(5) "`123`"
+string(1) "."
+Done
diff --git a/ext/filter/tests/026.phpt b/ext/filter/tests/026.phpt
new file mode 100644 (file)
index 0000000..21aaba1
--- /dev/null
@@ -0,0 +1,32 @@
+--TEST--
+filter_data() and FS_STRIPPED
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("<p>Let me <font color=\"#000000\">see</font> you <br /><b>Stripped</b> down to the bone</p>", FS_STRIPPED));
+var_dump(filter_data("!@#$%^&*()><<>+_\"'<br><p /><li />", FS_STRIPPED));
+var_dump(filter_data("", FS_STRIPPED));
+
+var_dump(filter_data("<p>Let me <font color=\"#000000\">see</font> you <br /><b>Stripped</b> down to the bone</p>", FS_STRIPPED, FILTER_FLAG_STRIP_LOW));
+var_dump(filter_data("!@#$%^&*()><<>+_\"'<br><p /><li />", FS_STRIPPED, FILTER_FLAG_STRIP_LOW));
+var_dump(filter_data("", FS_STRIPPED, FILTER_FLAG_STRIP_LOW));
+
+var_dump(filter_data("<p>Let me <font color=\"#000000\">see</font> you <br /><b>Stripped</b> down to the bone</p>", FS_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+var_dump(filter_data("!@#$%^&*()><<>+_\"'<br><p /><li />", FS_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+var_dump(filter_data("", FS_STRIPPED, FILTER_FLAG_STRIP_HIGH));
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(40) "Let me see you Stripped down to the bone"
+string(11) "!@#$%^&*()>"
+NULL
+string(40) "Let me see you Stripped down to the bone"
+string(11) "!@#$%^&*()>"
+NULL
+string(40) "Let me see you Stripped down to the bone"
+string(11) "!@#$%^&*()>"
+NULL
+Done
diff --git a/ext/filter/tests/027.phpt b/ext/filter/tests/027.phpt
new file mode 100644 (file)
index 0000000..2532f1e
--- /dev/null
@@ -0,0 +1,32 @@
+--TEST--
+filter_data() and FS_ENCODED
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_ENCODED));
+var_dump(filter_data("<data&sons>", FS_ENCODED));
+var_dump(filter_data("", FS_ENCODED));
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_ENCODED, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_data("<data&sons>", FS_ENCODED, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_data("", FS_ENCODED, FILTER_FLAG_ENCODE_LOW));
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_ENCODED, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_data("<data&sons>", FS_ENCODED, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_data("", FS_ENCODED, FILTER_FLAG_ENCODE_HIGH));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(75) "%3F%3E%3C%21%40%23%24%25%5E%26%2A%28%29%7D%7B%7EQwertyuilfdsasdfgmnbvcxcvbn"
+string(17) "%3Cdata%26sons%3E"
+string(0) ""
+string(75) "%3F%3E%3C%21%40%23%24%25%5E%26%2A%28%29%7D%7B%7EQwertyuilfdsasdfgmnbvcxcvbn"
+string(17) "%3Cdata%26sons%3E"
+string(0) ""
+string(75) "%3F%3E%3C%21%40%23%24%25%5E%26%2A%28%29%7D%7B%7EQwertyuilfdsasdfgmnbvcxcvbn"
+string(17) "%3Cdata%26sons%3E"
+string(0) ""
+Done
diff --git a/ext/filter/tests/028.phpt b/ext/filter/tests/028.phpt
new file mode 100644 (file)
index 0000000..a96518a
--- /dev/null
@@ -0,0 +1,37 @@
+--TEST--
+filter_data() and FS_SPECIAL_CHARS
+--GET--
+
+--FILE--
+<?php
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_SPECIAL_CHARS));
+var_dump(filter_data("<data&sons>", FS_SPECIAL_CHARS));
+var_dump(filter_data("", FS_SPECIAL_CHARS));
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_data("<data&sons>", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+var_dump(filter_data("", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+
+var_dump(filter_data("?><!@#$%^&*()}{~Qwertyuilfdsasdfgmnbvcxcvbn", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_data("<data&sons>", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_data("", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+
+var_dump(filter_data("кириллица", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_HIGH));
+var_dump(filter_data("кириллица", FS_SPECIAL_CHARS, FILTER_FLAG_ENCODE_LOW));
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(55) "?&#62;&#60;!@#$%^&#38;*()}{~Qwertyuilfdsasdfgmnbvcxcvbn"
+string(23) "&#60;data&#38;sons&#62;"
+string(0) ""
+string(55) "?&#62;&#60;!@#$%^&#38;*()}{~Qwertyuilfdsasdfgmnbvcxcvbn"
+string(23) "&#60;data&#38;sons&#62;"
+string(0) ""
+string(55) "?&#62;&#60;!@#$%^&#38;*()}{~Qwertyuilfdsasdfgmnbvcxcvbn"
+string(23) "&#60;data&#38;sons&#62;"
+string(0) ""
+string(108) "&#208;&#186;&#208;&#184;&#209;&#128;&#208;&#184;&#208;&#187;&#208;&#187;&#208;&#184;&#209;&#134;&#208;&#176;"
+string(18) "кириллица"
+Done
diff --git a/ext/filter/tests/029.phpt b/ext/filter/tests/029.phpt
new file mode 100644 (file)
index 0000000..b337175
--- /dev/null
@@ -0,0 +1,108 @@
+--TEST--
+filter_data() and FC_CALLBACK
+--GET--
+
+--FILE--
+<?php
+
+/* Simple callback function */
+function test($var) {
+       return strtoupper($var);
+}
+       
+var_dump(filter_data("data", FC_CALLBACK, "test"));
+var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FC_CALLBACK, "test"));
+var_dump(filter_data("", FC_CALLBACK, "test"));
+var_dump(filter_data("qwe", FC_CALLBACK, "no such func"));
+var_dump(filter_data("qwe", FC_CALLBACK, ""));
+var_dump(filter_data("qwe", FC_CALLBACK));
+
+/* Simple class method callback */
+class test_class {
+       static function test ($var) {
+               return strtolower($var);
+       }
+}
+
+var_dump(filter_data("dAtA", FC_CALLBACK, array("test_class", "test")));
+var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FC_CALLBACK, array("test_class","test")));
+var_dump(filter_data("", FC_CALLBACK, array("test_class","test")));
+
+/* empty function without return value */
+function test1($var) {
+}
+       
+var_dump(filter_data("data", FC_CALLBACK, "test1"));
+var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FC_CALLBACK, "test1"));
+var_dump(filter_data("", FC_CALLBACK, "test1"));
+
+/* attempting to change data by reference */
+function test2(&$var) {
+       $var = 1;
+}
+       
+var_dump(filter_data("data", FC_CALLBACK, "test2"));
+var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FC_CALLBACK, "test2"));
+var_dump(filter_data("", FC_CALLBACK, "test2"));
+
+/* unsetting data */
+function test3(&$var) {
+       unset($var);
+}
+       
+var_dump(filter_data("data", FC_CALLBACK, "test3"));
+var_dump(filter_data("~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?\"}{:", FC_CALLBACK, "test3"));
+var_dump(filter_data("", FC_CALLBACK, "test3"));
+
+/* unset data and return value */
+function test4(&$var) {
+       unset($var);
+       return 1;
+}
+       
+var_dump(filter_data("data", FC_CALLBACK, "test4"));
+
+/* thrown exception in the callback */
+function test5(&$var) {
+       throw new Exception("test");
+}
+
+try {
+       var_dump(filter_data("data", FC_CALLBACK, "test5"));
+} catch (Exception $e) {
+       var_dump($e->getMessage());
+}
+
+echo "Done\n";
+?>
+--EXPECTF--    
+string(4) "DATA"
+string(46) "~!@#$%^&*()_QWERTYUIOPASDFGHJKLZXCVBNM<>>?"}{:"
+string(0) ""
+PHP Warning:  filter_data(): First argument is expected to be a valid callback in %s on line %d
+
+Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+NULL
+PHP Warning:  filter_data(): First argument is expected to be a valid callback in %s on line %d
+
+Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+NULL
+PHP Warning:  filter_data(): First argument is expected to be a valid callback in %s on line %d
+
+Warning: filter_data(): First argument is expected to be a valid callback in %s on line %d
+NULL
+string(4) "data"
+string(46) "~!@#$%^&*()_qwertyuiopasdfghjklzxcvbnm<>>?"}{:"
+string(0) ""
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+NULL
+int(1)
+string(4) "test"
+Done