public function testGetType() { $message = TestHelpers::getFakeMessageObject(['text' => null]); self::assertSame('message', $message->getType()); $message = TestHelpers::getFakeMessageObject(['text' => '/help']); self::assertSame('command', $message->getType()); $message = TestHelpers::getFakeMessageObject(['text' => 'some text']); self::assertSame('text', $message->getType()); }
public function testWithPrerender() { $elementString = $this->react->render('Alert', ['name' => 'react-laravel'], ['prerender' => true]); $wrapperElement = TestHelpers::stringToElement($elementString); $this->assertEquals('Hello, react-laravel', $wrapperElement->textContent); $expectedElement = TestHelpers::stringToElement('<div><span>Hello, </span><strong>react-laravel</strong></div>'); $elementWithoutAttributes = TestHelpers::removeAttributes($wrapperElement->childNodes->item(0)); $this->assertEquals(TestHelpers::innerHTML($expectedElement), TestHelpers::innerHTML($elementWithoutAttributes)); }
public static function makeUniqueRandomUsernames($count) { $usernames = array(); for ($i = 0; $i < $count; $i++) { do { $username = TestHelpers::makeRandomWord(6); } while (in_array($username, $usernames)); $usernames[] = $username; } return $usernames; }
public function testHTMLAttributes() { $attributes = ['id' => 'react-laravel', 'class' => 'react_laravel_class', 'tag' => 'span']; $elementString = $this->react->render('Alert', null, $attributes); $element = TestHelpers::stringToElement($elementString); $this->assertTrue($element->hasAttributes()); $this->assertEquals('react-laravel', $element->getAttribute('id')); $this->assertEquals('react_laravel_class', $element->getAttribute('class')); $this->assertEquals('', $element->getAttribute('tag')); $this->assertEquals('', $element->getAttribute('prerender')); }
public function testTryMention() { // Username. $chat = TestHelpers::getFakeChatObject(['id' => 1, 'first_name' => 'John', 'last_name' => 'Taylor', 'username' => 'jtaylor']); self::assertEquals('@jtaylor', $chat->tryMention()); // First name. $chat = TestHelpers::getFakeChatObject(['id' => 1, 'first_name' => 'John', 'last_name' => null, 'username' => null]); self::assertEquals('John', $chat->tryMention()); // First and Last name. $chat = TestHelpers::getFakeChatObject(['id' => 1, 'first_name' => 'John', 'last_name' => 'Taylor', 'username' => null]); self::assertEquals('John Taylor', $chat->tryMention()); // Non-private chat should return title. $chat = TestHelpers::getFakeChatObject(['id' => -123, 'type' => null, 'title' => 'My group chat']); self::assertSame('My group chat', $chat->tryMention()); }
public function setUp() { if (!isset($this->usernames)) { $this->usernames = TestHelpers::makeUniqueRandomUsernames(RedBeanModelsTest::USERS); } foreach ($this->usernames as $username) { $user = new User(); $user->username = $username; $user->title->value = 'Mr.'; $user->firstName = $username; $user->lastName = $username; $user->setPassword(strtolower($username)); $this->assertTrue($user->save()); } }
public static function removeAttributes($node) { $newNode = $node->cloneNode(true); if ($node->hasAttributes()) { $attributes = $node->attributes; foreach ($attributes as $i => $attr) { $newNode->removeAttribute($attr->name); } } if ($newNode->hasChildNodes()) { $childNodes = $newNode->childNodes; for ($i = 0; $i < $childNodes->length; $i++) { $child = $childNodes->item($i); $newNode->replaceChild(TestHelpers::removeAttributes($child), $child); } } return $newNode; }
public function testResolveBreadCrumbViewForDetailsControllerAction() { TestHelpers::createControllerAndModuleByRoute('accounts/default'); $controller = Yii::app()->getController(); $model = new Account(); //Test when there is not a stickyLoadUrl $stickySearchKey = 'abc'; $view = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($controller, $stickySearchKey, $model); $this->assertTrue($view instanceof StickyDetailsAndRelationsBreadCrumbView); $content = $view->render(); $this->assertNotContains('stickyModelId', $content); //Test when there is a stickyLoadUrl $stickySearchKey = 'abc'; Yii::app()->user->setState($stickySearchKey, serialize(array('a', 'b'))); $_GET['stickyOffset'] = '5'; $view = StickySearchUtil::resolveBreadCrumbViewForDetailsControllerAction($controller, $stickySearchKey, $model); $this->assertTrue($view instanceof StickyDetailsAndRelationsBreadCrumbView); $content = $view->render(); $this->assertContains('stickyListLoadingArea', $content); }
/** * Test initialization and helpers. * * @author David Grudl * @package Nette\Test */ require __DIR__ . '/NetteTest/TestHelpers.php'; require __DIR__ . '/NetteTest/Assert.php'; require __DIR__ . '/../Nette/loader.php'; // configure environment error_reporting(E_ALL | E_STRICT); ini_set('display_errors', TRUE); ini_set('html_errors', FALSE); ini_set('log_errors', FALSE); $_SERVER = array_intersect_key($_SERVER, array_flip(array('PHP_SELF', 'SCRIPT_NAME', 'SERVER_ADDR', 'SERVER_SOFTWARE', 'HTTP_HOST', 'DOCUMENT_ROOT', 'OS'))); $_SERVER['REQUEST_TIME'] = 1234567890; $_ENV = array(); if (PHP_SAPI !== 'cli') { header('Content-Type: text/plain; charset=utf-8'); } if (extension_loaded('xdebug')) { xdebug_disable(); TestHelpers::startCodeCoverage(__DIR__ . '/coverage.dat'); }
/** * Starts gathering the information for code coverage. * @param string * @return void */ public static function startCodeCoverage($file) { self::$coverageFile = $file; xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE); register_shutdown_function(array(__CLASS__, 'prepareSaveCoverage')); }
public function testResolveAccessCanCurrentUserReadModel() { Yii::app()->user->userModel = User::getByUsername('super'); $accounts = Account::getByName('Supermart'); $this->assertEquals(1, count($accounts)); $betty = User::getByUsername('betty'); Yii::app()->user->userModel = $betty; TestHelpers::createControllerAndModuleByRoute('accounts/default'); $this->startOutputBuffer(); try { ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($accounts[0], true); $this->endPrintOutputBufferAndFail(); } catch (ExitException $e) { $content = $this->endAndGetOutputBuffer(); $this->assertEquals('failure', $content); } $this->startOutputBuffer(); try { ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($accounts[0], false); $this->endPrintOutputBufferAndFail(); } catch (ExitException $e) { $compareString = 'You have tried to access a page you do not have access to'; $this->assertContains($compareString, $this->endAndGetOutputBuffer()); } Yii::app()->user->userModel = User::getByUsername('super'); $account = AccountTestHelper::createAccountByNameForOwner('BettyInc', $betty); $this->startOutputBuffer(); try { ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($account, true); ControllerSecurityUtil::resolveAccessCanCurrentUserReadModel($account, false); $content = $this->endAndGetOutputBuffer(); $this->assertEquals(null, $content); } catch (ExitException $e) { $this->endPrintOutputBufferAndFail(); } }
<?php /** * Test initialization and helpers. * * @author David Grudl * @package Nette\Test */ require dirname(__FILE__) . '/NetteTest/TestHelpers.php'; require dirname(__FILE__) . '/NetteTest/Assert.php'; require dirname(__FILE__) . '/../dibi/dibi.php'; date_default_timezone_set('Europe/Prague'); TestHelpers::startup(); if (function_exists('class_alias')) { class_alias('TestHelpers', 'T'); } else { class T extends TestHelpers { } } // load connections define('DIR', dirname(__FILE__)); $config = parse_ini_file('config.ini', TRUE);
<?php /** * Test: Nette\Database test boostap. * * @author Jakub Vrana * @author Jan Skrasek * @package Nette\Caching * @subpackage UnitTests */ use Nette\Database; require __DIR__ . '/../bootstrap.php'; try { $connection = new Database\Connection('mysql:host=localhost', 'root'); Database\Helpers::loadFromFile($connection, __DIR__ . '/nette_test.sql'); } catch (PDOException $e) { TestHelpers::skip('Requires corretly configured mysql connection and "nette_test" database.'); }
<?php /** * Test: Nette\Database test boostap. * * @author Jakub Vrana * @author Jan Skrasek * @package Nette\Caching * @subpackage UnitTests */ use Nette\Database; require __DIR__ . '/../bootstrap.php'; try { $connection = new Database\Connection('mysql:host=localhost', 'root'); } catch (PDOException $e) { TestHelpers::skip('Requires corretly configured mysql connection database.'); } flock($lock = fopen(TEMP_DIR . '/../lock', 'w'), LOCK_EX);