add some tests
This commit is contained in:
		
							parent
							
								
									a887077ac8
								
							
						
					
					
						commit
						94635c0c00
					
				| @ -792,36 +792,6 @@ function iterator_map_to_array(callable $callback, iterator $iter): array | |||||||
|     return iterator_to_array(iterator_map($callback, $iter)); |     return iterator_to_array(iterator_map($callback, $iter)); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function get_class_from_file(string $file): string |  | ||||||
| { |  | ||||||
|     $fp = fopen($file, 'r'); |  | ||||||
|     $class = $buffer = ''; |  | ||||||
|     $i = 0; |  | ||||||
|     while (!$class) { |  | ||||||
|         if (feof($fp)) { |  | ||||||
|             break; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         $buffer .= fread($fp, 512); |  | ||||||
|         $tokens = token_get_all($buffer); |  | ||||||
| 
 |  | ||||||
|         if (strpos($buffer, '{') === false) { |  | ||||||
|             continue; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
|         for (;$i<count($tokens);$i++) { |  | ||||||
|             if ($tokens[$i][0] === T_CLASS) { |  | ||||||
|                 for ($j=$i+1;$j<count($tokens);$j++) { |  | ||||||
|                     if ($tokens[$j] === '{') { |  | ||||||
|                         $class = $tokens[$i+2][1]; |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     return $class; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| function stringer($s) | function stringer($s) | ||||||
| { | { | ||||||
|     if (is_array($s)) { |     if (is_array($s)) { | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								core/tests/block.test.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								core/tests/block.test.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | <?php declare(strict_types=1); | ||||||
|  | require_once "core/block.php"; | ||||||
|  | 
 | ||||||
|  | class BlockTest extends \PHPUnit\Framework\TestCase | ||||||
|  | { | ||||||
|  |     public function test_basic() { | ||||||
|  |         $b = new Block("head", "body"); | ||||||
|  |         $this->assertEquals( | ||||||
|  |             "<section id='headmain'><h3 data-toggle-sel='#headmain' class=''>head</h3><div class='blockbody'>body</div></section>\n", | ||||||
|  |             $b->get_html() | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -25,6 +25,40 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | |||||||
|         $this->assertEquals(int_escape("1"), 1); |         $this->assertEquals(int_escape("1"), 1); | ||||||
|         $this->assertEquals(int_escape("-1"), -1); |         $this->assertEquals(int_escape("-1"), -1); | ||||||
|         $this->assertEquals(int_escape("-1.5"), -1); |         $this->assertEquals(int_escape("-1.5"), -1); | ||||||
|  |         $this->assertEquals(int_escape(null), 0); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function test_url_escape() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(url_escape("^\o/^"), "%5E%5E%5Ebo%5Es%5E%5E"); | ||||||
|  |         $this->assertEquals(url_escape(null), ""); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function test_bool_escape() | ||||||
|  |     { | ||||||
|  |         $this->assertTrue(bool_escape(true)); | ||||||
|  |         $this->assertFalse(bool_escape(false)); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("true")); | ||||||
|  |         $this->assertFalse(bool_escape("false")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("t")); | ||||||
|  |         $this->assertFalse(bool_escape("f")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("T")); | ||||||
|  |         $this->assertFalse(bool_escape("F")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("yes")); | ||||||
|  |         $this->assertFalse(bool_escape("no")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("Yes")); | ||||||
|  |         $this->assertFalse(bool_escape("No")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape("on")); | ||||||
|  |         $this->assertFalse(bool_escape("off")); | ||||||
|  | 
 | ||||||
|  |         $this->assertTrue(bool_escape(1)); | ||||||
|  |         $this->assertFalse(bool_escape(0)); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public function test_clamp() |     public function test_clamp() | ||||||
| @ -36,9 +70,26 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | |||||||
|         $this->assertEquals(clamp(15, 5, 10), 10); |         $this->assertEquals(clamp(15, 5, 10), 10); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public function test_xml_tag() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals( | ||||||
|  |             "<test foo=\"bar\" >\n<cake />\n</test>\n", | ||||||
|  |             xml_tag("test", ["foo"=>"bar"], ["cake"]) | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function truncate() | ||||||
|  |     { | ||||||
|  |         $this->assertEquals(truncate("test words", 10), "test words"); | ||||||
|  |         $this->assertEquals(truncate("test words", 6), "test..."); | ||||||
|  |         $this->assertEquals(truncate("test words", 9), "test..."); | ||||||
|  |         $this->assertEquals(truncate("test words", 2), "te..."); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public function test_shorthand_int() |     public function test_shorthand_int() | ||||||
|     { |     { | ||||||
|         $this->assertEquals(to_shorthand_int(1231231231), "1.1GB"); |         $this->assertEquals(to_shorthand_int(1231231231), "1.1GB"); | ||||||
|  |         $this->assertEquals(to_shorthand_int(2), "2"); | ||||||
| 
 | 
 | ||||||
|         $this->assertEquals(parse_shorthand_int("foo"), -1); |         $this->assertEquals(parse_shorthand_int("foo"), -1); | ||||||
|         $this->assertEquals(parse_shorthand_int("32M"), 33554432); |         $this->assertEquals(parse_shorthand_int("32M"), 33554432); | ||||||
| @ -46,6 +97,33 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | |||||||
|         $this->assertEquals(parse_shorthand_int("1231231231"), 1231231231); |         $this->assertEquals(parse_shorthand_int("1231231231"), 1231231231); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     public function test_autodate() { | ||||||
|  |         $this->assertEquals( | ||||||
|  |             "<time datetime='2012-06-23T16:14:22+00:00'>June 23, 2012; 16:14</time>", | ||||||
|  |             autodate("2012-06-23 16:14:22") | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function test_validate_input() { | ||||||
|  |         $_POST = [ | ||||||
|  |             "foo" => " bar ", | ||||||
|  |             "to_null" => "  ", | ||||||
|  |             "num" => "42", | ||||||
|  |         ]; | ||||||
|  |         $this->assertEquals( | ||||||
|  |             ["foo"=>"bar"], | ||||||
|  |             validate_input(["foo"=>"string,trim,lower"]) | ||||||
|  |         ); | ||||||
|  |         //$this->assertEquals(
 | ||||||
|  |         //    ["to_null"=>null],
 | ||||||
|  |         //    validate_input(["to_null"=>"string,trim,nullify"])
 | ||||||
|  |         //);
 | ||||||
|  |         $this->assertEquals( | ||||||
|  |             ["num"=>42], | ||||||
|  |             validate_input(["num"=>"int"]) | ||||||
|  |         ); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public function test_sanitize_path() |     public function test_sanitize_path() | ||||||
|     { |     { | ||||||
|         $this->assertEquals( |         $this->assertEquals( | ||||||
| @ -116,4 +194,11 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | |||||||
|             join_path("\\/////\\\\one/\///"."\\//two\/\\//\\//", "//\/\\\/three/\\/\/") |             join_path("\\/////\\\\one/\///"."\\//two\/\\//\\//", "//\/\\\/three/\\/\/") | ||||||
|         ); |         ); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     public function test_stringer() { | ||||||
|  |         $this->assertEquals( | ||||||
|  |             '["foo"=>"bar", "baz"=>[1, 2, 3], "qux"=>["a"=>"b"]]', | ||||||
|  |             stringer(["foo"=>"bar", "baz"=>[1,2,3], "qux"=>["a"=>"b"]]) | ||||||
|  |         ); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user