wiki.techinc.nl/tests/phpunit/includes/TestingAccessWrapperTest.php
Adam Roses Wight 9cfbbbe946 New testing wrapper to circumvent object access
The new TestingAccessWrapper class provides a convenient way to make
all of an object's methods and properties public.

TODO: We should organize test helpers into a source directory.  Note that the
helper and its test are in the same directory.

Change-Id: I958d55df18c74e9d2b25d98cd0316989a0fbbe6f
2015-03-16 23:58:36 -07:00

30 lines
771 B
PHP

<?php
class TestingAccessWrapperTest extends MediaWikiTestCase {
protected $raw;
protected $wrapped;
function setUp() {
parent::setUp();
require_once __DIR__ . '/../data/helpers/WellProtectedClass.php';
$this->raw = new WellProtectedClass();
$this->wrapped = TestingAccessWrapper::newFromObject( $this->raw );
}
function testGetProperty() {
$this->assertSame( 1, $this->wrapped->property );
}
function testSetProperty() {
$this->wrapped->property = 10;
$this->assertSame( 10, $this->wrapped->property );
$this->assertSame( 10, $this->raw->getProperty() );
}
function testCallMethod() {
$this->wrapped->incrementPropertyValue();
$this->assertSame( 2, $this->wrapped->property );
$this->assertSame( 2, $this->raw->getProperty() );
}
}