Ejemplo n.º 1
0
 /**
  * Make sure the test listener will validate any
  * object created during a test at the end of the test
  *
  * @return void
  * @test
  */
 public function testListener()
 {
     $classMocker = new ClassMocker();
     $classMocker->mock('TestListenerTest_SomeClass');
     $classMocker->autoload('TestListenerTest_SomeClass');
     $testCase = $this->getMockForAbstractClass(\PHPUnit_Framework_TestCase::class);
     $listener = new TestListener();
     $listener->startTest($testCase);
     $testObject = new \TestListenerTest_SomeClass();
     $testObject->expects($this->once())->method('test');
     try {
         $listener->endTest($testCase, 0);
         $this->fail("Should fail");
     } catch (\PHPUnit_Framework_ExpectationFailedException $e) {
         $this->assertStringStartsWith('Expectation failed for method name is equal to', $e->getMessage());
     }
     // everything has been reset so no error should be thrown
     $listener->endTest($testCase, 0);
 }
Ejemplo n.º 2
0
 /**
  * Test that all methods are called in the correct order
  * defined by the sortOrder parameter/tag
  *
  * @return void
  * @test
  */
 public function testTraitMethodSortOrder()
 {
     $msg = 'Sort order of methods are wrong';
     $instance = new \Foobar\TestClass();
     $this->assertEquals('TraitC:talk', $instance->talk('test'), $msg);
     $this->assertEquals('TraitC:listen', $instance->listen(), $msg);
     $this->assertEquals('TraitC:jump', $instance->jump(), $msg);
     $this->assertEquals('TraitB:show', $instance->show(), $msg);
     $this->assertEquals('TraitB:hide', $instance->hide(), $msg);
     $this->assertEquals('TraitA:read', $instance->read(), $msg);
     // force overwrite different order
     $this->classMocker->mock('Demo\\*Collection');
     $this->classMocker->registerTrait(TraitA::class, 'Demo\\*Collection', -10);
     $this->classMocker->registerTrait(TraitB::class, 'Demo\\*Collection', 50);
     $this->classMocker->registerTrait(TraitC::class, 'Demo\\*Collection', 100);
     $this->classMocker->registerTrait(DummyTrait::class, 'Demo\\*Collection');
     // test different orders
     $collection = new \Demo\TestCollection();
     $this->assertEquals('TraitA:talk', $collection->talk('test'));
     $this->assertEquals('TraitA:show', $collection->show());
 }
Ejemplo n.º 3
0
 public function register(ClassMocker $classMocker)
 {
     $classMocker->importFootprints(__DIR__ . '/mage.ref.json');
     $classMocker->registerTrait(Mage_Core_Helper_Abstract::class);
     $classMocker->registerTrait(Mage_Core_Model_Abstract::class);
     $classMocker->registerTrait(Mage_Core_Model_App::class);
     $classMocker->registerTrait(Varien_Object::class, 'Varien_Object', 100);
     $classMocker->registerTrait(Varien_Data_Collection::class, 'Varien_Data_Collection', 100);
     $classMocker->registerTrait(Varien_Data_Collection_Db::class);
     $classMocker->registerTrait(MageClass\ModelFactory::class);
     $classMocker->registerTrait(MageClass\Registry::class);
     $classMocker->registerBaseClass(MageFacade::class);
     $classMocker->mock('Mage');
     $classMocker->mock('MageClass');
     $classMocker->mock('Mage_*');
     $classMocker->mock('Varien_Object');
     $classMocker->mock('Varien_Data_Collection');
     $classMocker->mock('Varien_Data_Collection_Db');
     // optional mocking if no lib exists
     $classMocker->mock('Varien_', true);
 }
Ejemplo n.º 4
0
 /**
  * Test footprints imported from json test file
  *
  * @return void
  * @test
  */
 public function testFootprintJsonImport()
 {
     $fwMocker = new ClassMocker();
     $fwMocker->importFootprints(__DIR__ . '/_data/test.ref.json');
     $fwMocker->mock('JSiefer\\ClassMocker\\TestFramework\\*');
     $fwMocker->enable();
     $test = new ObjectB();
     $this->assertEquals('foobar', ObjectA::EVENT, 'Constant was not loaded correctly from test.ref.json');
     $this->assertEquals(100, ObjectA::SORT, 'Constant was not loaded correctly from test.ref.json');
     $this->assertInstanceOf(ObjectA::class, $test);
     $this->assertInstanceOf(ObjectB::class, $test);
     $this->assertInstanceOf(InterfaceB::class, $test);
     $this->assertInstanceOf(BaseMock::class, $test);
 }