2017-08-27 20:10:14 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
									
										
										
										
											2019-11-28 20:18:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  PHPUnit\Framework\TestCase ;  
						 
					
						
							
								
									
										
										
										
											2017-08-27 20:10:14 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								/*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 This  code  is  part  of  LDAP  Account  Manager  ( http :// www . ldap - account - manager . org / ) 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 20:18:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 Copyright  ( C )  2017  -  2019   Roland  Gruber 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-27 20:10:14 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( is_readable ( 'lam/lib/modules/customFields.inc' ))  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									include_once  'lam/lib/baseModule.inc' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									include_once  'lam/lib/modules.inc' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									include_once  'lam/lib/modules/customFields.inc' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Checks  the  ppolicy  expire  job . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  @ author  Roland  Gruber 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 20:18:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									class  customFieldsConstantEntryTest  extends  TestCase  { 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-27 20:10:14 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsSpaces ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123((uid))456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '((Uid))456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123((uid))' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123((uid))456((uid))789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( '111' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123 456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( ' 456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123 ' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123 456 789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttribute ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123%uid%456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '%Uid%456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123%uid%' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123%uid%456%uid%789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( '111' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123111456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '111456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123111' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123111456111789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeFirst ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123@uid@456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '@Uid@456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123@uid@' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123@uid@456@uid@789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( 'aBc' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'a456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a456a789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeFirstLower ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123?uid?456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '?Uid?456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123?uid?' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123?uid?456?uid?789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( 'Abc' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'a456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123a456a789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeFirstUpper ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123!uid!456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '!Uid!456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123!uid!' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123!uid!456!uid!789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( 'abc' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123A456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'A456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123A' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123A456A789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeLower ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123??uid??456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '??Uid??456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123??uid??' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123??uid??456??uid??789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( 'Abc' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'abc456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc456abc789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeUpper ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123!!uid!!456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '!!Uid!!456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123!!uid!!' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123!!uid!!456!!uid!!789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'uid'  =>  array ( 'abc' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'uid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123ABC456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'ABC456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123ABC' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123ABC456ABC789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsAttributeMulti ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMiddle  =  '123§memberUid|, §456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalStart  =  '§MemberUid|, §456' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalEnd  =  '123§memberUid|, §' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$originalMultiple  =  '123§memberUid|, §456§memberUid|;§789' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesSet  =  array ( 'memberUid'  =>  array ( 'abc' ,  'cde' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet  =  array ( 'memberUid'  =>  array ( '' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributesNotSet2  =  array (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc, cde456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMiddle )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'abc, cde456' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalStart )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc, cde' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalEnd )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123456789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesNotSet2 ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( '123abc, cde456abc;cde789' ,  customFieldsConstantEntry :: replaceWildcards ( $attributesSet ,  $originalMultiple )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										public  function  testReplaceWildcardsMixed ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$attributes  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'uid'  =>  array ( 'myuser' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'street'  =>  array ( 'some street' ), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												'memberUid'  =>  array ( 'abc' ,  'cde' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> assertEquals ( 'myuser SOME STREET S abc- cde' ,  customFieldsConstantEntry :: replaceWildcards ( $attributes ,  '%uid% !!street!! !street! §memberuid|- §' )); 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-28 17:29:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											$this -> assertEquals ( ' MMYUSER' ,  customFieldsConstantEntry :: replaceWildcards ( $attributes ,  '((uid))!uid!!!uid!!' )); 
							 
						 
					
						
							
								
									
										
										
										
											2017-08-27 20:10:14 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-08-28 17:32:49 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								?>