filename = ''; } /** * Class constructor */ function test_class() { $object = rcmail::get_instance(); $this->assertInstanceOf('rcmail', $object, "Class singleton"); } /** * Test rcmail::url() */ function test_url() { $rcmail = rcmail::get_instance(); $this->assertEquals( './?_task=cli&_action=test', $rcmail->url('test'), "Action only" ); $this->assertEquals( './?_task=cli&_action=test&_a=AA', $rcmail->url(array('action' => 'test', 'a' => 'AA')), "Unprefixed parameters" ); $this->assertEquals( './?_task=cli&_action=test&_b=BB', $rcmail->url(array('_action' => 'test', '_b' => 'BB', '_c' => null)), "Prefixed parameters (skip empty)" ); $this->assertEquals( '/sub/?_task=cli&_action=test&_mode=ABS', $rcmail->url(array('_action' => 'test', '_mode' => 'ABS'), true), "Absolute URL" ); $this->assertEquals( 'https://mail.example.org/sub/?_task=calendar&_action=test&_mode=FQ', $rcmail->url(array('task' => 'calendar', '_action' => 'test', '_mode' => 'FQ'), true, true), "Fully Qualified URL" ); // with different SCRIPT_NAME values $_SERVER['SCRIPT_NAME'] = 'index.php'; $this->assertEquals( '/?_task=cli&_action=test&_mode=ABS', $rcmail->url(array('_action' => 'test', '_mode' => 'ABS'), true), "Absolute URL (root)" ); $_SERVER['SCRIPT_NAME'] = ''; $this->assertEquals( '/?_task=cli&_action=test&_mode=ABS', $rcmail->url(array('_action' => 'test', '_mode' => 'ABS'), true), "Absolute URL (root)" ); $_SERVER['HTTPS'] = false; $_SERVER['SERVER_PORT'] = '8080'; $this->assertEquals( 'http://mail.example.org:8080/?_task=cli&_action=test&_mode=ABS', $rcmail->url(array('_action' => 'test', '_mode' => 'ABS'), true, true), "Full URL with port" ); } }