JBZoo\Utils\Str::testName2Human PHP Method

testName2Human() public static method

Convert test name to human readable string
public static testName2Human ( string $input ) : mixed | string
$input string
return mixed | string
    public static function testName2Human($input)
    {
        $original = $input;
        $input = self::getClassName($input, false);
        if (!preg_match('#^tests#i', $input)) {
            $input = preg_replace('#^(test)#i', '', $input);
        }
        $input = preg_replace('#(test)$#i', '', $input);
        $output = preg_replace(array('/(?<=[^A-Z])([A-Z])/', '/(?<=[^0-9])([0-9])/'), ' $0', $input);
        $output = trim(str_replace('_', ' ', $output));
        $output = implode(' ', array_filter(array_map(function ($item) {
            $item = ucwords($item);
            $item = trim($item);
            return $item;
        }, explode(' ', $output))));
        if (strcasecmp($original, $output) === 0) {
            return $original;
        }
        if (strlen($output) == 0) {
            return $original;
        }
        return $output;
    }

Usage Example

Example #1
0
 public function testTestName2Human()
 {
     isSame('test', Str::testName2Human('test'));
     isSame('testTest', Str::testName2Human('testTest'));
     isSame('test_Test', Str::testName2Human('test_Test'));
     isSame('test_test', Str::testName2Human('test_test'));
     isSame('test test', Str::testName2Human('test test'));
     isSame('test Test', Str::testName2Human('test Test'));
     isSame('Function', Str::testName2Human('testFunctionTest'));
     isSame('Function', Str::testName2Human('testFunction_Test'));
     isSame('Function', Str::testName2Human('Function_Test'));
     isSame('Function Trim', Str::testName2Human('FunctionTrim_Test'));
     isSame('Function Trim', Str::testName2Human('Function_Trim_Test'));
     isSame('Function Trim', Str::testName2Human('Function_ Trim _Test'));
     isSame('Function Trim', Str::testName2Human('Function _ Trim_ Test'));
     isSame('Function Trim', Str::testName2Human('Function _ trim_ Test'));
     isSame('Function Trim', Str::testName2Human('Function _Trim_ Test'));
     isSame('Function Trim', Str::testName2Human('Function_trim_Test'));
     isSame('Function Trim', Str::testName2Human('Function _trim_ Test'));
     isSame('Function Trim', Str::testName2Human('Function_ trim _Test'));
     isSame('Function Trim', Str::testName2Human('Function _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('testFunction _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('testfunction _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('TestFunction _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('Test_Function _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('Test_ Function _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('Test _ Function _ trim _ Test'));
     isSame('Function Trim', Str::testName2Human('Test_ Function _ trim _ Test'));
     isSame('Function Test', Str::testName2Human('Test_Function_test_Test'));
     isSame('Function Test', Str::testName2Human('Test_Function_Test_Test'));
     isSame('Function JQuery', Str::testName2Human('Test_FunctionJQuery_Test'));
     isSame('Function IE', Str::testName2Human('Test_FunctionIE_Test'));
     isSame('Function IE Test', Str::testName2Human('Test_FunctionIE_TestTest'));
     isSame('Test Function IE Test', Str::testName2Human('Test_testFunctionIE_TestTest'));
     isSame('Function IE', Str::testName2Human('\\JBZoo\\Test_FunctionIE_Test'));
     isSame('Function IE', Str::testName2Human('\\JBZoo\\PHPHunit\\Test_FunctionIE_Test'));
     isSame('Function IE', Str::testName2Human('\\JBZoo\\PHPHunit\\Some\\Test_FunctionIE_Test'));
     isSame('Function IE', Str::testName2Human('\\JBZoo\\PHPHunit\\Some\\Some\\Test_FunctionIE_Test'));
 }
All Usage Examples Of JBZoo\Utils\Str::testName2Human