1--TEST-- 2Test ctype_punct() function : usage variations - different punctuation 3--SKIPIF-- 4<?php require_once('skipif.inc'); ?> 5--FILE-- 6<?php 7/* Prototype : bool ctype_punct(mixed $c) 8 * Description: Checks for any printable character which is not whitespace 9 * or an alphanumeric character 10 * Source code: ext/ctype/ctype.c 11 */ 12 13/* 14 * Pass strings containing different character types to ctype_punct() to test 15 * which are considered valid punctuation character only strings 16 */ 17 18echo "*** Testing ctype_punct() : usage variations ***\n"; 19 20$orig = setlocale(LC_CTYPE, "C"); 21 22$values = array( 23/*1*/ "This string contains just letters and spaces", // Simple string 24 "but this one contains some numbers too 123+456 = 678", // Mixed string 25 "", 26 " ", 27/*5*/ "a", 28 "ABCXYZ", 29 "abcxyz", 30 "ABCXYZ123DEF456", 31 "abczyz123DEF456", 32/*10*/ "\r\n", 33 "123", 34 "03F", // hexadecimal 'digits' 35 ")speci@! ch@r$(", 36 '@!$*', 37/*15*/ 'ABC', 38 'abc', 39 'ABC123', 40 'abc123', 41 "abc123\n", 42/*20*/ 'abc 123', 43 '', 44 ' ', 45 base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters 46 "!$%@\n", 47/*25*/ "\"?!\"", 48/*26*/ "|\ @~", 49); 50 51$iterator = 1; 52foreach($values as $value) { 53 echo "\n-- Iteration $iterator --\n"; 54 var_dump( ctype_punct($value) ); 55 $iterator++; 56}; 57setlocale(LC_CTYPE, $orig); 58?> 59===DONE=== 60--EXPECTF-- 61*** Testing ctype_punct() : usage variations *** 62 63-- Iteration 1 -- 64bool(false) 65 66-- Iteration 2 -- 67bool(false) 68 69-- Iteration 3 -- 70bool(false) 71 72-- Iteration 4 -- 73bool(false) 74 75-- Iteration 5 -- 76bool(false) 77 78-- Iteration 6 -- 79bool(false) 80 81-- Iteration 7 -- 82bool(false) 83 84-- Iteration 8 -- 85bool(false) 86 87-- Iteration 9 -- 88bool(false) 89 90-- Iteration 10 -- 91bool(false) 92 93-- Iteration 11 -- 94bool(false) 95 96-- Iteration 12 -- 97bool(false) 98 99-- Iteration 13 -- 100bool(false) 101 102-- Iteration 14 -- 103bool(true) 104 105-- Iteration 15 -- 106bool(false) 107 108-- Iteration 16 -- 109bool(false) 110 111-- Iteration 17 -- 112bool(false) 113 114-- Iteration 18 -- 115bool(false) 116 117-- Iteration 19 -- 118bool(false) 119 120-- Iteration 20 -- 121bool(false) 122 123-- Iteration 21 -- 124bool(false) 125 126-- Iteration 22 -- 127bool(false) 128 129-- Iteration 23 -- 130bool(false) 131 132-- Iteration 24 -- 133bool(false) 134 135-- Iteration 25 -- 136bool(true) 137 138-- Iteration 26 -- 139bool(false) 140===DONE=== 141