@@ -47,7 +47,7 @@ public function provideCompileData()
4747'Route with a variable ' ,
4848array ('/foo/{bar} ' ),
4949'/foo ' ,'#^/foo/(?P<bar>[^/]++)$#sD ' ,array ('bar ' ),array (
50- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
50+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
5151array ('text ' ,'/foo ' ),
5252 ),
5353 ),
@@ -56,7 +56,7 @@ public function provideCompileData()
5656'Route with a variable that has a default value ' ,
5757array ('/foo/{bar} ' ,array ('bar ' =>'bar ' )),
5858'/foo ' ,'#^/foo(?:/(?P<bar>[^/]++))?$#sD ' ,array ('bar ' ),array (
59- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
59+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
6060array ('text ' ,'/foo ' ),
6161 ),
6262 ),
@@ -65,8 +65,8 @@ public function provideCompileData()
6565'Route with several variables ' ,
6666array ('/foo/{bar}/{foobar} ' ),
6767'/foo ' ,'#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#sD ' ,array ('bar ' ,'foobar ' ),array (
68- array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' ),
69- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
68+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' , false , false ),
69+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
7070array ('text ' ,'/foo ' ),
7171 ),
7272 ),
@@ -75,8 +75,8 @@ public function provideCompileData()
7575'Route with several variables that have default values ' ,
7676array ('/foo/{bar}/{foobar} ' ,array ('bar ' =>'bar ' ,'foobar ' =>'' )),
7777'/foo ' ,'#^/foo(?:/(?P<bar>[^/]++)(?:/(?P<foobar>[^/]++))?)?$#sD ' ,array ('bar ' ,'foobar ' ),array (
78- array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' ),
79- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
78+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' , false , false ),
79+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
8080array ('text ' ,'/foo ' ),
8181 ),
8282 ),
@@ -85,8 +85,8 @@ public function provideCompileData()
8585'Route with several variables but some of them have no default values ' ,
8686array ('/foo/{bar}/{foobar} ' ,array ('bar ' =>'bar ' )),
8787'/foo ' ,'#^/foo/(?P<bar>[^/]++)/(?P<foobar>[^/]++)$#sD ' ,array ('bar ' ,'foobar ' ),array (
88- array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' ),
89- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
88+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'foobar ' , false , false ),
89+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
9090array ('text ' ,'/foo ' ),
9191 ),
9292 ),
@@ -95,40 +95,40 @@ public function provideCompileData()
9595'Route with an optional variable as the first segment ' ,
9696array ('/{bar} ' ,array ('bar ' =>'bar ' )),
9797'' ,'#^/(?P<bar>[^/]++)?$#sD ' ,array ('bar ' ),array (
98- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
98+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
9999 ),
100100 ),
101101
102102array (
103103'Route with a requirement of 0 ' ,
104104array ('/{bar} ' ,array ('bar ' =>null ),array ('bar ' =>'0 ' )),
105105'' ,'#^/(?P<bar>0)?$#sD ' ,array ('bar ' ),array (
106- array ('variable ' ,'/ ' ,'0 ' ,'bar ' ),
106+ array ('variable ' ,'/ ' ,'0 ' ,'bar ' , false , false ),
107107 ),
108108 ),
109109
110110array (
111111'Route with an optional variable as the first segment with requirements ' ,
112112array ('/{bar} ' ,array ('bar ' =>'bar ' ),array ('bar ' =>'(foo|bar) ' )),
113113'' ,'#^/(?P<bar>(?:foo|bar))?$#sD ' ,array ('bar ' ),array (
114- array ('variable ' ,'/ ' ,'(?:foo|bar) ' ,'bar ' ),
114+ array ('variable ' ,'/ ' ,'(?:foo|bar) ' ,'bar ' , false , false ),
115115 ),
116116 ),
117117
118118array (
119119'Route with only optional variables ' ,
120120array ('/{foo}/{bar} ' ,array ('foo ' =>'foo ' ,'bar ' =>'bar ' )),
121121'' ,'#^/(?P<foo>[^/]++)?(?:/(?P<bar>[^/]++))?$#sD ' ,array ('foo ' ,'bar ' ),array (
122- array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' ),
123- array ('variable ' ,'/ ' ,'[^/]++ ' ,'foo ' ),
122+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'bar ' , false , false ),
123+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'foo ' , false , false ),
124124 ),
125125 ),
126126
127127array (
128128'Route with a variable in last position ' ,
129129array ('/foo-{bar} ' ),
130130'/foo- ' ,'#^/foo\-(?P<bar>[^/]++)$#sD ' ,array ('bar ' ),array (
131- array ('variable ' ,'- ' ,'[^/]++ ' ,'bar ' ),
131+ array ('variable ' ,'- ' ,'[^/]++ ' ,'bar ' , false , false ),
132132array ('text ' ,'/foo ' ),
133133 ),
134134 ),
@@ -138,7 +138,7 @@ public function provideCompileData()
138138array ('/{static{var}static} ' ),
139139'/{static ' ,'#^/\{static(?P<var>[^/]+)static\}$#sD ' ,array ('var ' ),array (
140140array ('text ' ,'static} ' ),
141- array ('variable ' ,'' ,'[^/]+ ' ,'var ' ),
141+ array ('variable ' ,'' ,'[^/]+ ' ,'var ' , false , false ),
142142array ('text ' ,'/{static ' ),
143143 ),
144144 ),
@@ -147,20 +147,20 @@ public function provideCompileData()
147147'Route without separator between variables ' ,
148148array ('/{w}{x}{y}{z}.{_format} ' ,array ('z ' =>'default-z ' ,'_format ' =>'html ' ),array ('y ' =>'(y|Y) ' )),
149149'' ,'#^/(?P<w>[^/\.]+)(?P<x>[^/\.]+)(?P<y>(?:y|Y))(?:(?P<z>[^/\.]++)(?:\.(?P<_format>[^/]++))?)?$#sD ' ,array ('w ' ,'x ' ,'y ' ,'z ' ,'_format ' ),array (
150- array ('variable ' ,'. ' ,'[^/]++ ' ,'_format ' ),
151- array ('variable ' ,'' ,'[^/\.]++ ' ,'z ' ),
152- array ('variable ' ,'' ,'(?:y|Y) ' ,'y ' ),
153- array ('variable ' ,'' ,'[^/\.]+ ' ,'x ' ),
154- array ('variable ' ,'/ ' ,'[^/\.]+ ' ,'w ' ),
150+ array ('variable ' ,'. ' ,'[^/]++ ' ,'_format ' , false , false ),
151+ array ('variable ' ,'' ,'[^/\.]++ ' ,'z ' , false , false ),
152+ array ('variable ' ,'' ,'(?:y|Y) ' ,'y ' , false , false ),
153+ array ('variable ' ,'' ,'[^/\.]+ ' ,'x ' , false , false ),
154+ array ('variable ' ,'/ ' ,'[^/\.]+ ' ,'w ' , false , false ),
155155 ),
156156 ),
157157
158158array (
159159'Route with a format ' ,
160160array ('/foo/{bar}.{_format} ' ),
161161'/foo ' ,'#^/foo/(?P<bar>[^/\.]++)\.(?P<_format>[^/]++)$#sD ' ,array ('bar ' ,'_format ' ),array (
162- array ('variable ' ,'. ' ,'[^/]++ ' ,'_format ' ),
163- array ('variable ' ,'/ ' ,'[^/\.]++ ' ,'bar ' ),
162+ array ('variable ' ,'. ' ,'[^/]++ ' ,'_format ' , false , false ),
163+ array ('variable ' ,'/ ' ,'[^/\.]++ ' ,'bar ' , false , false ),
164164array ('text ' ,'/foo ' ),
165165 ),
166166 ),
@@ -177,7 +177,7 @@ public function provideCompileData()
177177'Route with an explicit UTF-8 requirement ' ,
178178array ('/{bar} ' ,array ('bar ' =>null ),array ('bar ' =>'. ' ),array ('utf8 ' =>true )),
179179'' ,'#^/(?P<bar>.)?$#sDu ' ,array ('bar ' ),array (
180- array ('variable ' ,'/ ' ,'. ' ,'bar ' ,true ),
180+ array ('variable ' ,'/ ' ,'. ' ,'bar ' ,true , false ),
181181 ),
182182 ),
183183 );
@@ -215,7 +215,7 @@ public function provideCompileImplicitUtf8Data()
215215'Route with an implicit UTF-8 requirement ' ,
216216array ('/{bar} ' ,array ('bar ' =>null ),array ('bar ' =>'é ' )),
217217'' ,'#^/(?P<bar>é)?$#sDu ' ,array ('bar ' ),array (
218- array ('variable ' ,'/ ' ,'é ' ,'bar ' ,true ),
218+ array ('variable ' ,'/ ' ,'é ' ,'bar ' ,true , false ),
219219 ),
220220'requirements ' ,
221221 ),
@@ -224,7 +224,7 @@ public function provideCompileImplicitUtf8Data()
224224'Route with a UTF-8 class requirement ' ,
225225array ('/{bar} ' ,array ('bar ' =>null ),array ('bar ' =>'\pM ' )),
226226'' ,'#^/(?P<bar>\pM)?$#sDu ' ,array ('bar ' ),array (
227- array ('variable ' ,'/ ' ,'\pM ' ,'bar ' ,true ),
227+ array ('variable ' ,'/ ' ,'\pM ' ,'bar ' ,true , false ),
228228 ),
229229'requirements ' ,
230230 ),
@@ -233,8 +233,8 @@ public function provideCompileImplicitUtf8Data()
233233'Route with a UTF-8 separator ' ,
234234array ('/foo/{bar}§{_format} ' ,array (),array (),array ('compiler_class ' => Utf8RouteCompiler::class)),
235235'/foo ' ,'#^/foo/(?P<bar>[^/§]++)§(?P<_format>[^/]++)$#sDu ' ,array ('bar ' ,'_format ' ),array (
236- array ('variable ' ,'§ ' ,'[^/]++ ' ,'_format ' ,true ),
237- array ('variable ' ,'/ ' ,'[^/§]++ ' ,'bar ' ,true ),
236+ array ('variable ' ,'§ ' ,'[^/]++ ' ,'_format ' ,true , false ),
237+ array ('variable ' ,'/ ' ,'[^/§]++ ' ,'bar ' ,true , false ),
238238array ('text ' ,'/foo ' ),
239239 ),
240240'patterns ' ,
@@ -337,11 +337,11 @@ public function provideCompileWithHostData()
337337'Route with host pattern and some variables ' ,
338338array ('/hello/{name} ' ,array (),array (),array (),'www.example.{tld} ' ),
339339'/hello ' ,'#^/hello/(?P<name>[^/]++)$#sD ' ,array ('tld ' ,'name ' ),array ('name ' ),array (
340- array ('variable ' ,'/ ' ,'[^/]++ ' ,'name ' ),
340+ array ('variable ' ,'/ ' ,'[^/]++ ' ,'name ' , false , false ),
341341array ('text ' ,'/hello ' ),
342342 ),
343343'#^www\.example\.(?P<tld>[^\.]++)$#sDi ' ,array ('tld ' ),array (
344- array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' ),
344+ array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' , false , false ),
345345array ('text ' ,'www.example ' ),
346346 ),
347347 ),
@@ -352,9 +352,9 @@ public function provideCompileWithHostData()
352352array ('text ' ,'/hello ' ),
353353 ),
354354'#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#sDi ' ,array ('locale ' ,'tld ' ),array (
355- array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' ),
355+ array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' , false , false ),
356356array ('text ' ,'.example ' ),
357- array ('variable ' ,'' ,'[^\.]++ ' ,'locale ' ),
357+ array ('variable ' ,'' ,'[^\.]++ ' ,'locale ' , false , false ),
358358 ),
359359 ),
360360array (
@@ -364,9 +364,9 @@ public function provideCompileWithHostData()
364364array ('text ' ,'/hello ' ),
365365 ),
366366'#^(?P<locale>[^\.]++)\.example\.(?P<tld>[^\.]++)$#sDi ' ,array ('locale ' ,'tld ' ),array (
367- array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' ),
367+ array ('variable ' ,'. ' ,'[^\.]++ ' ,'tld ' , false , false ),
368368array ('text ' ,'.example ' ),
369- array ('variable ' ,'' ,'[^\.]++ ' ,'locale ' ),
369+ array ('variable ' ,'' ,'[^\.]++ ' ,'locale ' , false , false ),
370370 ),
371371 ),
372372 );