diff options
Diffstat (limited to 'vendor/zordius/lightncandy/tests/LCRun3Test.php')
-rw-r--r-- | vendor/zordius/lightncandy/tests/LCRun3Test.php | 376 |
1 files changed, 376 insertions, 0 deletions
diff --git a/vendor/zordius/lightncandy/tests/LCRun3Test.php b/vendor/zordius/lightncandy/tests/LCRun3Test.php new file mode 100644 index 00000000..63d6348e --- /dev/null +++ b/vendor/zordius/lightncandy/tests/LCRun3Test.php @@ -0,0 +1,376 @@ +<?php +/** + * Generated by build/gen_test + */ +require_once('src/lightncandy.php'); + +class LCRun3Test extends PHPUnit_Framework_TestCase +{ + /** + * @covers LCRun3::debug + */ + public function testOn_debug() { + $method = new ReflectionMethod('LCRun3', 'debug'); + $this->assertEquals('{{123}}', $method->invoke(null, + '123', 'miss', array('flags' => array('debug' => LCRun3::DEBUG_TAGS)), '' + )); + $this->assertEquals('<!--MISSED((-->{{#123}}<!--))--><!--SKIPPED--><!--MISSED((-->{{/123}}<!--))-->', $method->invoke(null, + '123', 'wi', array('flags' => array('debug' => LCRun3::DEBUG_TAGS_HTML)), false, false, function () {return 'A';} + )); + } + /** + * @covers LCRun3::v + */ + public function testOn_v() { + $method = new ReflectionMethod('LCRun3', 'v'); + $this->assertEquals(null, $method->invoke(null, + array('scopes' => array(), 'flags' => array('prop' => 0, 'method' => 0, 'mustlok' => 0)), 0, array('a', 'b') + )); + $this->assertEquals(3, $method->invoke(null, + array('scopes' => array(), 'flags' => array('prop' => 0, 'method' => 0), 'mustlok' => 0), array('a' => array('b' => 3)), array('a', 'b') + )); + $this->assertEquals(null, $method->invoke(null, + array('scopes' => array(), 'flags' => array('prop' => 0, 'method' => 0, 'mustlok' => 0)), (Object) array('a' => array('b' => 3)), array('a', 'b') + )); + $this->assertEquals(3, $method->invoke(null, + array('scopes' => array(), 'flags' => array('prop' => 1, 'method' => 0, 'mustlok' => 0)), (Object) array('a' => array('b' => 3)), array('a', 'b') + )); + } + /** + * @covers LCRun3::ifvar + */ + public function testOn_ifvar() { + $method = new ReflectionMethod('LCRun3', 'ifvar'); + $this->assertEquals(false, $method->invoke(null, + array(), null + )); + $this->assertEquals(false, $method->invoke(null, + array(), 0 + )); + $this->assertEquals(false, $method->invoke(null, + array(), false + )); + $this->assertEquals(true, $method->invoke(null, + array(), true + )); + $this->assertEquals(true, $method->invoke(null, + array(), 1 + )); + $this->assertEquals(false, $method->invoke(null, + array(), '' + )); + $this->assertEquals(false, $method->invoke(null, + array(), array() + )); + $this->assertEquals(true, $method->invoke(null, + array(), array('') + )); + $this->assertEquals(true, $method->invoke(null, + array(), array(0) + )); + } + /** + * @covers LCRun3::ifv + */ + public function testOn_ifv() { + $method = new ReflectionMethod('LCRun3', 'ifv'); + $this->assertEquals('', $method->invoke(null, + array('scopes' => array()), null, array(), null + )); + $this->assertEquals('', $method->invoke(null, + array('scopes' => array()), null, array(), function () {return 'Y';} + )); + $this->assertEquals('Y', $method->invoke(null, + array('scopes' => array()), 1, array(), function () {return 'Y';} + )); + $this->assertEquals('N', $method->invoke(null, + array('scopes' => array()), null, array(), function () {return 'Y';}, function () {return 'N';} + )); + } + /** + * @covers LCRun3::unl + */ + public function testOn_unl() { + $method = new ReflectionMethod('LCRun3', 'unl'); + $this->assertEquals('', $method->invoke(null, + array('scopes' => array()), null, array(), null + )); + $this->assertEquals('Y', $method->invoke(null, + array('scopes' => array()), null, array(), function () {return 'Y';} + )); + $this->assertEquals('', $method->invoke(null, + array('scopes' => array()), 1, array(), function () {return 'Y';} + )); + $this->assertEquals('Y', $method->invoke(null, + array('scopes' => array()), null, array(), function () {return 'Y';}, function () {return 'N';} + )); + $this->assertEquals('N', $method->invoke(null, + array('scopes' => array()), true, array(), function () {return 'Y';}, function () {return 'N';} + )); + } + /** + * @covers LCRun3::isec + */ + public function testOn_isec() { + $method = new ReflectionMethod('LCRun3', 'isec'); + $this->assertEquals(true, $method->invoke(null, + array(), null + )); + $this->assertEquals(false, $method->invoke(null, + array(), 0 + )); + $this->assertEquals(true, $method->invoke(null, + array(), false + )); + $this->assertEquals(false, $method->invoke(null, + array(), 'false' + )); + $this->assertEquals(true, $method->invoke(null, + array(), array() + )); + $this->assertEquals(false, $method->invoke(null, + array(), array('1') + )); + } + /** + * @covers LCRun3::raw + */ + public function testOn_raw() { + $method = new ReflectionMethod('LCRun3', 'raw'); + $this->assertEquals(true, $method->invoke(null, + array('flags' => array('jstrue' => 0)), true + )); + $this->assertEquals('true', $method->invoke(null, + array('flags' => array('jstrue' => 1)), true + )); + $this->assertEquals('', $method->invoke(null, + array('flags' => array('jstrue' => 0)), false + )); + $this->assertEquals('false', $method->invoke(null, + array('flags' => array('jstrue' => 1)), false + )); + $this->assertEquals('false', $method->invoke(null, + array('flags' => array('jstrue' => 1)), false, true + )); + $this->assertEquals('Array', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 0)), array('a', 'b') + )); + $this->assertEquals('a,b', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 1)), array('a', 'b') + )); + $this->assertEquals('[object Object]', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 1)), array('a', 'c' => 'b') + )); + $this->assertEquals('[object Object]', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 1)), array('c' => 'b') + )); + $this->assertEquals('a,true', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 1)), array('a', true) + )); + $this->assertEquals('a,1', $method->invoke(null, + array('flags' => array('jstrue' => 0, 'jsobj' => 1)), array('a',true) + )); + $this->assertEquals('a,', $method->invoke(null, + array('flags' => array('jstrue' => 0, 'jsobj' => 1)), array('a',false) + )); + $this->assertEquals('a,false', $method->invoke(null, + array('flags' => array('jstrue' => 1, 'jsobj' => 1)), array('a',false) + )); + } + /** + * @covers LCRun3::enc + */ + public function testOn_enc() { + $method = new ReflectionMethod('LCRun3', 'enc'); + $this->assertEquals('a', $method->invoke(null, + array(), 'a' + )); + $this->assertEquals('a&b', $method->invoke(null, + array(), 'a&b' + )); + $this->assertEquals('a'b', $method->invoke(null, + array(), 'a\'b' + )); + } + /** + * @covers LCRun3::encq + */ + public function testOn_encq() { + $method = new ReflectionMethod('LCRun3', 'encq'); + $this->assertEquals('a', $method->invoke(null, + array(), 'a' + )); + $this->assertEquals('a&b', $method->invoke(null, + array(), 'a&b' + )); + $this->assertEquals('a'b', $method->invoke(null, + array(), 'a\'b' + )); + $this->assertEquals('`a'b', $method->invoke(null, + array(), '`a\'b' + )); + } + /** + * @covers LCRun3::sec + */ + public function testOn_sec() { + $method = new ReflectionMethod('LCRun3', 'sec'); + $this->assertEquals('', $method->invoke(null, + array('flags' => array('spvar' => 0)), false, false, false, function () {return 'A';} + )); + $this->assertEquals('', $method->invoke(null, + array('flags' => array('spvar' => 0)), null, null, false, function () {return 'A';} + )); + $this->assertEquals('A', $method->invoke(null, + array('flags' => array('spvar' => 0)), true, true, false, function () {return 'A';} + )); + $this->assertEquals('A', $method->invoke(null, + array('flags' => array('spvar' => 0)), 0, 0, false, function () {return 'A';} + )); + $this->assertEquals('-a=', $method->invoke(null, + array('flags' => array('spvar' => 0)), array('a'), array('a'), false, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-a=-b=', $method->invoke(null, + array('flags' => array('spvar' => 0)), array('a','b'), array('a','b'), false, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('', $method->invoke(null, + array('flags' => array('spvar' => 0)), 'abc', 'abc', true, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-b=', $method->invoke(null, + array('flags' => array('spvar' => 0, 'mustsec' => 0)), array('a' => 'b'), array('a' => 'b'), true, function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('1', $method->invoke(null, + array('flags' => array('spvar' => 0)), 'b', 'b', false, function ($c, $i) {return count($i);} + )); + $this->assertEquals('1', $method->invoke(null, + array('flags' => array('spvar' => 0)), 1, 1, false, function ($c, $i) {return print_r($i, true);} + )); + $this->assertEquals('0', $method->invoke(null, + array('flags' => array('spvar' => 0)), 0, 0, false, function ($c, $i) {return print_r($i, true);} + )); + $this->assertEquals('{"b":"c"}', $method->invoke(null, + array('flags' => array('spvar' => 0, 'mustsec' => 0)), array('b' => 'c'), array('b' => 'c'), false, function ($c, $i) {return json_encode($i);} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), array(), 0, true, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), array(), 0, false, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), false, 0, true, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), false, 0, false, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), '', 0, true, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('cb', $method->invoke(null, + array('flags' => array('spvar' => 0)), '', 0, false, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), 0, 0, true, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('cb', $method->invoke(null, + array('flags' => array('spvar' => 0)), 0, 0, false, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('inv', $method->invoke(null, + array('flags' => array('spvar' => 0)), new stdClass, 0, true, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('cb', $method->invoke(null, + array('flags' => array('spvar' => 0)), new stdClass, 0, false, function ($c, $i) {return 'cb';}, function ($c, $i) {return 'inv';} + )); + $this->assertEquals('268', $method->invoke(null, + array('flags' => array('spvar' => 1)), array(1,3,4), 0, false, function ($c, $i) {return $i * 2;} + )); + $this->assertEquals('038', $method->invoke(null, + array('flags' => array('spvar' => 1), 'sp_vars'=>array()), array(1,3,'a'=>4), 0, true, function ($c, $i) {return $i * $c['sp_vars']['index'];} + )); + } + /** + * @covers LCRun3::wi + */ + public function testOn_wi() { + $method = new ReflectionMethod('LCRun3', 'wi'); + $this->assertEquals('', $method->invoke(null, + array(), false, false, function () {return 'A';} + )); + $this->assertEquals('', $method->invoke(null, + array(), null, null, function () {return 'A';} + )); + $this->assertEquals('-Array=', $method->invoke(null, + array(), array('a'=>'b'), array('a' => 'b'), function ($c, $i) {return "-$i=";} + )); + $this->assertEquals('-b=', $method->invoke(null, + array(), 'b', array('a' => 'b'), function ($c, $i) {return "-$i=";} + )); + } + /** + * @covers LCRun3::ch + */ + public function testOn_ch() { + $method = new ReflectionMethod('LCRun3', 'ch'); + $this->assertEquals('=-=', $method->invoke(null, + array('helpers' => array('a' => function ($i) {return "=$i[0]=";})), 'a', array(array('-'),array()), 'raw' + )); + $this->assertEquals('=&=', $method->invoke(null, + array('helpers' => array('a' => function ($i) {return "=$i[0]=";})), 'a', array(array('&'),array()), 'enc' + )); + $this->assertEquals('='=', $method->invoke(null, + array('helpers' => array('a' => function ($i) {return "=$i[0]=";})), 'a', array(array('\''),array()), 'encq' + )); + $this->assertEquals('=b=', $method->invoke(null, + array('helpers' => array('a' => function ($i,$j) {return "={$j['a']}=";})), 'a', array(array(),array('a' => 'b')), 'raw' + )); + } + /** + * @covers LCRun3::chret + */ + public function testOn_chret() { + $method = new ReflectionMethod('LCRun3', 'chret'); + $this->assertEquals('=&=', $method->invoke(null, + '=&=', 'raw' + )); + $this->assertEquals('=&'=', $method->invoke(null, + '=&\'=', 'enc' + )); + $this->assertEquals('=&'=', $method->invoke(null, + '=&\'=', 'encq' + )); + $this->assertEquals('=&'=', $method->invoke(null, + array('=&\'='), 'enc' + )); + $this->assertEquals('=&'=', $method->invoke(null, + array('=&\'='), 'encq' + )); + $this->assertEquals('=&=', $method->invoke(null, + array('=&=', false), 'enc' + )); + $this->assertEquals('=&=', $method->invoke(null, + array('=&=', false), 'raw' + )); + $this->assertEquals('=&=', $method->invoke(null, + array('=&=', 'raw'), 'enc' + )); + $this->assertEquals('=&'=', $method->invoke(null, + array('=&\'=', 'encq'), 'raw' + )); + } + /** + * @covers LCRun3::bch + */ + public function testOn_bch() { + $method = new ReflectionMethod('LCRun3', 'bch'); + $this->assertEquals('4.2.3', $method->invoke(null, + array('blockhelpers' => array('a' => function ($cx) {return array($cx,2,3);})), 'a', array(0, 0), 4, false, function($cx, $i) {return implode('.', $i);} + )); + $this->assertEquals('2.6.5', $method->invoke(null, + array('blockhelpers' => array('a' => function ($cx,$in) {return array($cx,$in[0],5);})), 'a', array('6', 0), 2, false, function($cx, $i) {return implode('.', $i);} + )); + $this->assertEquals('', $method->invoke(null, + array('blockhelpers' => array('a' => function ($cx,$in) {})), 'a', array('6', 0), 2, false, function($cx, $i) {return implode('.', $i);} + )); + } +} +?>
\ No newline at end of file |