dbmsoutput.phpt 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. --TEST--
  2. PL/SQL: dbms_output
  3. --EXTENSIONS--
  4. oci8
  5. --SKIPIF--
  6. <?php
  7. $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
  8. require(__DIR__.'/skipif.inc');
  9. ?>
  10. --FILE--
  11. <?php
  12. require(__DIR__.'/connect.inc');
  13. // Initialization
  14. $stmtarray = array(
  15. "create or replace procedure dbmsoutput_proc as
  16. begin
  17. dbms_output.put_line('Hello World!');
  18. end;",
  19. "create or replace type dorow as table of varchar2(4000)",
  20. "create or replace function mydofetch return dorow pipelined is
  21. line varchar2(4000);
  22. status integer;
  23. begin
  24. loop
  25. dbms_output.get_line(line, status);
  26. exit when status = 1;
  27. pipe row (line);
  28. end loop;
  29. return;
  30. end;"
  31. );
  32. oci8_test_sql_execute($c, $stmtarray);
  33. // Run Test
  34. // Turn DBMS_OUTPUT on
  35. function setserveroutputon($c)
  36. {
  37. $s = oci_parse($c, "begin dbms_output.enable(null); end;");
  38. oci_execute($s);
  39. }
  40. // Create some output
  41. function createoutput($c, $prefix)
  42. {
  43. $s = oci_parse($c, "call dbms_output.put_line(:bv1 || ' ' || :bv2 || ' Hello, world! Lots and lots and ... of text')");
  44. oci_bind_by_name($s, ":bv1", $i, -1, SQLT_INT);
  45. oci_bind_by_name($s, ":bv2", $prefix);
  46. for ($i = 0; $i < 100; ++$i) {
  47. oci_execute($s);
  48. }
  49. }
  50. // Call dbms_output.get_line()
  51. // Returns an array of DBMS_OUTPUT lines, or false.
  52. function getdbmsoutput_do($c)
  53. {
  54. $s = oci_parse($c, "begin dbms_output.get_line(:ln, :st); end;");
  55. oci_bind_by_name($s, ":ln", $ln, 100);
  56. oci_bind_by_name($s, ":st", $st, -1, SQLT_INT);
  57. $res = [];
  58. while (($succ = oci_execute($s)) && !$st) {
  59. $res[] = $ln; // append each line to the array
  60. }
  61. return $res;
  62. }
  63. function getdbmsoutput_do2($c)
  64. {
  65. $orignumlines = $numlines = 100;
  66. $s = oci_parse($c, "begin dbms_output.get_lines(:lines, :numlines); end;");
  67. $r = oci_bind_by_name($s, ":numlines", $numlines);
  68. $res = array();
  69. while ($numlines >= $orignumlines) {
  70. oci_bind_array_by_name($s, ":lines", $lines, $numlines, 255, SQLT_CHR);
  71. oci_execute($s);
  72. if ($numlines == 0) {
  73. break;
  74. }
  75. $res = array_merge($res, array_slice($lines, 0, $numlines));
  76. unset($lines);
  77. }
  78. return $res;
  79. }
  80. function getdbmsoutput_pl($c)
  81. {
  82. $s = oci_parse($c, "select * from table(mydofetch())");
  83. oci_execute($s);
  84. $res = [];
  85. while ($row = oci_fetch_array($s, OCI_NUM)) {
  86. $res[] = $row[0];
  87. }
  88. return $res;
  89. }
  90. echo "Test 1\n";
  91. setserveroutputon($c); // Turn output buffering on
  92. $s = oci_parse($c, 'call dbmsoutput_proc()');
  93. oci_execute($s);
  94. var_dump(getdbmsoutput_do($c));
  95. echo "Test 2\n";
  96. createoutput($c, 'test 2');
  97. var_dump(getdbmsoutput_do($c));
  98. echo "Test 3\n";
  99. createoutput($c, 'test 3');
  100. var_dump(getdbmsoutput_do2($c));
  101. echo "Test 4\n";
  102. createoutput($c, 'test 4');
  103. var_dump(getdbmsoutput_pl($c));
  104. // Clean up
  105. $stmtarray = array(
  106. "drop procedure dbmsoutput_proc"
  107. );
  108. oci8_test_sql_execute($c, $stmtarray);
  109. ?>
  110. --EXPECT--
  111. Test 1
  112. array(1) {
  113. [0]=>
  114. string(12) "Hello World!"
  115. }
  116. Test 2
  117. array(100) {
  118. [0]=>
  119. string(52) "0 test 2 Hello, world! Lots and lots and ... of text"
  120. [1]=>
  121. string(52) "1 test 2 Hello, world! Lots and lots and ... of text"
  122. [2]=>
  123. string(52) "2 test 2 Hello, world! Lots and lots and ... of text"
  124. [3]=>
  125. string(52) "3 test 2 Hello, world! Lots and lots and ... of text"
  126. [4]=>
  127. string(52) "4 test 2 Hello, world! Lots and lots and ... of text"
  128. [5]=>
  129. string(52) "5 test 2 Hello, world! Lots and lots and ... of text"
  130. [6]=>
  131. string(52) "6 test 2 Hello, world! Lots and lots and ... of text"
  132. [7]=>
  133. string(52) "7 test 2 Hello, world! Lots and lots and ... of text"
  134. [8]=>
  135. string(52) "8 test 2 Hello, world! Lots and lots and ... of text"
  136. [9]=>
  137. string(52) "9 test 2 Hello, world! Lots and lots and ... of text"
  138. [10]=>
  139. string(53) "10 test 2 Hello, world! Lots and lots and ... of text"
  140. [11]=>
  141. string(53) "11 test 2 Hello, world! Lots and lots and ... of text"
  142. [12]=>
  143. string(53) "12 test 2 Hello, world! Lots and lots and ... of text"
  144. [13]=>
  145. string(53) "13 test 2 Hello, world! Lots and lots and ... of text"
  146. [14]=>
  147. string(53) "14 test 2 Hello, world! Lots and lots and ... of text"
  148. [15]=>
  149. string(53) "15 test 2 Hello, world! Lots and lots and ... of text"
  150. [16]=>
  151. string(53) "16 test 2 Hello, world! Lots and lots and ... of text"
  152. [17]=>
  153. string(53) "17 test 2 Hello, world! Lots and lots and ... of text"
  154. [18]=>
  155. string(53) "18 test 2 Hello, world! Lots and lots and ... of text"
  156. [19]=>
  157. string(53) "19 test 2 Hello, world! Lots and lots and ... of text"
  158. [20]=>
  159. string(53) "20 test 2 Hello, world! Lots and lots and ... of text"
  160. [21]=>
  161. string(53) "21 test 2 Hello, world! Lots and lots and ... of text"
  162. [22]=>
  163. string(53) "22 test 2 Hello, world! Lots and lots and ... of text"
  164. [23]=>
  165. string(53) "23 test 2 Hello, world! Lots and lots and ... of text"
  166. [24]=>
  167. string(53) "24 test 2 Hello, world! Lots and lots and ... of text"
  168. [25]=>
  169. string(53) "25 test 2 Hello, world! Lots and lots and ... of text"
  170. [26]=>
  171. string(53) "26 test 2 Hello, world! Lots and lots and ... of text"
  172. [27]=>
  173. string(53) "27 test 2 Hello, world! Lots and lots and ... of text"
  174. [28]=>
  175. string(53) "28 test 2 Hello, world! Lots and lots and ... of text"
  176. [29]=>
  177. string(53) "29 test 2 Hello, world! Lots and lots and ... of text"
  178. [30]=>
  179. string(53) "30 test 2 Hello, world! Lots and lots and ... of text"
  180. [31]=>
  181. string(53) "31 test 2 Hello, world! Lots and lots and ... of text"
  182. [32]=>
  183. string(53) "32 test 2 Hello, world! Lots and lots and ... of text"
  184. [33]=>
  185. string(53) "33 test 2 Hello, world! Lots and lots and ... of text"
  186. [34]=>
  187. string(53) "34 test 2 Hello, world! Lots and lots and ... of text"
  188. [35]=>
  189. string(53) "35 test 2 Hello, world! Lots and lots and ... of text"
  190. [36]=>
  191. string(53) "36 test 2 Hello, world! Lots and lots and ... of text"
  192. [37]=>
  193. string(53) "37 test 2 Hello, world! Lots and lots and ... of text"
  194. [38]=>
  195. string(53) "38 test 2 Hello, world! Lots and lots and ... of text"
  196. [39]=>
  197. string(53) "39 test 2 Hello, world! Lots and lots and ... of text"
  198. [40]=>
  199. string(53) "40 test 2 Hello, world! Lots and lots and ... of text"
  200. [41]=>
  201. string(53) "41 test 2 Hello, world! Lots and lots and ... of text"
  202. [42]=>
  203. string(53) "42 test 2 Hello, world! Lots and lots and ... of text"
  204. [43]=>
  205. string(53) "43 test 2 Hello, world! Lots and lots and ... of text"
  206. [44]=>
  207. string(53) "44 test 2 Hello, world! Lots and lots and ... of text"
  208. [45]=>
  209. string(53) "45 test 2 Hello, world! Lots and lots and ... of text"
  210. [46]=>
  211. string(53) "46 test 2 Hello, world! Lots and lots and ... of text"
  212. [47]=>
  213. string(53) "47 test 2 Hello, world! Lots and lots and ... of text"
  214. [48]=>
  215. string(53) "48 test 2 Hello, world! Lots and lots and ... of text"
  216. [49]=>
  217. string(53) "49 test 2 Hello, world! Lots and lots and ... of text"
  218. [50]=>
  219. string(53) "50 test 2 Hello, world! Lots and lots and ... of text"
  220. [51]=>
  221. string(53) "51 test 2 Hello, world! Lots and lots and ... of text"
  222. [52]=>
  223. string(53) "52 test 2 Hello, world! Lots and lots and ... of text"
  224. [53]=>
  225. string(53) "53 test 2 Hello, world! Lots and lots and ... of text"
  226. [54]=>
  227. string(53) "54 test 2 Hello, world! Lots and lots and ... of text"
  228. [55]=>
  229. string(53) "55 test 2 Hello, world! Lots and lots and ... of text"
  230. [56]=>
  231. string(53) "56 test 2 Hello, world! Lots and lots and ... of text"
  232. [57]=>
  233. string(53) "57 test 2 Hello, world! Lots and lots and ... of text"
  234. [58]=>
  235. string(53) "58 test 2 Hello, world! Lots and lots and ... of text"
  236. [59]=>
  237. string(53) "59 test 2 Hello, world! Lots and lots and ... of text"
  238. [60]=>
  239. string(53) "60 test 2 Hello, world! Lots and lots and ... of text"
  240. [61]=>
  241. string(53) "61 test 2 Hello, world! Lots and lots and ... of text"
  242. [62]=>
  243. string(53) "62 test 2 Hello, world! Lots and lots and ... of text"
  244. [63]=>
  245. string(53) "63 test 2 Hello, world! Lots and lots and ... of text"
  246. [64]=>
  247. string(53) "64 test 2 Hello, world! Lots and lots and ... of text"
  248. [65]=>
  249. string(53) "65 test 2 Hello, world! Lots and lots and ... of text"
  250. [66]=>
  251. string(53) "66 test 2 Hello, world! Lots and lots and ... of text"
  252. [67]=>
  253. string(53) "67 test 2 Hello, world! Lots and lots and ... of text"
  254. [68]=>
  255. string(53) "68 test 2 Hello, world! Lots and lots and ... of text"
  256. [69]=>
  257. string(53) "69 test 2 Hello, world! Lots and lots and ... of text"
  258. [70]=>
  259. string(53) "70 test 2 Hello, world! Lots and lots and ... of text"
  260. [71]=>
  261. string(53) "71 test 2 Hello, world! Lots and lots and ... of text"
  262. [72]=>
  263. string(53) "72 test 2 Hello, world! Lots and lots and ... of text"
  264. [73]=>
  265. string(53) "73 test 2 Hello, world! Lots and lots and ... of text"
  266. [74]=>
  267. string(53) "74 test 2 Hello, world! Lots and lots and ... of text"
  268. [75]=>
  269. string(53) "75 test 2 Hello, world! Lots and lots and ... of text"
  270. [76]=>
  271. string(53) "76 test 2 Hello, world! Lots and lots and ... of text"
  272. [77]=>
  273. string(53) "77 test 2 Hello, world! Lots and lots and ... of text"
  274. [78]=>
  275. string(53) "78 test 2 Hello, world! Lots and lots and ... of text"
  276. [79]=>
  277. string(53) "79 test 2 Hello, world! Lots and lots and ... of text"
  278. [80]=>
  279. string(53) "80 test 2 Hello, world! Lots and lots and ... of text"
  280. [81]=>
  281. string(53) "81 test 2 Hello, world! Lots and lots and ... of text"
  282. [82]=>
  283. string(53) "82 test 2 Hello, world! Lots and lots and ... of text"
  284. [83]=>
  285. string(53) "83 test 2 Hello, world! Lots and lots and ... of text"
  286. [84]=>
  287. string(53) "84 test 2 Hello, world! Lots and lots and ... of text"
  288. [85]=>
  289. string(53) "85 test 2 Hello, world! Lots and lots and ... of text"
  290. [86]=>
  291. string(53) "86 test 2 Hello, world! Lots and lots and ... of text"
  292. [87]=>
  293. string(53) "87 test 2 Hello, world! Lots and lots and ... of text"
  294. [88]=>
  295. string(53) "88 test 2 Hello, world! Lots and lots and ... of text"
  296. [89]=>
  297. string(53) "89 test 2 Hello, world! Lots and lots and ... of text"
  298. [90]=>
  299. string(53) "90 test 2 Hello, world! Lots and lots and ... of text"
  300. [91]=>
  301. string(53) "91 test 2 Hello, world! Lots and lots and ... of text"
  302. [92]=>
  303. string(53) "92 test 2 Hello, world! Lots and lots and ... of text"
  304. [93]=>
  305. string(53) "93 test 2 Hello, world! Lots and lots and ... of text"
  306. [94]=>
  307. string(53) "94 test 2 Hello, world! Lots and lots and ... of text"
  308. [95]=>
  309. string(53) "95 test 2 Hello, world! Lots and lots and ... of text"
  310. [96]=>
  311. string(53) "96 test 2 Hello, world! Lots and lots and ... of text"
  312. [97]=>
  313. string(53) "97 test 2 Hello, world! Lots and lots and ... of text"
  314. [98]=>
  315. string(53) "98 test 2 Hello, world! Lots and lots and ... of text"
  316. [99]=>
  317. string(53) "99 test 2 Hello, world! Lots and lots and ... of text"
  318. }
  319. Test 3
  320. array(100) {
  321. [0]=>
  322. string(52) "0 test 3 Hello, world! Lots and lots and ... of text"
  323. [1]=>
  324. string(52) "1 test 3 Hello, world! Lots and lots and ... of text"
  325. [2]=>
  326. string(52) "2 test 3 Hello, world! Lots and lots and ... of text"
  327. [3]=>
  328. string(52) "3 test 3 Hello, world! Lots and lots and ... of text"
  329. [4]=>
  330. string(52) "4 test 3 Hello, world! Lots and lots and ... of text"
  331. [5]=>
  332. string(52) "5 test 3 Hello, world! Lots and lots and ... of text"
  333. [6]=>
  334. string(52) "6 test 3 Hello, world! Lots and lots and ... of text"
  335. [7]=>
  336. string(52) "7 test 3 Hello, world! Lots and lots and ... of text"
  337. [8]=>
  338. string(52) "8 test 3 Hello, world! Lots and lots and ... of text"
  339. [9]=>
  340. string(52) "9 test 3 Hello, world! Lots and lots and ... of text"
  341. [10]=>
  342. string(53) "10 test 3 Hello, world! Lots and lots and ... of text"
  343. [11]=>
  344. string(53) "11 test 3 Hello, world! Lots and lots and ... of text"
  345. [12]=>
  346. string(53) "12 test 3 Hello, world! Lots and lots and ... of text"
  347. [13]=>
  348. string(53) "13 test 3 Hello, world! Lots and lots and ... of text"
  349. [14]=>
  350. string(53) "14 test 3 Hello, world! Lots and lots and ... of text"
  351. [15]=>
  352. string(53) "15 test 3 Hello, world! Lots and lots and ... of text"
  353. [16]=>
  354. string(53) "16 test 3 Hello, world! Lots and lots and ... of text"
  355. [17]=>
  356. string(53) "17 test 3 Hello, world! Lots and lots and ... of text"
  357. [18]=>
  358. string(53) "18 test 3 Hello, world! Lots and lots and ... of text"
  359. [19]=>
  360. string(53) "19 test 3 Hello, world! Lots and lots and ... of text"
  361. [20]=>
  362. string(53) "20 test 3 Hello, world! Lots and lots and ... of text"
  363. [21]=>
  364. string(53) "21 test 3 Hello, world! Lots and lots and ... of text"
  365. [22]=>
  366. string(53) "22 test 3 Hello, world! Lots and lots and ... of text"
  367. [23]=>
  368. string(53) "23 test 3 Hello, world! Lots and lots and ... of text"
  369. [24]=>
  370. string(53) "24 test 3 Hello, world! Lots and lots and ... of text"
  371. [25]=>
  372. string(53) "25 test 3 Hello, world! Lots and lots and ... of text"
  373. [26]=>
  374. string(53) "26 test 3 Hello, world! Lots and lots and ... of text"
  375. [27]=>
  376. string(53) "27 test 3 Hello, world! Lots and lots and ... of text"
  377. [28]=>
  378. string(53) "28 test 3 Hello, world! Lots and lots and ... of text"
  379. [29]=>
  380. string(53) "29 test 3 Hello, world! Lots and lots and ... of text"
  381. [30]=>
  382. string(53) "30 test 3 Hello, world! Lots and lots and ... of text"
  383. [31]=>
  384. string(53) "31 test 3 Hello, world! Lots and lots and ... of text"
  385. [32]=>
  386. string(53) "32 test 3 Hello, world! Lots and lots and ... of text"
  387. [33]=>
  388. string(53) "33 test 3 Hello, world! Lots and lots and ... of text"
  389. [34]=>
  390. string(53) "34 test 3 Hello, world! Lots and lots and ... of text"
  391. [35]=>
  392. string(53) "35 test 3 Hello, world! Lots and lots and ... of text"
  393. [36]=>
  394. string(53) "36 test 3 Hello, world! Lots and lots and ... of text"
  395. [37]=>
  396. string(53) "37 test 3 Hello, world! Lots and lots and ... of text"
  397. [38]=>
  398. string(53) "38 test 3 Hello, world! Lots and lots and ... of text"
  399. [39]=>
  400. string(53) "39 test 3 Hello, world! Lots and lots and ... of text"
  401. [40]=>
  402. string(53) "40 test 3 Hello, world! Lots and lots and ... of text"
  403. [41]=>
  404. string(53) "41 test 3 Hello, world! Lots and lots and ... of text"
  405. [42]=>
  406. string(53) "42 test 3 Hello, world! Lots and lots and ... of text"
  407. [43]=>
  408. string(53) "43 test 3 Hello, world! Lots and lots and ... of text"
  409. [44]=>
  410. string(53) "44 test 3 Hello, world! Lots and lots and ... of text"
  411. [45]=>
  412. string(53) "45 test 3 Hello, world! Lots and lots and ... of text"
  413. [46]=>
  414. string(53) "46 test 3 Hello, world! Lots and lots and ... of text"
  415. [47]=>
  416. string(53) "47 test 3 Hello, world! Lots and lots and ... of text"
  417. [48]=>
  418. string(53) "48 test 3 Hello, world! Lots and lots and ... of text"
  419. [49]=>
  420. string(53) "49 test 3 Hello, world! Lots and lots and ... of text"
  421. [50]=>
  422. string(53) "50 test 3 Hello, world! Lots and lots and ... of text"
  423. [51]=>
  424. string(53) "51 test 3 Hello, world! Lots and lots and ... of text"
  425. [52]=>
  426. string(53) "52 test 3 Hello, world! Lots and lots and ... of text"
  427. [53]=>
  428. string(53) "53 test 3 Hello, world! Lots and lots and ... of text"
  429. [54]=>
  430. string(53) "54 test 3 Hello, world! Lots and lots and ... of text"
  431. [55]=>
  432. string(53) "55 test 3 Hello, world! Lots and lots and ... of text"
  433. [56]=>
  434. string(53) "56 test 3 Hello, world! Lots and lots and ... of text"
  435. [57]=>
  436. string(53) "57 test 3 Hello, world! Lots and lots and ... of text"
  437. [58]=>
  438. string(53) "58 test 3 Hello, world! Lots and lots and ... of text"
  439. [59]=>
  440. string(53) "59 test 3 Hello, world! Lots and lots and ... of text"
  441. [60]=>
  442. string(53) "60 test 3 Hello, world! Lots and lots and ... of text"
  443. [61]=>
  444. string(53) "61 test 3 Hello, world! Lots and lots and ... of text"
  445. [62]=>
  446. string(53) "62 test 3 Hello, world! Lots and lots and ... of text"
  447. [63]=>
  448. string(53) "63 test 3 Hello, world! Lots and lots and ... of text"
  449. [64]=>
  450. string(53) "64 test 3 Hello, world! Lots and lots and ... of text"
  451. [65]=>
  452. string(53) "65 test 3 Hello, world! Lots and lots and ... of text"
  453. [66]=>
  454. string(53) "66 test 3 Hello, world! Lots and lots and ... of text"
  455. [67]=>
  456. string(53) "67 test 3 Hello, world! Lots and lots and ... of text"
  457. [68]=>
  458. string(53) "68 test 3 Hello, world! Lots and lots and ... of text"
  459. [69]=>
  460. string(53) "69 test 3 Hello, world! Lots and lots and ... of text"
  461. [70]=>
  462. string(53) "70 test 3 Hello, world! Lots and lots and ... of text"
  463. [71]=>
  464. string(53) "71 test 3 Hello, world! Lots and lots and ... of text"
  465. [72]=>
  466. string(53) "72 test 3 Hello, world! Lots and lots and ... of text"
  467. [73]=>
  468. string(53) "73 test 3 Hello, world! Lots and lots and ... of text"
  469. [74]=>
  470. string(53) "74 test 3 Hello, world! Lots and lots and ... of text"
  471. [75]=>
  472. string(53) "75 test 3 Hello, world! Lots and lots and ... of text"
  473. [76]=>
  474. string(53) "76 test 3 Hello, world! Lots and lots and ... of text"
  475. [77]=>
  476. string(53) "77 test 3 Hello, world! Lots and lots and ... of text"
  477. [78]=>
  478. string(53) "78 test 3 Hello, world! Lots and lots and ... of text"
  479. [79]=>
  480. string(53) "79 test 3 Hello, world! Lots and lots and ... of text"
  481. [80]=>
  482. string(53) "80 test 3 Hello, world! Lots and lots and ... of text"
  483. [81]=>
  484. string(53) "81 test 3 Hello, world! Lots and lots and ... of text"
  485. [82]=>
  486. string(53) "82 test 3 Hello, world! Lots and lots and ... of text"
  487. [83]=>
  488. string(53) "83 test 3 Hello, world! Lots and lots and ... of text"
  489. [84]=>
  490. string(53) "84 test 3 Hello, world! Lots and lots and ... of text"
  491. [85]=>
  492. string(53) "85 test 3 Hello, world! Lots and lots and ... of text"
  493. [86]=>
  494. string(53) "86 test 3 Hello, world! Lots and lots and ... of text"
  495. [87]=>
  496. string(53) "87 test 3 Hello, world! Lots and lots and ... of text"
  497. [88]=>
  498. string(53) "88 test 3 Hello, world! Lots and lots and ... of text"
  499. [89]=>
  500. string(53) "89 test 3 Hello, world! Lots and lots and ... of text"
  501. [90]=>
  502. string(53) "90 test 3 Hello, world! Lots and lots and ... of text"
  503. [91]=>
  504. string(53) "91 test 3 Hello, world! Lots and lots and ... of text"
  505. [92]=>
  506. string(53) "92 test 3 Hello, world! Lots and lots and ... of text"
  507. [93]=>
  508. string(53) "93 test 3 Hello, world! Lots and lots and ... of text"
  509. [94]=>
  510. string(53) "94 test 3 Hello, world! Lots and lots and ... of text"
  511. [95]=>
  512. string(53) "95 test 3 Hello, world! Lots and lots and ... of text"
  513. [96]=>
  514. string(53) "96 test 3 Hello, world! Lots and lots and ... of text"
  515. [97]=>
  516. string(53) "97 test 3 Hello, world! Lots and lots and ... of text"
  517. [98]=>
  518. string(53) "98 test 3 Hello, world! Lots and lots and ... of text"
  519. [99]=>
  520. string(53) "99 test 3 Hello, world! Lots and lots and ... of text"
  521. }
  522. Test 4
  523. array(100) {
  524. [0]=>
  525. string(52) "0 test 4 Hello, world! Lots and lots and ... of text"
  526. [1]=>
  527. string(52) "1 test 4 Hello, world! Lots and lots and ... of text"
  528. [2]=>
  529. string(52) "2 test 4 Hello, world! Lots and lots and ... of text"
  530. [3]=>
  531. string(52) "3 test 4 Hello, world! Lots and lots and ... of text"
  532. [4]=>
  533. string(52) "4 test 4 Hello, world! Lots and lots and ... of text"
  534. [5]=>
  535. string(52) "5 test 4 Hello, world! Lots and lots and ... of text"
  536. [6]=>
  537. string(52) "6 test 4 Hello, world! Lots and lots and ... of text"
  538. [7]=>
  539. string(52) "7 test 4 Hello, world! Lots and lots and ... of text"
  540. [8]=>
  541. string(52) "8 test 4 Hello, world! Lots and lots and ... of text"
  542. [9]=>
  543. string(52) "9 test 4 Hello, world! Lots and lots and ... of text"
  544. [10]=>
  545. string(53) "10 test 4 Hello, world! Lots and lots and ... of text"
  546. [11]=>
  547. string(53) "11 test 4 Hello, world! Lots and lots and ... of text"
  548. [12]=>
  549. string(53) "12 test 4 Hello, world! Lots and lots and ... of text"
  550. [13]=>
  551. string(53) "13 test 4 Hello, world! Lots and lots and ... of text"
  552. [14]=>
  553. string(53) "14 test 4 Hello, world! Lots and lots and ... of text"
  554. [15]=>
  555. string(53) "15 test 4 Hello, world! Lots and lots and ... of text"
  556. [16]=>
  557. string(53) "16 test 4 Hello, world! Lots and lots and ... of text"
  558. [17]=>
  559. string(53) "17 test 4 Hello, world! Lots and lots and ... of text"
  560. [18]=>
  561. string(53) "18 test 4 Hello, world! Lots and lots and ... of text"
  562. [19]=>
  563. string(53) "19 test 4 Hello, world! Lots and lots and ... of text"
  564. [20]=>
  565. string(53) "20 test 4 Hello, world! Lots and lots and ... of text"
  566. [21]=>
  567. string(53) "21 test 4 Hello, world! Lots and lots and ... of text"
  568. [22]=>
  569. string(53) "22 test 4 Hello, world! Lots and lots and ... of text"
  570. [23]=>
  571. string(53) "23 test 4 Hello, world! Lots and lots and ... of text"
  572. [24]=>
  573. string(53) "24 test 4 Hello, world! Lots and lots and ... of text"
  574. [25]=>
  575. string(53) "25 test 4 Hello, world! Lots and lots and ... of text"
  576. [26]=>
  577. string(53) "26 test 4 Hello, world! Lots and lots and ... of text"
  578. [27]=>
  579. string(53) "27 test 4 Hello, world! Lots and lots and ... of text"
  580. [28]=>
  581. string(53) "28 test 4 Hello, world! Lots and lots and ... of text"
  582. [29]=>
  583. string(53) "29 test 4 Hello, world! Lots and lots and ... of text"
  584. [30]=>
  585. string(53) "30 test 4 Hello, world! Lots and lots and ... of text"
  586. [31]=>
  587. string(53) "31 test 4 Hello, world! Lots and lots and ... of text"
  588. [32]=>
  589. string(53) "32 test 4 Hello, world! Lots and lots and ... of text"
  590. [33]=>
  591. string(53) "33 test 4 Hello, world! Lots and lots and ... of text"
  592. [34]=>
  593. string(53) "34 test 4 Hello, world! Lots and lots and ... of text"
  594. [35]=>
  595. string(53) "35 test 4 Hello, world! Lots and lots and ... of text"
  596. [36]=>
  597. string(53) "36 test 4 Hello, world! Lots and lots and ... of text"
  598. [37]=>
  599. string(53) "37 test 4 Hello, world! Lots and lots and ... of text"
  600. [38]=>
  601. string(53) "38 test 4 Hello, world! Lots and lots and ... of text"
  602. [39]=>
  603. string(53) "39 test 4 Hello, world! Lots and lots and ... of text"
  604. [40]=>
  605. string(53) "40 test 4 Hello, world! Lots and lots and ... of text"
  606. [41]=>
  607. string(53) "41 test 4 Hello, world! Lots and lots and ... of text"
  608. [42]=>
  609. string(53) "42 test 4 Hello, world! Lots and lots and ... of text"
  610. [43]=>
  611. string(53) "43 test 4 Hello, world! Lots and lots and ... of text"
  612. [44]=>
  613. string(53) "44 test 4 Hello, world! Lots and lots and ... of text"
  614. [45]=>
  615. string(53) "45 test 4 Hello, world! Lots and lots and ... of text"
  616. [46]=>
  617. string(53) "46 test 4 Hello, world! Lots and lots and ... of text"
  618. [47]=>
  619. string(53) "47 test 4 Hello, world! Lots and lots and ... of text"
  620. [48]=>
  621. string(53) "48 test 4 Hello, world! Lots and lots and ... of text"
  622. [49]=>
  623. string(53) "49 test 4 Hello, world! Lots and lots and ... of text"
  624. [50]=>
  625. string(53) "50 test 4 Hello, world! Lots and lots and ... of text"
  626. [51]=>
  627. string(53) "51 test 4 Hello, world! Lots and lots and ... of text"
  628. [52]=>
  629. string(53) "52 test 4 Hello, world! Lots and lots and ... of text"
  630. [53]=>
  631. string(53) "53 test 4 Hello, world! Lots and lots and ... of text"
  632. [54]=>
  633. string(53) "54 test 4 Hello, world! Lots and lots and ... of text"
  634. [55]=>
  635. string(53) "55 test 4 Hello, world! Lots and lots and ... of text"
  636. [56]=>
  637. string(53) "56 test 4 Hello, world! Lots and lots and ... of text"
  638. [57]=>
  639. string(53) "57 test 4 Hello, world! Lots and lots and ... of text"
  640. [58]=>
  641. string(53) "58 test 4 Hello, world! Lots and lots and ... of text"
  642. [59]=>
  643. string(53) "59 test 4 Hello, world! Lots and lots and ... of text"
  644. [60]=>
  645. string(53) "60 test 4 Hello, world! Lots and lots and ... of text"
  646. [61]=>
  647. string(53) "61 test 4 Hello, world! Lots and lots and ... of text"
  648. [62]=>
  649. string(53) "62 test 4 Hello, world! Lots and lots and ... of text"
  650. [63]=>
  651. string(53) "63 test 4 Hello, world! Lots and lots and ... of text"
  652. [64]=>
  653. string(53) "64 test 4 Hello, world! Lots and lots and ... of text"
  654. [65]=>
  655. string(53) "65 test 4 Hello, world! Lots and lots and ... of text"
  656. [66]=>
  657. string(53) "66 test 4 Hello, world! Lots and lots and ... of text"
  658. [67]=>
  659. string(53) "67 test 4 Hello, world! Lots and lots and ... of text"
  660. [68]=>
  661. string(53) "68 test 4 Hello, world! Lots and lots and ... of text"
  662. [69]=>
  663. string(53) "69 test 4 Hello, world! Lots and lots and ... of text"
  664. [70]=>
  665. string(53) "70 test 4 Hello, world! Lots and lots and ... of text"
  666. [71]=>
  667. string(53) "71 test 4 Hello, world! Lots and lots and ... of text"
  668. [72]=>
  669. string(53) "72 test 4 Hello, world! Lots and lots and ... of text"
  670. [73]=>
  671. string(53) "73 test 4 Hello, world! Lots and lots and ... of text"
  672. [74]=>
  673. string(53) "74 test 4 Hello, world! Lots and lots and ... of text"
  674. [75]=>
  675. string(53) "75 test 4 Hello, world! Lots and lots and ... of text"
  676. [76]=>
  677. string(53) "76 test 4 Hello, world! Lots and lots and ... of text"
  678. [77]=>
  679. string(53) "77 test 4 Hello, world! Lots and lots and ... of text"
  680. [78]=>
  681. string(53) "78 test 4 Hello, world! Lots and lots and ... of text"
  682. [79]=>
  683. string(53) "79 test 4 Hello, world! Lots and lots and ... of text"
  684. [80]=>
  685. string(53) "80 test 4 Hello, world! Lots and lots and ... of text"
  686. [81]=>
  687. string(53) "81 test 4 Hello, world! Lots and lots and ... of text"
  688. [82]=>
  689. string(53) "82 test 4 Hello, world! Lots and lots and ... of text"
  690. [83]=>
  691. string(53) "83 test 4 Hello, world! Lots and lots and ... of text"
  692. [84]=>
  693. string(53) "84 test 4 Hello, world! Lots and lots and ... of text"
  694. [85]=>
  695. string(53) "85 test 4 Hello, world! Lots and lots and ... of text"
  696. [86]=>
  697. string(53) "86 test 4 Hello, world! Lots and lots and ... of text"
  698. [87]=>
  699. string(53) "87 test 4 Hello, world! Lots and lots and ... of text"
  700. [88]=>
  701. string(53) "88 test 4 Hello, world! Lots and lots and ... of text"
  702. [89]=>
  703. string(53) "89 test 4 Hello, world! Lots and lots and ... of text"
  704. [90]=>
  705. string(53) "90 test 4 Hello, world! Lots and lots and ... of text"
  706. [91]=>
  707. string(53) "91 test 4 Hello, world! Lots and lots and ... of text"
  708. [92]=>
  709. string(53) "92 test 4 Hello, world! Lots and lots and ... of text"
  710. [93]=>
  711. string(53) "93 test 4 Hello, world! Lots and lots and ... of text"
  712. [94]=>
  713. string(53) "94 test 4 Hello, world! Lots and lots and ... of text"
  714. [95]=>
  715. string(53) "95 test 4 Hello, world! Lots and lots and ... of text"
  716. [96]=>
  717. string(53) "96 test 4 Hello, world! Lots and lots and ... of text"
  718. [97]=>
  719. string(53) "97 test 4 Hello, world! Lots and lots and ... of text"
  720. [98]=>
  721. string(53) "98 test 4 Hello, world! Lots and lots and ... of text"
  722. [99]=>
  723. string(53) "99 test 4 Hello, world! Lots and lots and ... of text"
  724. }