You are here

function OGMTBasicTest::testNodeOverrideDefaultImage in Open Graph meta tags 6

Same name and namespace in other branches
  1. 7 tests/Basic.test \OGMTBasicTest::testNodeOverrideDefaultImage()

File

tests/Basic.test, line 212

Class

OGMTBasicTest
Tests for Open Graph meta tags.

Code

function testNodeOverrideDefaultImage() {

  /*
   * Ensure that node image is used instead of global fallback image when no row is present for the node in
   * the OG meta tags table.
   */

  // empty node values
  // Important: there is no row in the data store!
  $node = $this
    ->_build_test_node(1);
  $this->ogm_settings
    ->set(OPENGRAPH_META_VAR_CONTENT_TYPE_ . 'type1', '');
  $this->ogm_settings
    ->set(OPENGRAPH_META_VAR_FALLBACK_IMG, 'default.jpg');

  // Check if the default image is returned when the node does not contain an image
  $this->ogm
    ->render_data($node, $this->ogm
    ->load_node_data($node));
  $this
    ->_check_rendered_meta_tags(array(
    'og:' . OpenGraphMeta::TITLE => $node->title,
    'og:' . OpenGraphMeta::DESCRIPTION => drupal_substr(strip_tags(OpenGraphMetaDrupalLayer::get_node_body($node)), 0, 200),
    'og:' . OpenGraphMeta::SITE_NAME => 'Drupal',
    'og:' . OpenGraphMeta::IMAGE => url('default.jpg', array(
      'absolute' => TRUE,
    )),
    'og:' . OpenGraphMeta::URL => url('node/1', array(
      'absolute' => TRUE,
    )),
  ), __FUNCTION__ . ' default image is returned');

  // Add an image to the node
  $this
    ->_reset_rendered_tags();
  $node->field_image = $this
    ->_create_img_field('image/jpeg', 'node.jpg');
  $this->ogm
    ->render_data($node, $this->ogm
    ->load_node_data($node));
  $imgpath = 'node.jpg';
  if (7 <= OPENGRAPH_META_DRUPAL_VERSION && 'body.jpg' != $imgpath) {
    $imgpath = image_style_url('thumbnail', $imgpath);
  }
  $this
    ->_check_rendered_meta_tags(array(
    'og:' . OpenGraphMeta::TITLE => $node->title,
    'og:' . OpenGraphMeta::DESCRIPTION => drupal_substr(strip_tags(OpenGraphMetaDrupalLayer::get_node_body($node)), 0, 200),
    'og:' . OpenGraphMeta::SITE_NAME => 'Drupal',
    'og:' . OpenGraphMeta::IMAGE => url($imgpath, array(
      'absolute' => TRUE,
    )),
    'og:' . OpenGraphMeta::URL => url('node/1', array(
      'absolute' => TRUE,
    )),
  ), __FUNCTION__ . ' default image is overridden');
}