xref: /PHP-5.5/ext/standard/tests/file/fscanf.phpt (revision 318efa7f)
1--TEST--
2fscanf() tests
3--FILE--
4<?php
5
6$filename = dirname(__FILE__)."/fscanf.dat";
7
8var_dump(fscanf());
9var_dump(fscanf(array()));
10var_dump(fscanf(array(), array(), new stdclass));
11
12file_put_contents($filename, "data");
13
14$fp = fopen($filename, "rt");
15var_dump(fscanf($fp, "%d", $v));
16var_dump($v);
17fclose($fp);
18
19$fp = fopen($filename, "rt");
20var_dump(fscanf($fp, "%s", $v));
21var_dump($v);
22fclose($fp);
23
24$fp = fopen($filename, "rt");
25var_dump(fscanf($fp, "%s", $v, $v1));
26var_dump($v);
27var_dump($v1);
28fclose($fp);
29
30$v = array();
31$v1 = array();
32$fp = fopen($filename, "rt");
33var_dump(fscanf($fp, "", $v, $v1));
34var_dump($v);
35var_dump($v1);
36fclose($fp);
37
38$v = array();
39$v1 = array();
40$fp = fopen($filename, "rt");
41var_dump(fscanf($fp, "%.a", $v, $v1));
42var_dump($v);
43var_dump($v1);
44fclose($fp);
45
46@unlink($filename);
47touch($filename);
48
49$fp = fopen($filename, "rt");
50var_dump(fscanf($fp, "%s", $v));
51var_dump($v);
52fclose($fp);
53
54file_put_contents($filename, "data");
55
56$fp = fopen($filename, "rt");
57var_dump(fscanf($fp, "%s%d", $v));
58
59@unlink($filename);
60echo "Done\n";
61?>
62--EXPECTF--
63Warning: fscanf() expects at least 2 parameters, 0 given in %s on line %d
64NULL
65
66Warning: fscanf() expects at least 2 parameters, 1 given in %s on line %d
67NULL
68
69Warning: fscanf() expects parameter 1 to be resource, array given in %s on line %d
70NULL
71int(0)
72NULL
73int(1)
74string(4) "data"
75
76Warning: fscanf(): Variable is not assigned by any conversion specifiers in %s on line %d
77int(-1)
78string(4) "data"
79NULL
80
81Warning: fscanf(): Variable is not assigned by any conversion specifiers in %s on line %d
82int(-1)
83array(0) {
84}
85array(0) {
86}
87
88Warning: fscanf(): Bad scan conversion character "." in %s on line %d
89int(-1)
90array(0) {
91}
92array(0) {
93}
94bool(false)
95array(0) {
96}
97
98Warning: fscanf(): Different numbers of variable names and field specifiers in %s on line %d
99int(-1)
100Done
101