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)); | ||||
| } | ||||
| 
 | ||||
| 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) | ||||
| { | ||||
|     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.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() | ||||
| @ -36,9 +70,26 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | ||||
|         $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() | ||||
|     { | ||||
|         $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("32M"), 33554432); | ||||
| @ -46,6 +97,33 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | ||||
|         $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() | ||||
|     { | ||||
|         $this->assertEquals( | ||||
| @ -116,4 +194,11 @@ class PolyfillsTest extends \PHPUnit\Framework\TestCase | ||||
|             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