Annotation of embedaddon/php/ext/standard/tests/file/fgetcsv_variation31.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test fgetcsv() : usage variations - with length and enclosure, file pointer pointing at end of file 
        !             3: --FILE--
        !             4: <?php
        !             5: /* 
        !             6:  Prototype: array fgetcsv ( resource $handle [, int $length [, string $delimiter [, string $enclosure]]] );
        !             7:  Description: Gets line from file pointer and parse for CSV fields
        !             8: */
        !             9: 
        !            10: /*
        !            11:    Testing fgetcsv() to read a file whose file pointer is pointing to end of file
        !            12:    and fgetcsv() provided with enclosure argument
        !            13: */
        !            14: 
        !            15: echo "*** Testing fgetcsv() : with enclosure argument, file pointer pointing at end of file ***\n";
        !            16: 
        !            17: /* the array is with two elements in it. Each element should be read as 
        !            18:    1st element is delimiter & 2nd element is csv fields 
        !            19: */
        !            20: $csv_lists = array (
        !            21:   array(',', 'water,fruit'),
        !            22:   array(' ', 'water fruit'),
        !            23:   array(' ', '"water" "fruit"'),
        !            24:   array('\\', 'water\\"fruit"\\"air"'),
        !            25:   array('\\', '"water"\\"fruit"\\"""'),
        !            26: );
        !            27: 
        !            28: $filename = dirname(__FILE__) . '/fgetcsv_variation31.tmp';
        !            29: @unlink($filename);
        !            30: 
        !            31: $file_modes = array ("r","rb", "rt", "r+", "r+b", "r+t",
        !            32:                      "a+", "a+b", "a+t",
        !            33:                      "w+", "w+b", "w+t",
        !            34:                      "x+", "x+b", "x+t"); 
        !            35: 
        !            36: $loop_counter = 1;
        !            37: foreach ($csv_lists as $csv_list) {
        !            38:   for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) {
        !            39:     // create the file and add the content with has csv fields
        !            40:     if ( strstr($file_modes[$mode_counter], "r") ) {
        !            41:       $file_handle = fopen($filename, "w");
        !            42:     } else {
        !            43:       $file_handle = fopen($filename, $file_modes[$mode_counter] );
        !            44:     }
        !            45:     if ( !$file_handle ) {
        !            46:       echo "Error: failed to create file $filename!\n";
        !            47:       exit();
        !            48:     }
        !            49:     $delimiter = $csv_list[0];
        !            50:     $csv_field = $csv_list[1];
        !            51: 
        !            52:     fwrite($file_handle, $csv_field . "\n");
        !            53:     // write another line of text and a blank line
        !            54:     // this will be used to test, if the fgetcsv() read more than a line and its
        !            55:     // working when only a blan line is read
        !            56:     fwrite($file_handle, "This is line of text without csv fields\n");
        !            57:     fwrite($file_handle, "\n"); // blank line
        !            58: 
        !            59:     // close the file if the mode to be used is read mode  and re-open using read mode
        !            60:     // else rewind the file pointer to begining of the file 
        !            61:     if ( strstr($file_modes[$mode_counter], "r" ) ) {
        !            62:       fclose($file_handle);
        !            63:       $file_handle = fopen($filename, $file_modes[$mode_counter]);
        !            64:     } 
        !            65:       
        !            66:     echo "\n-- Testing fgetcsv() with file opened using $file_modes[$mode_counter] mode --\n"; 
        !            67: 
        !            68:     // set the file pointer to EOF
        !            69:     var_dump( fseek($file_handle, 0, SEEK_END) );
        !            70:   
        !            71:     // call fgetcsv() to parse csv fields
        !            72: 
        !            73:     // now file pointer should point to end of the file, try reading again 
        !            74:     var_dump( feof($file_handle) );
        !            75:     $enc = 'z';
        !            76:     var_dump( fgetcsv($file_handle, 1024, $delimiter, $enc ) ); // with length, delimiter 
        !            77:     // check the file pointer position and if eof
        !            78:     var_dump( ftell($file_handle) );
        !            79:     var_dump( feof($file_handle) );
        !            80:     // close the file
        !            81:     fclose($file_handle);
        !            82:     //delete file
        !            83:     unlink($filename);
        !            84:   } //end of mode loop 
        !            85: } // end of foreach
        !            86: 
        !            87: echo "Done\n";
        !            88: ?>
        !            89: --EXPECTF--
        !            90: *** Testing fgetcsv() : with enclosure argument, file pointer pointing at end of file ***
        !            91: 
        !            92: -- Testing fgetcsv() with file opened using r mode --
        !            93: int(0)
        !            94: bool(false)
        !            95: bool(false)
        !            96: int(53)
        !            97: bool(true)
        !            98: 
        !            99: -- Testing fgetcsv() with file opened using rb mode --
        !           100: int(0)
        !           101: bool(false)
        !           102: bool(false)
        !           103: int(53)
        !           104: bool(true)
        !           105: 
        !           106: -- Testing fgetcsv() with file opened using rt mode --
        !           107: int(0)
        !           108: bool(false)
        !           109: bool(false)
        !           110: int(%d)
        !           111: bool(true)
        !           112: 
        !           113: -- Testing fgetcsv() with file opened using r+ mode --
        !           114: int(0)
        !           115: bool(false)
        !           116: bool(false)
        !           117: int(53)
        !           118: bool(true)
        !           119: 
        !           120: -- Testing fgetcsv() with file opened using r+b mode --
        !           121: int(0)
        !           122: bool(false)
        !           123: bool(false)
        !           124: int(53)
        !           125: bool(true)
        !           126: 
        !           127: -- Testing fgetcsv() with file opened using r+t mode --
        !           128: int(0)
        !           129: bool(false)
        !           130: bool(false)
        !           131: int(%d)
        !           132: bool(true)
        !           133: 
        !           134: -- Testing fgetcsv() with file opened using a+ mode --
        !           135: int(0)
        !           136: bool(false)
        !           137: bool(false)
        !           138: int(53)
        !           139: bool(true)
        !           140: 
        !           141: -- Testing fgetcsv() with file opened using a+b mode --
        !           142: int(0)
        !           143: bool(false)
        !           144: bool(false)
        !           145: int(53)
        !           146: bool(true)
        !           147: 
        !           148: -- Testing fgetcsv() with file opened using a+t mode --
        !           149: int(0)
        !           150: bool(false)
        !           151: bool(false)
        !           152: int(%d)
        !           153: bool(true)
        !           154: 
        !           155: -- Testing fgetcsv() with file opened using w+ mode --
        !           156: int(0)
        !           157: bool(false)
        !           158: bool(false)
        !           159: int(53)
        !           160: bool(true)
        !           161: 
        !           162: -- Testing fgetcsv() with file opened using w+b mode --
        !           163: int(0)
        !           164: bool(false)
        !           165: bool(false)
        !           166: int(53)
        !           167: bool(true)
        !           168: 
        !           169: -- Testing fgetcsv() with file opened using w+t mode --
        !           170: int(0)
        !           171: bool(false)
        !           172: bool(false)
        !           173: int(%d)
        !           174: bool(true)
        !           175: 
        !           176: -- Testing fgetcsv() with file opened using x+ mode --
        !           177: int(0)
        !           178: bool(false)
        !           179: bool(false)
        !           180: int(53)
        !           181: bool(true)
        !           182: 
        !           183: -- Testing fgetcsv() with file opened using x+b mode --
        !           184: int(0)
        !           185: bool(false)
        !           186: bool(false)
        !           187: int(53)
        !           188: bool(true)
        !           189: 
        !           190: -- Testing fgetcsv() with file opened using x+t mode --
        !           191: int(0)
        !           192: bool(false)
        !           193: bool(false)
        !           194: int(%d)
        !           195: bool(true)
        !           196: 
        !           197: -- Testing fgetcsv() with file opened using r mode --
        !           198: int(0)
        !           199: bool(false)
        !           200: bool(false)
        !           201: int(53)
        !           202: bool(true)
        !           203: 
        !           204: -- Testing fgetcsv() with file opened using rb mode --
        !           205: int(0)
        !           206: bool(false)
        !           207: bool(false)
        !           208: int(53)
        !           209: bool(true)
        !           210: 
        !           211: -- Testing fgetcsv() with file opened using rt mode --
        !           212: int(0)
        !           213: bool(false)
        !           214: bool(false)
        !           215: int(%d)
        !           216: bool(true)
        !           217: 
        !           218: -- Testing fgetcsv() with file opened using r+ mode --
        !           219: int(0)
        !           220: bool(false)
        !           221: bool(false)
        !           222: int(53)
        !           223: bool(true)
        !           224: 
        !           225: -- Testing fgetcsv() with file opened using r+b mode --
        !           226: int(0)
        !           227: bool(false)
        !           228: bool(false)
        !           229: int(53)
        !           230: bool(true)
        !           231: 
        !           232: -- Testing fgetcsv() with file opened using r+t mode --
        !           233: int(0)
        !           234: bool(false)
        !           235: bool(false)
        !           236: int(%d)
        !           237: bool(true)
        !           238: 
        !           239: -- Testing fgetcsv() with file opened using a+ mode --
        !           240: int(0)
        !           241: bool(false)
        !           242: bool(false)
        !           243: int(53)
        !           244: bool(true)
        !           245: 
        !           246: -- Testing fgetcsv() with file opened using a+b mode --
        !           247: int(0)
        !           248: bool(false)
        !           249: bool(false)
        !           250: int(53)
        !           251: bool(true)
        !           252: 
        !           253: -- Testing fgetcsv() with file opened using a+t mode --
        !           254: int(0)
        !           255: bool(false)
        !           256: bool(false)
        !           257: int(%d)
        !           258: bool(true)
        !           259: 
        !           260: -- Testing fgetcsv() with file opened using w+ mode --
        !           261: int(0)
        !           262: bool(false)
        !           263: bool(false)
        !           264: int(53)
        !           265: bool(true)
        !           266: 
        !           267: -- Testing fgetcsv() with file opened using w+b mode --
        !           268: int(0)
        !           269: bool(false)
        !           270: bool(false)
        !           271: int(53)
        !           272: bool(true)
        !           273: 
        !           274: -- Testing fgetcsv() with file opened using w+t mode --
        !           275: int(0)
        !           276: bool(false)
        !           277: bool(false)
        !           278: int(%d)
        !           279: bool(true)
        !           280: 
        !           281: -- Testing fgetcsv() with file opened using x+ mode --
        !           282: int(0)
        !           283: bool(false)
        !           284: bool(false)
        !           285: int(53)
        !           286: bool(true)
        !           287: 
        !           288: -- Testing fgetcsv() with file opened using x+b mode --
        !           289: int(0)
        !           290: bool(false)
        !           291: bool(false)
        !           292: int(53)
        !           293: bool(true)
        !           294: 
        !           295: -- Testing fgetcsv() with file opened using x+t mode --
        !           296: int(0)
        !           297: bool(false)
        !           298: bool(false)
        !           299: int(%d)
        !           300: bool(true)
        !           301: 
        !           302: -- Testing fgetcsv() with file opened using r mode --
        !           303: int(0)
        !           304: bool(false)
        !           305: bool(false)
        !           306: int(57)
        !           307: bool(true)
        !           308: 
        !           309: -- Testing fgetcsv() with file opened using rb mode --
        !           310: int(0)
        !           311: bool(false)
        !           312: bool(false)
        !           313: int(57)
        !           314: bool(true)
        !           315: 
        !           316: -- Testing fgetcsv() with file opened using rt mode --
        !           317: int(0)
        !           318: bool(false)
        !           319: bool(false)
        !           320: int(%d)
        !           321: bool(true)
        !           322: 
        !           323: -- Testing fgetcsv() with file opened using r+ mode --
        !           324: int(0)
        !           325: bool(false)
        !           326: bool(false)
        !           327: int(57)
        !           328: bool(true)
        !           329: 
        !           330: -- Testing fgetcsv() with file opened using r+b mode --
        !           331: int(0)
        !           332: bool(false)
        !           333: bool(false)
        !           334: int(57)
        !           335: bool(true)
        !           336: 
        !           337: -- Testing fgetcsv() with file opened using r+t mode --
        !           338: int(0)
        !           339: bool(false)
        !           340: bool(false)
        !           341: int(%d)
        !           342: bool(true)
        !           343: 
        !           344: -- Testing fgetcsv() with file opened using a+ mode --
        !           345: int(0)
        !           346: bool(false)
        !           347: bool(false)
        !           348: int(57)
        !           349: bool(true)
        !           350: 
        !           351: -- Testing fgetcsv() with file opened using a+b mode --
        !           352: int(0)
        !           353: bool(false)
        !           354: bool(false)
        !           355: int(57)
        !           356: bool(true)
        !           357: 
        !           358: -- Testing fgetcsv() with file opened using a+t mode --
        !           359: int(0)
        !           360: bool(false)
        !           361: bool(false)
        !           362: int(%d)
        !           363: bool(true)
        !           364: 
        !           365: -- Testing fgetcsv() with file opened using w+ mode --
        !           366: int(0)
        !           367: bool(false)
        !           368: bool(false)
        !           369: int(57)
        !           370: bool(true)
        !           371: 
        !           372: -- Testing fgetcsv() with file opened using w+b mode --
        !           373: int(0)
        !           374: bool(false)
        !           375: bool(false)
        !           376: int(57)
        !           377: bool(true)
        !           378: 
        !           379: -- Testing fgetcsv() with file opened using w+t mode --
        !           380: int(0)
        !           381: bool(false)
        !           382: bool(false)
        !           383: int(%d)
        !           384: bool(true)
        !           385: 
        !           386: -- Testing fgetcsv() with file opened using x+ mode --
        !           387: int(0)
        !           388: bool(false)
        !           389: bool(false)
        !           390: int(57)
        !           391: bool(true)
        !           392: 
        !           393: -- Testing fgetcsv() with file opened using x+b mode --
        !           394: int(0)
        !           395: bool(false)
        !           396: bool(false)
        !           397: int(57)
        !           398: bool(true)
        !           399: 
        !           400: -- Testing fgetcsv() with file opened using x+t mode --
        !           401: int(0)
        !           402: bool(false)
        !           403: bool(false)
        !           404: int(%d)
        !           405: bool(true)
        !           406: 
        !           407: -- Testing fgetcsv() with file opened using r mode --
        !           408: int(0)
        !           409: bool(false)
        !           410: bool(false)
        !           411: int(61)
        !           412: bool(true)
        !           413: 
        !           414: -- Testing fgetcsv() with file opened using rb mode --
        !           415: int(0)
        !           416: bool(false)
        !           417: bool(false)
        !           418: int(61)
        !           419: bool(true)
        !           420: 
        !           421: -- Testing fgetcsv() with file opened using rt mode --
        !           422: int(0)
        !           423: bool(false)
        !           424: bool(false)
        !           425: int(%d)
        !           426: bool(true)
        !           427: 
        !           428: -- Testing fgetcsv() with file opened using r+ mode --
        !           429: int(0)
        !           430: bool(false)
        !           431: bool(false)
        !           432: int(61)
        !           433: bool(true)
        !           434: 
        !           435: -- Testing fgetcsv() with file opened using r+b mode --
        !           436: int(0)
        !           437: bool(false)
        !           438: bool(false)
        !           439: int(61)
        !           440: bool(true)
        !           441: 
        !           442: -- Testing fgetcsv() with file opened using r+t mode --
        !           443: int(0)
        !           444: bool(false)
        !           445: bool(false)
        !           446: int(%d)
        !           447: bool(true)
        !           448: 
        !           449: -- Testing fgetcsv() with file opened using a+ mode --
        !           450: int(0)
        !           451: bool(false)
        !           452: bool(false)
        !           453: int(61)
        !           454: bool(true)
        !           455: 
        !           456: -- Testing fgetcsv() with file opened using a+b mode --
        !           457: int(0)
        !           458: bool(false)
        !           459: bool(false)
        !           460: int(61)
        !           461: bool(true)
        !           462: 
        !           463: -- Testing fgetcsv() with file opened using a+t mode --
        !           464: int(0)
        !           465: bool(false)
        !           466: bool(false)
        !           467: int(%d)
        !           468: bool(true)
        !           469: 
        !           470: -- Testing fgetcsv() with file opened using w+ mode --
        !           471: int(0)
        !           472: bool(false)
        !           473: bool(false)
        !           474: int(61)
        !           475: bool(true)
        !           476: 
        !           477: -- Testing fgetcsv() with file opened using w+b mode --
        !           478: int(0)
        !           479: bool(false)
        !           480: bool(false)
        !           481: int(61)
        !           482: bool(true)
        !           483: 
        !           484: -- Testing fgetcsv() with file opened using w+t mode --
        !           485: int(0)
        !           486: bool(false)
        !           487: bool(false)
        !           488: int(%d)
        !           489: bool(true)
        !           490: 
        !           491: -- Testing fgetcsv() with file opened using x+ mode --
        !           492: int(0)
        !           493: bool(false)
        !           494: bool(false)
        !           495: int(61)
        !           496: bool(true)
        !           497: 
        !           498: -- Testing fgetcsv() with file opened using x+b mode --
        !           499: int(0)
        !           500: bool(false)
        !           501: bool(false)
        !           502: int(61)
        !           503: bool(true)
        !           504: 
        !           505: -- Testing fgetcsv() with file opened using x+t mode --
        !           506: int(0)
        !           507: bool(false)
        !           508: bool(false)
        !           509: int(%d)
        !           510: bool(true)
        !           511: 
        !           512: -- Testing fgetcsv() with file opened using r mode --
        !           513: int(0)
        !           514: bool(false)
        !           515: bool(false)
        !           516: int(61)
        !           517: bool(true)
        !           518: 
        !           519: -- Testing fgetcsv() with file opened using rb mode --
        !           520: int(0)
        !           521: bool(false)
        !           522: bool(false)
        !           523: int(61)
        !           524: bool(true)
        !           525: 
        !           526: -- Testing fgetcsv() with file opened using rt mode --
        !           527: int(0)
        !           528: bool(false)
        !           529: bool(false)
        !           530: int(%d)
        !           531: bool(true)
        !           532: 
        !           533: -- Testing fgetcsv() with file opened using r+ mode --
        !           534: int(0)
        !           535: bool(false)
        !           536: bool(false)
        !           537: int(61)
        !           538: bool(true)
        !           539: 
        !           540: -- Testing fgetcsv() with file opened using r+b mode --
        !           541: int(0)
        !           542: bool(false)
        !           543: bool(false)
        !           544: int(61)
        !           545: bool(true)
        !           546: 
        !           547: -- Testing fgetcsv() with file opened using r+t mode --
        !           548: int(0)
        !           549: bool(false)
        !           550: bool(false)
        !           551: int(%d)
        !           552: bool(true)
        !           553: 
        !           554: -- Testing fgetcsv() with file opened using a+ mode --
        !           555: int(0)
        !           556: bool(false)
        !           557: bool(false)
        !           558: int(61)
        !           559: bool(true)
        !           560: 
        !           561: -- Testing fgetcsv() with file opened using a+b mode --
        !           562: int(0)
        !           563: bool(false)
        !           564: bool(false)
        !           565: int(61)
        !           566: bool(true)
        !           567: 
        !           568: -- Testing fgetcsv() with file opened using a+t mode --
        !           569: int(0)
        !           570: bool(false)
        !           571: bool(false)
        !           572: int(%d)
        !           573: bool(true)
        !           574: 
        !           575: -- Testing fgetcsv() with file opened using w+ mode --
        !           576: int(0)
        !           577: bool(false)
        !           578: bool(false)
        !           579: int(61)
        !           580: bool(true)
        !           581: 
        !           582: -- Testing fgetcsv() with file opened using w+b mode --
        !           583: int(0)
        !           584: bool(false)
        !           585: bool(false)
        !           586: int(61)
        !           587: bool(true)
        !           588: 
        !           589: -- Testing fgetcsv() with file opened using w+t mode --
        !           590: int(0)
        !           591: bool(false)
        !           592: bool(false)
        !           593: int(%d)
        !           594: bool(true)
        !           595: 
        !           596: -- Testing fgetcsv() with file opened using x+ mode --
        !           597: int(0)
        !           598: bool(false)
        !           599: bool(false)
        !           600: int(61)
        !           601: bool(true)
        !           602: 
        !           603: -- Testing fgetcsv() with file opened using x+b mode --
        !           604: int(0)
        !           605: bool(false)
        !           606: bool(false)
        !           607: int(61)
        !           608: bool(true)
        !           609: 
        !           610: -- Testing fgetcsv() with file opened using x+t mode --
        !           611: int(0)
        !           612: bool(false)
        !           613: bool(false)
        !           614: int(%d)
        !           615: bool(true)
        !           616: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>