heisencache-8.x-1.x-dev/src/Heisencache/tests/WriteSubscriberTest.php

src/Heisencache/tests/WriteSubscriberTest.php
<?php
/**
 * @file
 * Unit tests for the WriteSubscriber class.
 *
 * @author: bpresles
 *
 * @copyright (c) 2013-2014 Ouest Systèmes Informatiques (OSInet).
 *
 * @license General Public License version 2 or later
 */

namespace Drupal\heisencache\tests;

use Drupal\heisencache\WriteSubscriber;
use PHPUnit\Framework\TestCase;

class WriteSubscriberTest extends TestCase {

  const CHANNEL = "some channel";

  protected $emitter;

  public function setUp() {
    $this->emitter = $this->getMock('Drupal\heisencache\EventEmitter');
  }

  public function testSet() {
    $sub = new WriteSubscriber($this->emitter);
    $value = 'v';
    $serialized_value = serialize($value);

    $actual = $sub->afterSet(self::CHANNEL, 'k', $value, 120);
    $this->assertInternalType('array', $actual);
    $this->assertNotEmpty($actual);
    $this->assertArrayHasKey('value_size', $actual);
    $this->assertEquals(strlen($serialized_value), $actual['value_size']);
  }

  public function testClear() {
    $sub = new WriteSubscriber($this->emitter);
    $wildcard = TRUE;
    $actual = $sub->afterClear(self::CHANNEL, 'k', $wildcard);

    $this->assertInternalType('array', $actual);
    $this->assertNotEmpty($actual);
    $this->assertArrayHasKey('wildcard', $actual);
    $this->assertEquals($wildcard, $actual['wildcard']);
  }

  public function testGetEmittedEvents() {
    $sub = new WriteSubscriber($this->emitter);
    $actual = $sub->getEmittedEvents();

    $this->assertInternalType('array', $actual);
    $this->assertNotEmpty($actual);
    $this->assertEquals(1, count($actual));
    $this->assertEquals('write', $actual[0]);
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc