function test_returnJustGeneratedClassWithInputParameter_any_but_not_parser_class() { $rvm = new ReturnValuesManager('classe'); $rvm->setInputParameterForMethod('metodo_non_dichiarato', array('ciao', 'faccia', 1, 2, 3, 5)); FakeObjectGenerator::generate($rvm, new CodeGenerator(dirname(__FILE__) . '/list.php')); $classe = "class classe{\n//timing\n private static \$times = array();\n//Costants\n//Magic methods\n public function __call(\$name, \$arguments) {\n return null;\n }\n public function __callStatic(\$name, \$arguments) {\n return null;\n }\n//Methods\n function metodo_non_dichiarato(){\n if(isset(self::\$times['metodo_non_dichiarato'])){\n self::\$times['metodo_non_dichiarato']++;\n }\n else{\n self::\$times['metodo_non_dichiarato'] = 1;\n }\n \$input = array('0'=>'ciao','1'=>'faccia','2'=>1,'3'=>2,'4'=>3,'5'=>5);\n \$args = func_get_args();\n \$index = 0;\n foreach (\$args as \$arg)\n {\n if(is_object(\$arg))\n {\n \$args[\$index] = 'class:'.get_class(\$arg);\n }\n \$index++;\n }\n \$diff = array_diff(\$input,\$args);\n if(!empty(\$diff)){ throw new Exception(\"Invalid input parameters. [method metodo_non_dichiarato] [input \".\$args.\"] [case any]\");}\n }\n}"; $this->assertEqual($classe, FakeObjectGenerator::returnedCode()); $oggetto = new classe(); $this->assertNull($oggetto->metodo_non_dichiarato('ciao', 'faccia', 1, 2, 3, 5)); }
function test_addDefault_object() { $rvm = new ReturnValuesManager('classe'); $rvm->setReturnValue('metodo', 'primo', 1)->setReturnObjectDefault('metodo', 'pdefault'); FakeObjectGenerator::generate($rvm, new CodeGenerator(null)); //echo FakeObjectGenerator::returnedCode();die(); $classe = "class classe{\n//timing\n private static \$times = array();\n//Costants\n//Magic methods\n public function __call(\$name, \$arguments) {\n return null;\n }\n public function __callStatic(\$name, \$arguments) {\n return null;\n }\n//Methods\npublic function __construct()\n{ \$rvm_pdefault = new ReturnValuesManager('pdefault');\n FakeObjectGenerator::generate(\$rvm_pdefault, new CodeGenerator(null));\n}\n function metodo(){\n if(isset(self::\$times['metodo'])){\n self::\$times['metodo']++;\n }\n else{\n self::\$times['metodo'] = 1;\n }\nswitch (self::\$times['metodo']){\n case 1:\n return 'primo';\n break;\n default: return new pdefault();\n }\n }\n}"; $this->assertEqual(FakeObjectGenerator::returnedCode(), $classe); $test_deault = new classe(); $this->assertEqual($test_deault->metodo(), 'primo'); $this->assertIsA($test_deault->metodo(), 'pdefault'); $this->assertIsA($test_deault->metodo(), 'pdefault'); }
<?php fopen('a', 'r'); fopen('b', 'w+'); \fopen('c', 'xb+'); \fopen('d', 't'); fopen('g', 'h'); \fopen('i', 'c+'); \b\fopen('j', 'ce+'); $object->fopen('e', 'f'); classe::fopen('e', 'f'); fopen('k', 'a' . '+'); fopen('l', "{$a}+");
<?php $x =& classe::method_static();