agent = new UserAgent(); } /** * Make sure the default user agent components are present. * * @return void */ public function testCreateDefault() { $agent = UserAgent::createDefault(); $text = $agent->__toString(); $this->assertContains( 'Language/PHP_' . phpversion(), $text, 'No PHP language component present' ); $this->assertContains( 'OS/' . php_uname('s') . '_' . php_uname('r'), $text, 'No OS component present' ); $this->assertContains( 'Library/' . UserAgent::NAME . '_' . UserAgent::VERSION, $text, 'No Library component present', false ); } /** * Make sure the key and component are present in the user agent. * * @return void */ public function testSetField() { $this->agent->setField('key', 'component'); $this->assertEquals('key/component', strval($this->agent)); } /** * Make sure the key, component and version are present. * * @return void */ public function testSetFieldVersion() { $this->agent->setField('key', 'component', '1.0.0'); $this->assertEquals('key/component_1.0.0', strval($this->agent)); } /** * Make sure the key, component, version and options are present. * * @return void */ public function testSetFieldOptions() { $this->agent->setField('key', 'component', '1.0.0', ['attr']); $this->assertEquals( 'key/component_1.0.0 (attr)', strval($this->agent) ); } /** * Make sure the key, component, version and multiple options are present. * * @return void */ public function testSetFieldTwoOptions() { $this->agent->setField('key', 'component', '1.0.0', ['attr1', 'attr2']); $this->assertEquals( 'key/component_1.0.0 (attr1; attr2)', strval($this->agent) ); } }