Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 9
PirateDayCacheContext
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 4
30
0.00% covered (danger)
0.00%
0 / 9
 getLabel
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 getContext
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 3
 isPirateDay
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
 getCacheableMetadata
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 2
<?php
/**
 * @file
 * Contains \Drupal\config_override_test\Cache\PirateDayCacheContext.
 */
namespace Drupal\config_override_test\Cache;
use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Cache\Context\CacheContextInterface;
/**
 * Defines the PirateDayCacheContext service that allows to cache the booty.
 *
 * Cache context ID: 'pirate_day'.
 */
class PirateDayCacheContext implements CacheContextInterface {
  /**
   * The length of Pirate Day. It lasts 24 hours.
   *
   * This is a simplified test implementation. In a real life Pirate Day module
   * this data wouldn't be defined in a constant, but calculated in a static
   * method. If it were Pirate Day it should return the number of seconds until
   * midnight, and on all other days it should return the number of seconds
   * until the start of the next Pirate Day.
   */
  const PIRATE_DAY_MAX_AGE = 86400;
  /**
   * {@inheritdoc}
   */
  public static function getLabel() {
    return t('Pirate day');
  }
  /**
   * {@inheritdoc}
   */
  public function getContext() {
    $is_pirate_day = static::isPirateDay() ? 'yarr' : 'nay';
    return "pirate_day." . $is_pirate_day;
  }
  /**
   * Returns whether or not it is Pirate Day.
   *
   * To ease testing this is determined with a global variable rather than using
   * the traditional compass and sextant.
   *
   * @return bool
   *   Returns TRUE if it is Pirate Day today.
   */
  public static function isPirateDay() {
    return !empty($GLOBALS['it_is_pirate_day']);
  }
  /**
   * {@inheritdoc}
   */
  public function getCacheableMetadata() {
    return new CacheableMetadata();
  }
}