. **/ require_once dirname(__FILE__).'/../../include/CBehavior.php'; /** * Behavior for global messages. */ class CMessageBehavior extends CBehavior { /** * Function check message type and compares the title and details of messages with reference values. * * @param constant $expected constant that defines whether the message should be good or bad * @param string $title reference title * @param string, array $details reference array or string values of which should be present in message details */ public function assertMessage($expected, $title = null, $details = null) { $message = CMessageElement::find()->waitUntilVisible()->one(); if ($expected === TEST_GOOD) { $message->isGood(); } elseif ($expected === TEST_BAD) { $message->isBad(); } else { $message->isWarning(); } if ($title !== null) { $this->test->assertEquals($title, $message->getTitle(), 'Message title and the expected title do not match.'); } if ($details !== null) { if (!is_array($details)) { $details = [$details]; } foreach ($details as $detail) { $this->test->assertTrue($message->hasLine($detail), 'Line "'.$detail.'" was not found in message details'); } } } }