lithium\tests\cases\core\ObjectTest::testMethodInvocationWithParameters PHP Метод

testMethodInvocationWithParameters() публичный Метод

Tests that the correct parameters are always passed in Object::invokeMethod(), regardless of the number.
    public function testMethodInvocationWithParameters()
    {
        $callable = new MockCallable();
        $result = $callable->invokeMethod('foo');
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], array());
        $expected = array('bar');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('one', 'two');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('short', 'parameter', 'list');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('a', 'longer', 'parameter', 'list');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('a', 'much', 'longer', 'parameter', 'list');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('an', 'extremely', 'long', 'list', 'of', 'parameters');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
        $expected = array('an', 'extremely', 'long', 'list', 'of', 'parameters');
        $result = $callable->invokeMethod('bar', $expected);
        $this->assertEqual($result['method'], 'bar');
        $this->assertEqual($result['params'], $expected);
        $expected = array('if', 'you', 'have', 'a', 'parameter', 'list', 'this', 'long', 'then', 'UR', 'DOIN', 'IT', 'RONG');
        $result = $callable->invokeMethod('foo', $expected);
        $this->assertEqual($result['method'], 'foo');
        $this->assertEqual($result['params'], $expected);
    }