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));
 }
Example #3
0
 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'));
 }
Example #5
0
 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());
 }
Example #6
0
 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());
     }
 }
Example #7
0
 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);
 }
Example #9
0
/**
 * 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');
}
Example #10
0
 /**
  * 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();
     }
 }
Example #12
0
<?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);
Example #13
0
<?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.');
}
Example #14
0
<?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);