3 * Generated by build/gen_test
5 require_once('src/lightncandy.php');
7 class LightnCandyTest extends PHPUnit_Framework_TestCase
10 * @covers LightnCandy::stripExtendedComments
12 public function testOn_stripExtendedComments() {
13 $method = new ReflectionMethod('LightnCandy', 'stripExtendedComments');
14 $method->setAccessible(true);
15 $this->assertEquals('abc', $method->invokeArgs(null,array(
18 $this->assertEquals('abc{{!}}cde', $method->invokeArgs(null,array(
21 $this->assertEquals('abc{{! }}cde', $method->invokeArgs(null,array(
26 * @covers LightnCandy::escapeTemplate
28 public function testOn_escapeTemplate() {
29 $method = new ReflectionMethod('LightnCandy', 'escapeTemplate');
30 $method->setAccessible(true);
31 $this->assertEquals('abc', $method->invokeArgs(null,array(
34 $this->assertEquals('a\\\\bc', $method->invokeArgs(null,array(
37 $this->assertEquals('a\\\'bc', $method->invokeArgs(null,array(
42 * @covers LightnCandy::buildHelperTable
44 public function testOn_buildHelperTable() {
45 $method = new ReflectionMethod('LightnCandy', 'buildHelperTable');
46 $method->setAccessible(true);
47 $this->assertEquals(array(), $method->invokeArgs(null,array(
50 $this->assertEquals(array('flags' => array('exhlp' => 1)), $method->invokeArgs(null,array(
51 array('flags' => array('exhlp' => 1)), array('helpers' => array('abc'))
53 $this->assertEquals(array('error' => array('Can not find custom helper function defination abc() !'), 'flags' => array('exhlp' => 0)), $method->invokeArgs(null,array(
54 array('error' => array(), 'flags' => array('exhlp' => 0)), array('helpers' => array('abc'))
56 $this->assertEquals(array('flags' => array('exhlp' => 1), 'helpers' => array('LCRun3::raw' => 'LCRun3::raw')), $method->invokeArgs(null,array(
57 array('flags' => array('exhlp' => 1), 'helpers' => array()), array('helpers' => array('LCRun3::raw'))
59 $this->assertEquals(array('flags' => array('exhlp' => 1), 'helpers' => array('test' => 'LCRun3::raw')), $method->invokeArgs(null,array(
60 array('flags' => array('exhlp' => 1), 'helpers' => array()), array('helpers' => array('test' => 'LCRun3::raw'))
64 * @covers LightnCandy::prePartial
66 public function testOn_prePartial() {
67 $method = new ReflectionMethod('LightnCandy', 'prePartial');
68 $method->setAccessible(true);
69 $this->assertEquals('hey', $method->invokeArgs(null,array(
70 'hey', 'haha', Array('prepartial' => false)
72 $this->assertEquals('haha-hoho', $method->invokeArgs(null,array(
73 'hoho', 'haha', Array('prepartial' => function ($tmpl, $name) {return "$name-$tmpl";})
77 * @covers LightnCandy::buildCXFileext
79 public function testOn_buildCXFileext() {
80 $method = new ReflectionMethod('LightnCandy', 'buildCXFileext');
81 $method->setAccessible(true);
82 $this->assertEquals(array('.tmpl'), $method->invokeArgs(null,array(
85 $this->assertEquals(array('test'), $method->invokeArgs(null,array(
86 array('fileext' => 'test')
88 $this->assertEquals(array('test1'), $method->invokeArgs(null,array(
89 array('fileext' => array('test1'))
91 $this->assertEquals(array('test2', 'test3'), $method->invokeArgs(null,array(
92 array('fileext' => array('test2', 'test3'))
96 * @covers LightnCandy::buildCXBasedir
98 public function testOn_buildCXBasedir() {
99 $method = new ReflectionMethod('LightnCandy', 'buildCXBasedir');
100 $method->setAccessible(true);
101 $this->assertEquals(array(), $method->invokeArgs(null,array(
104 $this->assertEquals(array(), $method->invokeArgs(null,array(
105 array('basedir' => array())
107 $this->assertEquals(array('src'), $method->invokeArgs(null,array(
108 array('basedir' => array('src'))
110 $this->assertEquals(array('src'), $method->invokeArgs(null,array(
111 array('basedir' => array('src', 'dir_not_found'))
113 $this->assertEquals(array('src', 'tests'), $method->invokeArgs(null,array(
114 array('basedir' => array('src', 'tests'))
118 * @covers LightnCandy::getPHPCode
120 public function testOn_getPHPCode() {
121 $method = new ReflectionMethod('LightnCandy', 'getPHPCode');
122 $method->setAccessible(true);
123 $this->assertEquals('function($a) {return;}', $method->invokeArgs(null,array(
124 function ($a) {return;}
126 $this->assertEquals('function($a) {return;}', $method->invokeArgs(null,array(
127 function ($a) {return;}
131 * @covers LightnCandy::handleError
133 public function testOn_handleError() {
134 $method = new ReflectionMethod('LightnCandy', 'handleError');
135 $method->setAccessible(true);
136 $this->assertEquals(true, $method->invokeArgs(null,array(
137 array('level' => 1, 'stack' => array('X'), 'flags' => array('errorlog' => 0, 'exception' => 0), 'error' => array(), 'rawblock' => 0)
139 $this->assertEquals(false, $method->invokeArgs(null,array(
140 array('level' => 0, 'error' => array())
142 $this->assertEquals(true, $method->invokeArgs(null,array(
143 array('level' => 0, 'error' => array('some error'), 'flags' => array('errorlog' => 0, 'exception' => 0))
147 * @covers LightnCandy::getBoolStr
149 public function testOn_getBoolStr() {
150 $method = new ReflectionMethod('LightnCandy', 'getBoolStr');
151 $method->setAccessible(true);
152 $this->assertEquals('true', $method->invokeArgs(null,array(
155 $this->assertEquals('true', $method->invokeArgs(null,array(
158 $this->assertEquals('false', $method->invokeArgs(null,array(
161 $this->assertEquals('false', $method->invokeArgs(null,array(
166 * @covers LightnCandy::getFuncName
168 public function testOn_getFuncName() {
169 $method = new ReflectionMethod('LightnCandy', 'getFuncName');
170 $method->setAccessible(true);
171 $this->assertEquals('LCRun3::test(', $method->invokeArgs(null,array(
172 array('flags' => array('standalone' => 0, 'debug' => 0), 'lcrun' => 'LCRun3'), 'test', ''
174 $this->assertEquals('LCRun3::test2(', $method->invokeArgs(null,array(
175 array('flags' => array('standalone' => 0, 'debug' => 0), 'lcrun' => 'LCRun3'), 'test2', ''
177 $this->assertEquals("\$cx['funcs']['test3'](", $method->invokeArgs(null,array(
178 array('flags' => array('standalone' => 1, 'debug' => 0), 'lcrun' => 'LCRun3'), 'test3', ''
180 $this->assertEquals('LCRun3::debug(\'abc\', \'test\', ', $method->invokeArgs(null,array(
181 array('flags' => array('standalone' => 0, 'debug' => 1), 'lcrun' => 'LCRun3'), 'test', 'abc'
185 * @covers LightnCandy::getArrayStr
187 public function testOn_getArrayStr() {
188 $method = new ReflectionMethod('LightnCandy', 'getArrayStr');
189 $method->setAccessible(true);
190 $this->assertEquals('', $method->invokeArgs(null,array(
193 $this->assertEquals('[a]', $method->invokeArgs(null,array(
196 $this->assertEquals('[a][b][c]', $method->invokeArgs(null,array(
201 * @covers LightnCandy::getArrayCode
203 public function testOn_getArrayCode() {
204 $method = new ReflectionMethod('LightnCandy', 'getArrayCode');
205 $method->setAccessible(true);
206 $this->assertEquals('', $method->invokeArgs(null,array(
209 $this->assertEquals("['a']", $method->invokeArgs(null,array(
212 $this->assertEquals("['a']['b']['c']", $method->invokeArgs(null,array(
217 * @covers LightnCandy::getVariableNames
219 public function testOn_getVariableNames() {
220 $method = new ReflectionMethod('LightnCandy', 'getVariableNames');
221 $method->setAccessible(true);
222 $this->assertEquals(array('array(array($in),array())', array('this')), $method->invokeArgs(null,array(
223 array(null), array('flags'=>array('spvar'=>true))
225 $this->assertEquals(array('array(array($in,$in),array())', array('this', 'this')), $method->invokeArgs(null,array(
226 array(null, null), array('flags'=>array('spvar'=>true))
228 $this->assertEquals(array('array(array(),array(\'a\'=>$in))', array('this')), $method->invokeArgs(null,array(
229 array('a' => null), array('flags'=>array('spvar'=>true))
233 * @covers LightnCandy::getVariableName
235 public function testOn_getVariableName() {
236 $method = new ReflectionMethod('LightnCandy', 'getVariableName');
237 $method->setAccessible(true);
238 $this->assertEquals(array('$in', 'this'), $method->invokeArgs(null,array(
239 array(null), array('flags'=>array('spvar'=>true,'debug'=>0))
241 $this->assertEquals(array('((isset($in[\'true\']) && is_array($in)) ? $in[\'true\'] : null)', '[true]'), $method->invokeArgs(null,array(
242 array('true'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
244 $this->assertEquals(array('((isset($in[\'false\']) && is_array($in)) ? $in[\'false\'] : null)', '[false]'), $method->invokeArgs(null,array(
245 array('false'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
247 $this->assertEquals(array('true', 'true'), $method->invokeArgs(null,array(
248 array(0, 'true'), array('flags'=>array('spvar'=>true,'debug'=>0))
250 $this->assertEquals(array('false', 'false'), $method->invokeArgs(null,array(
251 array(0, 'false'), array('flags'=>array('spvar'=>true,'debug'=>0))
253 $this->assertEquals(array('((isset($in[\'2\']) && is_array($in)) ? $in[\'2\'] : null)', '[2]'), $method->invokeArgs(null,array(
254 array('2'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
256 $this->assertEquals(array('2', '2'), $method->invokeArgs(null,array(
257 array(0, '2'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0))
259 $this->assertEquals(array('((isset($in[\'@index\']) && is_array($in)) ? $in[\'@index\'] : null)', '[@index]'), $method->invokeArgs(null,array(
260 array('@index'), array('flags'=>array('spvar'=>false,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
262 $this->assertEquals(array("((isset(\$cx['sp_vars']['index']) && is_array(\$cx['sp_vars'])) ? \$cx['sp_vars']['index'] : null)", '@[index]'), $method->invokeArgs(null,array(
263 array('@index'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
265 $this->assertEquals(array("((isset(\$cx['sp_vars']['key']) && is_array(\$cx['sp_vars'])) ? \$cx['sp_vars']['key'] : null)", '@[key]'), $method->invokeArgs(null,array(
266 array('@key'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
268 $this->assertEquals(array("((isset(\$cx['sp_vars']['first']) && is_array(\$cx['sp_vars'])) ? \$cx['sp_vars']['first'] : null)", '@[first]'), $method->invokeArgs(null,array(
269 array('@first'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
271 $this->assertEquals(array("((isset(\$cx['sp_vars']['last']) && is_array(\$cx['sp_vars'])) ? \$cx['sp_vars']['last'] : null)", '@[last]'), $method->invokeArgs(null,array(
272 array('@last'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
274 $this->assertEquals(array('((isset($in[\'"a"\']) && is_array($in)) ? $in[\'"a"\'] : null)', '["a"]'), $method->invokeArgs(null,array(
275 array('"a"'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
277 $this->assertEquals(array('"a"', '"a"'), $method->invokeArgs(null,array(
278 array(0, '"a"'), array('flags'=>array('spvar'=>true,'debug'=>0))
280 $this->assertEquals(array('((isset($in[\'a\']) && is_array($in)) ? $in[\'a\'] : null)', '[a]'), $method->invokeArgs(null,array(
281 array('a'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
283 $this->assertEquals(array('((isset($cx[\'scopes\'][count($cx[\'scopes\'])-1][\'a\']) && is_array($cx[\'scopes\'][count($cx[\'scopes\'])-1])) ? $cx[\'scopes\'][count($cx[\'scopes\'])-1][\'a\'] : null)', '../[a]'), $method->invokeArgs(null,array(
284 array(1,'a'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
286 $this->assertEquals(array('((isset($cx[\'scopes\'][count($cx[\'scopes\'])-3][\'a\']) && is_array($cx[\'scopes\'][count($cx[\'scopes\'])-3])) ? $cx[\'scopes\'][count($cx[\'scopes\'])-3][\'a\'] : null)', '../../../[a]'), $method->invokeArgs(null,array(
287 array(3,'a'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
289 $this->assertEquals(array('((isset($in[\'id\']) && is_array($in)) ? $in[\'id\'] : null)', 'this.[id]'), $method->invokeArgs(null,array(
290 array(null, 'id'), array('flags'=>array('spvar'=>true,'debug'=>0,'prop'=>0,'method'=>0,'mustlok'=>0))
292 $this->assertEquals(array('LCRun3::v($cx, $in, array(\'id\'))', 'this.[id]'), $method->invokeArgs(null,array(
293 array(null, 'id'), array('flags'=>array('prop'=>true,'spvar'=>true,'debug'=>0,'method'=>0,'mustlok'=>0,'standalone'=>0), 'lcrun' => 'LCRun3')
297 * @covers LightnCandy::getExpression
299 public function testOn_getExpression() {
300 $method = new ReflectionMethod('LightnCandy', 'getExpression');
301 $method->setAccessible(true);
302 $this->assertEquals('[a].[b]', $method->invokeArgs(null,array(
303 0, false, array('a', 'b')
305 $this->assertEquals('@[root]', $method->invokeArgs(null,array(
306 0, true, array('root')
308 $this->assertEquals('this', $method->invokeArgs(null,array(
311 $this->assertEquals('this.[id]', $method->invokeArgs(null,array(
312 0, false, array(null, 'id')
314 $this->assertEquals('@[root].[a].[b]', $method->invokeArgs(null,array(
315 0, true, array('root', 'a', 'b')
317 $this->assertEquals('../../[a].[b]', $method->invokeArgs(null,array(
318 2, false, array('a', 'b')
320 $this->assertEquals('../[a\'b]', $method->invokeArgs(null,array(
321 1, false, array('a\'b')
325 * @covers LightnCandy::fixVariable
327 public function testOn_fixVariable() {
328 $method = new ReflectionMethod('LightnCandy', 'fixVariable');
329 $method->setAccessible(true);
330 $this->assertEquals(array('this'), $method->invokeArgs(null,array(
331 'this', array('flags' => array('advar' => 0, 'this' => 0))
333 $this->assertEquals(array(), $method->invokeArgs(null,array(
334 'this', array('flags' => array('advar' => 0, 'this' => 1))
336 $this->assertEquals(array(1), $method->invokeArgs(null,array(
337 '../', array('flags' => array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
339 $this->assertEquals(array(1), $method->invokeArgs(null,array(
340 '../.', array('flags' => array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
342 $this->assertEquals(array(1), $method->invokeArgs(null,array(
343 '../this', array('flags' => array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
345 $this->assertEquals(array(1, 'a'), $method->invokeArgs(null,array(
346 '../a', array('flags' => array('advar' => 0, 'this' => 1, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
348 $this->assertEquals(array(2, 'a', 'b'), $method->invokeArgs(null,array(
349 '../../a.b', array('flags' => array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
351 $this->assertEquals(array(2, '[a]', 'b'), $method->invokeArgs(null,array(
352 '../../[a].b', array('flags' => array('advar' => 0, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
354 $this->assertEquals(array(2, 'a', 'b'), $method->invokeArgs(null,array(
355 '../../[a].b', array('flags' => array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0), 'scan' => true)
357 $this->assertEquals(array('id'), $method->invokeArgs(null,array(
358 'this.id', array('flags' => array('advar' => 1, 'this' => 1, 'parent' => 1), 'usedFeature' => array('parent' => 0))
360 $this->assertEquals(array(0, '\'a.b\''), $method->invokeArgs(null,array(
361 '"a.b"', array('flags' => array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0))
363 $this->assertEquals(array(0, '123'), $method->invokeArgs(null,array(
364 '123', array('flags' => array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0))
366 $this->assertEquals(array(0, 'null'), $method->invokeArgs(null,array(
367 'null', array('flags' => array('advar' => 1, 'this' => 0, 'parent' => 1), 'usedFeature' => array('parent' => 0))
371 * @covers LightnCandy::parseTokenArgs
373 public function testOn_parseTokenArgs() {
374 $method = new ReflectionMethod('LightnCandy', 'parseTokenArgs');
375 $method->setAccessible(true);
376 $this->assertEquals(array(false, array(array())), $method->invokeArgs(null,array(
377 array(0,0,0,0,0,0,''), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
379 $this->assertEquals(array(true, array(array())), $method->invokeArgs(null,array(
380 array(0,0,0,'{{{',0,0,''), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
382 $this->assertEquals(array(true, array(array())), $method->invokeArgs(null,array(
383 array(0,0,0,0,0,0,''), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 1), 'scan' => false, 'rawblock' => false)
385 $this->assertEquals(array(false, array(array('a'))), $method->invokeArgs(null,array(
386 array(0,0,0,0,0,0,'a'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
388 $this->assertEquals(array(false, array(array('a'), array('b'))), $method->invokeArgs(null,array(
389 array(0,0,0,0,0,0,'a b'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
391 $this->assertEquals(array(false, array(array('a'), array('"b'), array('c"'))), $method->invokeArgs(null,array(
392 array(0,0,0,0,0,0,'a "b c"'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
394 $this->assertEquals(array(false, array(array('a'), array(0, '\'b c\''))), $method->invokeArgs(null,array(
395 array(0,0,0,0,0,0,'a "b c"'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
397 $this->assertEquals(array(false, array(array('a'), array('[b'), array('c]'))), $method->invokeArgs(null,array(
398 array(0,0,0,0,0,0,'a [b c]'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
400 $this->assertEquals(array(false, array(array('a'), array('[b'), array('c]'))), $method->invokeArgs(null,array(
401 array(0,0,0,0,0,0,'a [b c]'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
403 $this->assertEquals(array(false, array(array('a'), array('b c'))), $method->invokeArgs(null,array(
404 array(0,0,0,0,0,0,'a [b c]'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
406 $this->assertEquals(array(false, array(array('a'), array('b c'))), $method->invokeArgs(null,array(
407 array(0,0,0,0,0,0,'a [b c]'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
409 $this->assertEquals(array(false, array(array('a'), 'q' => array('b c'))), $method->invokeArgs(null,array(
410 array(0,0,0,0,0,0,'a q=[b c]'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
412 $this->assertEquals(array(false, array(array('a'), array('q=[b c'))), $method->invokeArgs(null,array(
413 array(0,0,0,0,0,0,'a [q=[b c]'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
415 $this->assertEquals(array(false, array(array('a'), 'q' => array('[b'), array('c]'))), $method->invokeArgs(null,array(
416 array(0,0,0,0,0,0,'a q=[b c]'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
418 $this->assertEquals(array(false, array(array('a'), 'q' => array('b'), array('c'))), $method->invokeArgs(null,array(
419 array(0,0,0,0,0,0,'a [q]=b c'), array('flags' => array('advar' => 0, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
421 $this->assertEquals(array(false, array(array('a'), 'q' => array(0, '\'b c\''))), $method->invokeArgs(null,array(
422 array(0,0,0,0,0,0,'a q="b c"'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
424 $this->assertEquals(array(false, array(array('(foo bar)'))), $method->invokeArgs(null,array(
425 array(0,0,0,0,0,0,'(foo bar)'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0, 'exhlp' => 1), 'ops' => array('seperator' => ''), 'usedFeature' => array('subexp' => 0), 'scan' => false, 'rawblock' => false)
427 $this->assertEquals(array(false, array(array('foo'), array("'=='"), array('bar'))), $method->invokeArgs(null,array(
428 array(0,0,0,0,0,0,"foo '==' bar"), array('flags' => array('advar' => 1, 'namev' => 1, 'noesc' => 0, 'this' => 0), 'scan' => false, 'rawblock' => false)
430 $this->assertEquals(array(false, array(array('( foo bar)'))), $method->invokeArgs(null,array(
431 array(0,0,0,0,0,0,'( foo bar)'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0, 'exhlp' => 1), 'ops' => array('seperator' => ''), 'usedFeature' => array('subexp' => 0), 'scan' => false, 'rawblock' => false)
433 $this->assertEquals(array(false, array(array('a'), array(0, '\' b c\''))), $method->invokeArgs(null,array(
434 array(0,0,0,0,0,0,'a " b c"'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 0, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
436 $this->assertEquals(array(false, array(array('a'), 'q' => array(0, '\' b c\''))), $method->invokeArgs(null,array(
437 array(0,0,0,0,0,0,'a q=" b c"'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
439 $this->assertEquals(array(false, array(array('foo'), array(0, "' =='"), array('bar'))), $method->invokeArgs(null,array(
440 array(0,0,0,0,0,0,"foo \' ==\' bar"), array('flags' => array('advar' => 1, 'namev' => 1, 'noesc' => 0, 'this' => 0), 'scan' => false, 'rawblock' => false)
442 $this->assertEquals(array(false, array(array('a'), array(' b c'))), $method->invokeArgs(null,array(
443 array(0,0,0,0,0,0,'a [ b c]'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
445 $this->assertEquals(array(false, array(array('a'), 'q' => array(0, "' d e'"))), $method->invokeArgs(null,array(
446 array(0,0,0,0,0,0,"a q=\' d e\'"), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0), 'scan' => false, 'rawblock' => false)
448 $this->assertEquals(array(false, array('q' => array('( foo bar)'))), $method->invokeArgs(null,array(
449 array(0,0,0,0,0,0,'q=( foo bar)'), array('flags' => array('advar' => 1, 'this' => 1, 'namev' => 1, 'noesc' => 0, 'exhlp' => 0), 'scan' => false, 'usedFeature' => array(), 'ops' => array('seperator' => 0), 'rawblock' => false)
453 * @covers LightnCandy::tokenString
455 public function testOn_tokenString() {
456 $method = new ReflectionMethod('LightnCandy', 'tokenString');
457 $method->setAccessible(true);
458 $this->assertEquals('b', $method->invokeArgs(null,array(
459 array(0, 'a', 'b', 'c'), 1
461 $this->assertEquals('c', $method->invokeArgs(null,array(
462 array(0, 'a', 'b', 'c', 'd', 'e')
466 * @covers LightnCandy::validateStartEnd
468 public function testOn_validateStartEnd() {
469 $method = new ReflectionMethod('LightnCandy', 'validateStartEnd');
470 $method->setAccessible(true);
471 $this->assertEquals(null, $method->invokeArgs(null,array(
472 array_fill(0, 9, ''), array()
474 $this->assertEquals(null, $method->invokeArgs(null,array(
475 array_fill(0, 9, '}}'), array()
477 $this->assertEquals(true, $method->invokeArgs(null,array(
478 array_fill(0, 9, '{{{'), array()
482 * @covers LightnCandy::validateOperations
484 public function testOn_validateOperations() {
485 $method = new ReflectionMethod('LightnCandy', 'validateOperations');
486 $method->setAccessible(true);
487 $this->assertEquals(null, $method->invokeArgs(null,array(
488 array(0, 0, 0, 0, 0, ''), array(), array()
490 $this->assertEquals(2, $method->invokeArgs(null,array(
491 array(0, 0, 0, 0, 0, '^', '...'), array('usedFeature' => array('isec' => 1), 'level' => 0), array(array('foo'))
493 $this->assertEquals(3, $method->invokeArgs(null,array(
494 array(0, 0, 0, 0, 0, '!', '...'), array('usedFeature' => array('comment' => 2)), array()
496 $this->assertEquals(true, $method->invokeArgs(null,array(
497 array(0, 0, 0, 0, 0, '/'), array('stack' => array(1), 'level' => 1), array()
499 $this->assertEquals(4, $method->invokeArgs(null,array(
500 array(0, 0, 0, 0, 0, '#', '...'), array('usedFeature' => array('sec' => 3), 'level' => 0), array(array('x'))
502 $this->assertEquals(5, $method->invokeArgs(null,array(
503 array(0, 0, 0, 0, 0, '#', '...'), array('usedFeature' => array('if' => 4), 'level' => 0), array(array('if'))
505 $this->assertEquals(6, $method->invokeArgs(null,array(
506 array(0, 0, 0, 0, 0, '#', '...'), array('usedFeature' => array('with' => 5), 'level' => 0, 'flags' => array('with' => 1)), array(array('with'))
508 $this->assertEquals(7, $method->invokeArgs(null,array(
509 array(0, 0, 0, 0, 0, '#', '...'), array('usedFeature' => array('each' => 6), 'level' => 0), array(array('each'))
511 $this->assertEquals(8, $method->invokeArgs(null,array(
512 array(0, 0, 0, 0, 0, '#', '...'), array('usedFeature' => array('unless' => 7), 'level' => 0), array(array('unless'))
514 $this->assertEquals(9, $method->invokeArgs(null,array(
515 array(0, 0, 0, 0, 0, '#', '...'), array('blockhelpers' => array('abc' => ''), 'usedFeature' => array('bhelper' => 8), 'level' => 0), array(array('abc'))
517 $this->assertEquals(10, $method->invokeArgs(null,array(
518 array(0, 0, 0, 0, 0, ' ', '...'), array('usedFeature' => array('delimiter' => 9), 'level' => 0), array()
520 $this->assertEquals(11, $method->invokeArgs(null,array(
521 array(0, 0, 0, 0, 0, '#', '...'), array('hbhelpers' => array('abc' => ''), 'usedFeature' => array('hbhelper' => 10), 'level' => 0), array(array('abc'))
523 $this->assertEquals(true, $method->invokeArgs(null,array(
524 array(0, 0, 0, 0, 0, '>', '...'), array('basedir' => array('.'), 'fileext' => array('.tmpl'), 'usedFeature' => array('unless' => 7, 'partial' => 7), 'level' => 0, 'flags' => array('skippartial' => 0)), array('test')
528 * @covers LightnCandy::addUsageCount
530 public function testOn_addUsageCount() {
531 $method = new ReflectionMethod('LightnCandy', 'addUsageCount');
532 $method->setAccessible(true);
533 $this->assertEquals(1, $method->invokeArgs(null,array(
534 array('usedCount' => array('test' => array())), 'test', 'testname'
536 $this->assertEquals(3, $method->invokeArgs(null,array(
537 array('usedCount' => array('test' => array('testname' => 2))), 'test', 'testname'
539 $this->assertEquals(5, $method->invokeArgs(null,array(
540 array('usedCount' => array('test' => array('testname' => 2))), 'test', 'testname', 3