PHP Classes

File: tests/TestMisc/MiscTest.php

Recommend this page to a friend!
  Packages of Thierry Feuzeu   Jaxon   tests/TestMisc/MiscTest.php   Download  
File: tests/TestMisc/MiscTest.php
Role: Class source
Content type: text/plain
Description: Class source
Class: Jaxon
Call PHP classes from JavaScript using AJAX
Author: By
Last change:
Date: 1 year ago
Size: 2,365 bytes
 

Contents

Class file image Download
<?php

namespace Jaxon\Tests\TestMisc;

require dirname(__DIR__, 1) . '/src/session.php';

use Jaxon\Jaxon;
use Jaxon\Exception\SetupException;
use Psr\Log\NullLogger;
use PHPUnit\Framework\TestCase;
use SessionManager;

use function get_class;

final class MiscTest extends TestCase
{
    /**
     * @throws SetupException
     */
    protected function setUp(): void
    {
        jaxon()->setOptions(['core' => ['language' => 'en']]);
    }

    /**
     * @throws SetupException
     */
    public function tearDown(): void
    {
        jaxon()->reset();
        parent::tearDown();
    }

    public function testLibraryVersion()
    {
        $this->assertEquals(Jaxon::VERSION, jaxon()->getVersion());
    }

    public function testTranslator()
    {
        $this->assertEquals('PHP Error Messages: Incorrect.',
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.']));
        $this->assertEquals('PHP Error Messages: Incorrect.',
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.'], 'en'));
        $this->assertEquals("Messages d'erreur PHP: Incorrect.",
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.'], 'fr'));
        $this->assertEquals('Mensajes de error de PHP: Incorrect.',
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.'], 'es'));

        jaxon()->setOption('core.language', 'fr');
        $this->assertEquals("Messages d'erreur PHP: Incorrect.",
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.']));
        jaxon()->setOption('core.language', 'es');
        $this->assertEquals('Mensajes de error de PHP: Incorrect.',
            jaxon()->translator()->trans('errors.debug.message', ['message' => 'Incorrect.']));
    }

    public function testNullLogger()
    {
        $this->assertNotNull(jaxon()->logger());
        $this->assertEquals(NullLogger::class, get_class(jaxon()->logger()));
    }

    public function testSessions()
    {
        jaxon()->di()->setSessionManager(function() {
            return new SessionManager();
        });
        $this->assertNull(jaxon()->session()->get('key'));
        jaxon()->session()->set('key', 'value');
        $this->assertEquals('value', jaxon()->session()->get('key'));
    }
}