You are here

public static function SchemaOfferBase::testValue in Schema.org Metatag 7

Provide a test input value for the property that will validate.

Tags like @type that contain values other than simple strings, for instance a list of allowed options, should extend this method and return a valid value.

Value must be static so the test can retrieve the value without instantiating the class.

Return value

mixed Return the test value, either a string or array, depending on the property.

Overrides SchemaNameBase::testValue

File

src/SchemaOfferBase.php, line 39

Class

SchemaOfferBase
Provides a plugin for the 'schema_offer_base' meta tag.

Code

public static function testValue() {
  $items = [];
  $keys = [
    '@type',
    '@id',
    'price',
    'priceCurrency',
    'lowPrice',
    'highPrice',
    'offerCount',
    'url',
    'availability',
    'availabilityStarts',
    'availabilityEnds',
    'itemCondition',
    'validFrom',
    'category',
    'eligibleRegion',
    'ineligibleRegion',
    'priceValidUntil',
  ];
  foreach ($keys as $key) {
    switch ($key) {
      case '@type':
        $items[$key] = 'Offer';
        break;
      case 'eligibleRegion':
      case 'ineligibleRegion':
        $items[$key] = SchemaCountryBase::testValue();
        break;
      default:
        $items[$key] = parent::testDefaultValue(2, ' ');
        break;
    }
  }
  return $items;
}