@@ -36,7 +36,19 @@ public function test_separate() {
36
36
$ this ->assertSame ($ Pipeline , $ Pipeline ->incr ('bar ' ));
37
37
$ this ->assertSame ($ Pipeline , $ Pipeline ->get ('bar ' ));
38
38
$ this ->assertSame ($ Pipeline , $ Pipeline ->mget (['foo ' , 'bar ' ]));
39
- $ this ->assertSame ([true , 5 , '5 ' , true , 3 , '3 ' , ['5 ' , '3 ' ]], $ Redis ->pipeline ($ Pipeline ));
39
+ $ this ->assertSame ($ Pipeline , $ Pipeline ->time ());
40
+
41
+ $ result = $ Redis ->pipeline ($ Pipeline );
42
+
43
+ $ this ->assertSame (8 , count ($ result ));
44
+ $ this ->assertSame (true , $ result [0 ]);
45
+ $ this ->assertSame (5 , $ result [1 ]);
46
+ $ this ->assertSame ('5 ' , $ result [2 ]);
47
+ $ this ->assertSame (true , $ result [3 ]);
48
+ $ this ->assertSame (3 , $ result [4 ]);
49
+ $ this ->assertSame ('3 ' , $ result [5 ]);
50
+ $ this ->assertSame (['5 ' , '3 ' ], $ result [6 ]);
51
+ $ this ->assertSame (true , is_numeric ($ result [7 ]));
40
52
41
53
/** @var Pipeline $Pipeline */
42
54
$ Pipeline = $ Redis ->pipeline ();
@@ -61,15 +73,28 @@ public function test_pipeline() {
61
73
$ Pipeline = $ Redis ->pipeline ();
62
74
$ this ->assertInstanceOf (PipelineInterface::class, $ Pipeline );
63
75
64
- $ this ->assertSame (
65
- [true , 5 , '5 ' , true , 3 , '3 ' , ['5 ' , '3 ' ]],
66
- $ Redis ->pipeline (
67
- $ Pipeline ->set ('foo ' , '4 ' )->incr ('foo ' )->get ('foo ' )
68
- ->set ('bar ' , '2 ' )->incr ('bar ' )->get ('bar ' )
69
- ->mget (['foo ' , 'bar ' ])
70
- )
76
+ $ result = $ Redis ->pipeline (
77
+ $ Pipeline
78
+ ->set ('foo ' , '4 ' )
79
+ ->incr ('foo ' )
80
+ ->get ('foo ' )
81
+ ->set ('bar ' , '2 ' )
82
+ ->incr ('bar ' )
83
+ ->get ('bar ' )
84
+ ->mget (['foo ' , 'bar ' ])
85
+ ->time ()
71
86
);
72
87
88
+ $ this ->assertSame (8 , count ($ result ));
89
+ $ this ->assertSame (true , $ result [0 ]);
90
+ $ this ->assertSame (5 , $ result [1 ]);
91
+ $ this ->assertSame ('5 ' , $ result [2 ]);
92
+ $ this ->assertSame (true , $ result [3 ]);
93
+ $ this ->assertSame (3 , $ result [4 ]);
94
+ $ this ->assertSame ('3 ' , $ result [5 ]);
95
+ $ this ->assertSame (['5 ' , '3 ' ], $ result [6 ]);
96
+ $ this ->assertSame (true , is_numeric ($ result [7 ]));
97
+
73
98
/** @var Pipeline $Pipeline */
74
99
$ Pipeline = $ Redis ->pipeline ();
75
100
$ this ->assertInstanceOf (PipelineInterface::class, $ Pipeline );
@@ -127,10 +152,11 @@ public function test_transaction() {
127
152
->set ('bar ' , 'new ' )
128
153
->get ('bar ' )
129
154
->echo ('hello word ' )
155
+ ->time ()
130
156
->exec ();
131
157
});
132
158
133
- $ this ->assertSame (10 , count ($ result ));
159
+ $ this ->assertSame (11 , count ($ result ));
134
160
$ this ->assertSame (true , $ result [0 ]);
135
161
$ this ->assertSame ('QUEUED ' , $ result [1 ]);
136
162
$ this ->assertSame ('QUEUED ' , $ result [2 ]);
@@ -140,10 +166,40 @@ public function test_transaction() {
140
166
$ this ->assertSame ('QUEUED ' , $ result [6 ]);
141
167
$ this ->assertSame ('QUEUED ' , $ result [7 ]);
142
168
$ this ->assertSame ('QUEUED ' , $ result [8 ]);
169
+ $ this ->assertSame ('QUEUED ' , $ result [9 ]);
143
170
144
- $ result = $ result [9 ];
171
+ $ result = $ result [10 ];
145
172
146
- $ this ->assertSame (8 , count ($ result ));
173
+ $ this ->assertSame (9 , count ($ result ));
174
+ $ this ->assertSame (true , $ result [0 ]);
175
+ $ this ->assertSame (true , $ result [1 ]);
176
+ $ this ->assertSame ('bar ' , $ result [2 ]);
177
+ $ this ->assertInstanceOf (ErrorResponseException::class, $ result [3 ]);
178
+ $ this ->assertInstanceOf (ErrorResponseException::class, $ result [4 ]);
179
+ $ this ->assertSame (true , $ result [5 ]);
180
+ $ this ->assertSame ('new ' , $ result [6 ]);
181
+ $ this ->assertSame ('hello word ' , $ result [7 ]);
182
+ $ this ->assertSame (true , is_string ($ result [8 ]));
183
+ $ this ->assertSame (true , is_numeric ($ result [8 ][0 ]));
184
+ }
185
+
186
+ public function test_transactionWithoutPipeline () {
187
+ $ Redis = static ::$ Redis ;
188
+
189
+ /** @var Pipeline $Pipeline */
190
+ $ this ->assertSame (true , $ Redis ->multi ());
191
+ $ this ->assertSame ('QUEUED ' , $ Redis ->set ('foo ' , 'foo ' ));
192
+ $ this ->assertSame ('QUEUED ' , $ Redis ->set ('bar ' , 'bar ' ));
193
+ $ this ->assertSame ('QUEUED ' , $ Redis ->get ('bar ' ));
194
+ $ this ->assertSame ('QUEUED ' , $ Redis ->hincrby ('foo ' , 'foo ' , 1 ));
195
+ $ this ->assertSame ('QUEUED ' , $ Redis ->lpush ('bar ' , 'bar ' ));
196
+ $ this ->assertSame ('QUEUED ' , $ Redis ->set ('bar ' , 'new ' ));
197
+ $ this ->assertSame ('QUEUED ' , $ Redis ->get ('bar ' ));
198
+ $ this ->assertSame ('QUEUED ' , $ Redis ->echo ('hello word ' ));
199
+ $ this ->assertSame ('QUEUED ' , $ Redis ->time ());
200
+ $ result = $ Redis ->exec ();
201
+
202
+ $ this ->assertSame (9 , count ($ result ));
147
203
$ this ->assertSame (true , $ result [0 ]);
148
204
$ this ->assertSame (true , $ result [1 ]);
149
205
$ this ->assertSame ('bar ' , $ result [2 ]);
@@ -152,6 +208,8 @@ public function test_transaction() {
152
208
$ this ->assertSame (true , $ result [5 ]);
153
209
$ this ->assertSame ('new ' , $ result [6 ]);
154
210
$ this ->assertSame ('hello word ' , $ result [7 ]);
211
+ $ this ->assertSame (true , is_string ($ result [8 ]));
212
+ $ this ->assertSame (true , is_numeric ($ result [8 ][0 ]));
155
213
}
156
214
157
215
}
0 commit comments