40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur;
 | 
						|
 | 
						|
use nur\t\TestCase;
 | 
						|
 | 
						|
class cTest extends TestCase {
 | 
						|
  function testFlatten() {
 | 
						|
    self::assertSame([], c::flatten(null));
 | 
						|
    self::assertSame([], c::flatten([]));
 | 
						|
    self::assertSame(["a", "b"], c::flatten(["a", "b"]));
 | 
						|
    self::assertSame(["a", "b"], c::flatten(["a", ["b"]]));
 | 
						|
    self::assertSame(["a", "b"], c::flatten([["a"], "b"]));
 | 
						|
    self::assertSame(["a", "b", "c"], c::flatten(["a", "b", "c"]));
 | 
						|
    self::assertSame(["a", "b", "c"], c::flatten(["a", ["b", "c"]]));
 | 
						|
    self::assertSame(["a", "b", "c"], c::flatten(["a", ["b", ["c"]]]));
 | 
						|
 | 
						|
    self::assertSame(["a" => ["x", "y"]], c::flatten(["a" => "x", ["a" => "y"]]));
 | 
						|
    self::assertSame(["a" => ["x", "y"]], c::flatten([["a" => "x"], "a" => "y"]));
 | 
						|
    self::assertSame(["a" => ["x", "y"]], c::flatten([["a" => "x"], ["a" => "y"]]));
 | 
						|
 | 
						|
    self::assertSame(["a" => ["x", "y"]], c::flatten(["a" => ["x", ["y"]]]));
 | 
						|
  }
 | 
						|
 | 
						|
  function testFlattenQuote() {
 | 
						|
    # flatten ne quote AUCUNE valeur, c'est la responsabilité de \nur\v\v
 | 
						|
    self::assertSame(
 | 
						|
      ["<a", "<b", "<c", "<d"],
 | 
						|
      c::flatten(["<a", "<b", ["<c", "<d"]]));
 | 
						|
    self::assertSame([
 | 
						|
      "<a" => "x>", "<b" => ["y>"],
 | 
						|
      "<c" => "z>", "<d" => ["t>"],
 | 
						|
      "<e" => ["w1>" ,"w2>"],
 | 
						|
    ], c::flatten([
 | 
						|
      "<a" => "x>", "<b" => ["y>"],
 | 
						|
      ["<c" => "z>", "<d" => ["t>"]],
 | 
						|
      "<e" => "w1>", ["<e" => "w2>"],
 | 
						|
    ]));
 | 
						|
  }
 | 
						|
}
 |