comparison js_async.t @ 1811:520fb74cce4c

Tests: improved njs version check to account multi digit versions.
author Dmitry Volyntsev <xeioex@nginx.com>
date Fri, 02 Dec 2022 17:46:22 -0800
parents 18ac4d9e5a2a
children
comparison
equal deleted inserted replaced
1810:7cf848422b28 1811:520fb74cce4c
209 like(http_get('/set_timeout_data'), qr/123456789/, 'setTimeout data'); 209 like(http_get('/set_timeout_data'), qr/123456789/, 'setTimeout data');
210 like(http_get('/shared_ctx?a=xxx'), qr/H: xxx/, 'shared context'); 210 like(http_get('/shared_ctx?a=xxx'), qr/H: xxx/, 'shared context');
211 like(http_get('/limit_rate'), qr/A{50}/, 'limit_rate'); 211 like(http_get('/limit_rate'), qr/A{50}/, 'limit_rate');
212 212
213 TODO: { 213 TODO: {
214 local $TODO = 'not yet' 214 local $TODO = 'not yet' unless has_version('0.7.0');
215 unless http_get('/njs') =~ /^([.0-9]+)$/m && $1 ge '0.7.0';
216 215
217 like(http_get('/async_content'), qr/retval: AB/, 'async content'); 216 like(http_get('/async_content'), qr/retval: AB/, 'async content');
218 like(http_get('/set_rv_var'), qr/retval: 30/, 'set return value variable'); 217 like(http_get('/set_rv_var'), qr/retval: 30/, 'set return value variable');
219 218
220 } 219 }
227 'pending js events'); 226 'pending js events');
228 ok(index($t->read_file('error.log'), 'async operation inside') > 0, 227 ok(index($t->read_file('error.log'), 'async operation inside') > 0,
229 'async op in var handler'); 228 'async op in var handler');
230 229
231 ############################################################################### 230 ###############################################################################
231
232 sub has_version {
233 my $need = shift;
234
235 http_get('/njs') =~ /^([.0-9]+)$/m;
236
237 my @v = split(/\./, $1);
238 my ($n, $v);
239
240 for $n (split(/\./, $need)) {
241 $v = shift @v || 0;
242 return 0 if $n > $v;
243 return 1 if $v > $n;
244 }
245
246 return 1;
247 }
248
249 ###############################################################################