You are here

public static function SchemaReviewBase::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/SchemaReviewBase.php, line 39

Class

SchemaReviewBase
Provides a plugin to extend for the 'Review' meta tag.

Code

public static function testValue() {
  $items = [];
  $keys = [
    '@type',
    'reviewBody',
    'datePublished',
    'author',
    'reviewRating',
  ];
  foreach ($keys as $key) {
    switch ($key) {
      case '@type':
        $items[$key] = 'Review';
        break;
      case 'author':
        $items[$key] = [
          '@type' => 'Person',
          'name' => parent::testDefaultValue(2, ' '),
        ];
        break;
      case 'reviewRating':
        $items[$key] = [
          '@type' => 'Rating',
          'ratingValue' => parent::testDefaultValue(2, ' '),
        ];
        break;
      default:
        $items[$key] = parent::testDefaultValue(2, ' ');
        break;
    }
  }
  return $items;
}