604 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			604 lines
		
	
	
		
			35 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace {
 | 
						|
  function tsimple(): int { return 0; }
 | 
						|
}
 | 
						|
 | 
						|
namespace nur\sery\wip\php\impl {
 | 
						|
  function ntsimple(): int { return 0; }
 | 
						|
}
 | 
						|
 | 
						|
namespace nur\sery\wip\php {
 | 
						|
  use nulib\tests\TestCase;
 | 
						|
  use nur\sery\wip\php\impl\MyClass;
 | 
						|
 | 
						|
  class funcTest extends TestCase {
 | 
						|
    function testSimple() {
 | 
						|
      # scalaires
 | 
						|
      $func = null; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = null; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = false; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = false; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ""; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ""; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "tsimple"; self::assertTrue(func::verifix_simple($func));
 | 
						|
      $func = "tsimple"; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertTrue(func::verifix_simple($func));
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = 'tmissing'; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = 'tmissing'; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "::tstatic"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "::tstatic"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "->tmethod"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "->tmethod"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "::tmissing"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "::tmissing"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = "->tmissing"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = "->tmissing"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = MyClass::class."::tstatic"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = MyClass::class."::tstatic"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      # tableaux avec un seul scalaire
 | 
						|
      $func = []; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = []; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class."::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      # tableaux avec deux scalaires
 | 
						|
      $func = [null, "tsimple"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "tsimple"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, "tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, "::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, "->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, "::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [null, "->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [null, "->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "tsimple"]; self::assertTrue(func::verifix_simple($func));
 | 
						|
      $func = [false, "tsimple"]; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertTrue(func::verifix_simple($func));
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false, "tmissing"]; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false, "::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "tsimple"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "tsimple"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = ["", "->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = ["", "->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tstatic"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "::tstatic"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertFalse(func::verifix_simple($func));
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertFalse(func::verifix_simple($func, false));
 | 
						|
    }
 | 
						|
 | 
						|
    function testSimpleResults() {
 | 
						|
      $func = "tsimple"; self::assertTrue(func::verifix_simple($func));
 | 
						|
      self::assertSame([false, "tsimple"], $func);
 | 
						|
      $func = "tsimple"; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, "tsimple"], $func);
 | 
						|
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertTrue(func::verifix_simple($func));
 | 
						|
      self::assertSame([false, 'nur\sery\wip\php\impl\ntsimple'], $func);
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, 'nur\sery\wip\php\impl\ntsimple'], $func);
 | 
						|
 | 
						|
      $func = 'tmissing'; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, "tmissing"], $func);
 | 
						|
 | 
						|
      $func = [false, "tsimple"]; self::assertTrue(func::verifix_simple($func));
 | 
						|
      self::assertSame([false, "tsimple"], $func);
 | 
						|
      $func = [false, "tsimple"]; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, "tsimple"], $func);
 | 
						|
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertTrue(func::verifix_simple($func));
 | 
						|
      self::assertSame([false, 'nur\sery\wip\php\impl\ntsimple'], $func);
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, 'nur\sery\wip\php\impl\ntsimple'], $func);
 | 
						|
 | 
						|
      $func = [false, "tmissing"]; self::assertTrue(func::verifix_simple($func, false));
 | 
						|
      self::assertSame([false, "tmissing"], $func);
 | 
						|
    }
 | 
						|
    
 | 
						|
    function testStatic() {
 | 
						|
      # scalaires
 | 
						|
      $func = null; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = null; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = false; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = false; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ""; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ""; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "tsimple"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "tsimple"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = 'tmissing'; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = 'tmissing'; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::tstatic"; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "::tstatic"; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->tmethod"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "->tmethod"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::tmissing"; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "::tmissing"; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->tmissing"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = "->tmissing"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."::tstatic"; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = MyClass::class."::tstatic"; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      # tableaux avec un seul scalaire
 | 
						|
      $func = []; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = []; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["::tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->tmethod"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::tmissing"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["::tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class."::tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      # tableaux avec deux scalaires
 | 
						|
      $func = [null, "tsimple"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "tsimple"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "tmissing"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "::tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "::tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "->tmethod"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "::tmissing"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "::tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "->tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [null, "->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "tsimple"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "tsimple"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "tmissing"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "::tstatic"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "::tstatic"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_static($func, False, $bound));
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "tsimple"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "tsimple"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "tmissing"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "::tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "::tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "->tmethod"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "::tmissing"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "::tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "->tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = ["", "->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tstatic"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "::tstatic"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertTrue(func::verifix_static($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertFalse(func::verifix_static($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertFalse(func::verifix_static($func, false, $bound));
 | 
						|
    }
 | 
						|
 | 
						|
    //function testStaticResults() {}
 | 
						|
 | 
						|
    function testMethod() {
 | 
						|
      # scalaires
 | 
						|
      $func = null; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = null; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = false; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = false; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ""; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ""; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "::"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "->"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "tsimple"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "tsimple"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = 'nur\sery\wip\php\impl\ntsimple'; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = 'tmissing'; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = 'tmissing'; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::tmethod"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "::tmethod"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->tmethod"; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "->tmethod"; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "::tmissing"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "::tmissing"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = "->tmissing"; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = "->tmissing"; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."::tmethod"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = MyClass::class."::tmethod"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = MyClass::class."->tmethod"; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = MyClass::class."::tmissing"; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = MyClass::class."->tmissing"; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      # tableaux avec un seul scalaire
 | 
						|
      $func = []; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = []; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [false]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [""]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["::"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["->"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["tsimple"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ['nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::tmethod"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["->tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["::tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["->tmissing"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["->tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tmethod"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class."::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class."->tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class."::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class."->tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      # tableaux avec deux scalaires
 | 
						|
      $func = [null, "tsimple"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "tsimple"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "tmissing"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "::tmethod"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "->tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "->tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "::tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [null, "->tmissing"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [null, "->tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "tsimple"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "tsimple"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "tmissing"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "::tmethod"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "->tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_method($func, False, $bound));
 | 
						|
      $func = [false, "->tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "tsimple"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "tsimple"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", 'nur\sery\wip\php\impl\ntsimple']; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "tmissing"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "::tmethod"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "->tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "->tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "::tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = ["", "->tmissing"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = ["", "->tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tmethod"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "::tmethod"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertTrue(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "->tmethod"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "::tmissing"]; self::assertFalse(func::verifix_method($func, false, $bound));
 | 
						|
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertFalse(func::verifix_method($func, true, $bound));
 | 
						|
      $func = [MyClass::class, "->tmissing"]; self::assertTrue(func::verifix_method($func, false, $bound));
 | 
						|
    }
 | 
						|
 | 
						|
    //function testMethodResults() {}
 | 
						|
  }
 | 
						|
}
 |