You are here

gmap.test in GMap Module 6.2

Same filename and directory in other branches
  1. 6 tests/gmap.test
  2. 7.2 tests/gmap.test
  3. 7 tests/gmap.test

Unit tests for gmap.module.

File

tests/gmap.test
View source
<?php

/**
 * @file
 * Unit tests for gmap.module.
 */
class GMapSimpleAPITest extends DrupalUnitTestCase {
  public static function getInfo() {
    return array(
      'name' => 'GMap API sanity checks',
      'description' => 'Test the simple API functions in the public GMap API.',
      'group' => 'GMap',
    );
  }
  public function setUp() {
    drupal_load('module', 'gmap');
    parent::setUp();
  }

  /**
   * Verify gmap_todim().
   */
  public function testGMapToDim() {

    // Valid stuff
    $this
      ->assertEqual(gmap_todim('500PX'), '500px', t('Testing case normalization'));
    $this
      ->assertEqual(gmap_todim('   500    px   '), '500px', t('Testing spaces'));
    $this
      ->assertEqual(gmap_todim('1.5em'), '1.5em', t('Testing em'));
    $this
      ->assertEqual(gmap_todim('1.5ex'), '1.5ex', t('Testing ex'));
    $this
      ->assertEqual(gmap_todim('1.5in'), '1.5in', t('Testing in'));
    $this
      ->assertEqual(gmap_todim('1.5cm'), '1.5cm', t('Testing cm'));
    $this
      ->assertEqual(gmap_todim('1.5mm'), '1.5mm', t('Testing mm'));
    $this
      ->assertEqual(gmap_todim('1.5pt'), '1.5pt', t('Testing pt'));
    $this
      ->assertEqual(gmap_todim('1.5pc'), '1.5pc', t('Testing pc'));
    $this
      ->assertEqual(gmap_todim('150%'), '150%', t('Testing %'));

    // Invalid stuff
    $this
      ->assertEqual(gmap_todim('500pxBLUE SMURFpx'), FALSE, t('Testing invalid data'));
    $this
      ->assertEqual(gmap_todim('500'), FALSE, t('Testing missing dimension type'));
    $this
      ->assertEqual(gmap_todim(500), FALSE, t('Testing raw number'));

    // REALLY invalid stuff
    $this
      ->assertEqual(gmap_todim(NULL), FALSE, t('Testing invalid data (NULL)'));
    $this
      ->assertEqual(gmap_todim(array()), FALSE, t('Testing invalid data (Array)'));
  }

}

//class GMapMacroTest extends DrupalUnitTestCase {

//  public static function getInfo() {
//    return array(
//      'name' => 'GMap Macro checks',
//      'description' => 'Test the ability to parse macros into map arrays.',
//      'group' => 'GMap',
//    );
//  }
//
//  public function setUp() {
//    drupal_load('module', 'gmap');
//    drupal_load('module', 'gmap_macro_builder');
//    $edit = array(
//      'gmap_api_key' => 'AIzaSyAe2PAkh_qvTq-3WkXQrVwVwh3Lo9FDvkk',
//    );
//
//    $this->drupalPost('admin/settings/gmap', $edit, t('Save configuration'));
//    $this->assertText(t('The configuration options have been saved.'));
//    parent::setUp();
//  }
//
//  public function testEmptyMacro() {
//    $macro = '';
//    $map = gmap_parse_macro($macro);
//    $this->assertEqual(preg_match('/^auto\d+map$/', $map['id']), 1, t('Testing ID injection'));
//    $this->assertEqual(count($map), 1, t('Testing contents of map array.'));
//
//    $macro = '[gmap]';
//    $map = gmap_parse_macro($macro);
//    $this->assertEqual(preg_match('/^auto\d+map$/', $map['id']), 1, t('Testing ID injection'));
//    $this->assertEqual(count($map), 1, t('Testing contents of map array.'));
//
//    $macro = '[gmap ]';
//    $map = gmap_parse_macro($macro);
//    $this->assertEqual(preg_match('/^auto\d+map$/', $map['id']), 1, t('Testing ID injection'));
//    $this->assertEqual(count($map), 1, t('Testing contents of map array.'));
//  }
//
//  public function testMacroBehaviorFlags() {
//    $macro = '[gmap |behavior=+foobehavior +barbehavior -bazbehavior]';
//    $map = gmap_parse_macro($macro);
//    $b = $map['behavior'];
//    $this->assertEqual($b['foobehavior'], TRUE, t('Testing +behavior'));
//    $this->assertEqual($b['barbehavior'], TRUE, t('Testing another +behavior'));
//    $this->assertEqual($b['bazbehavior'], FALSE, t('Testing -behavior'));
//    // NOT passing through default flags was a bug.
//    //$this->assertEqual(count($b), 3, t('Testing for leaked default flags'));
//  }
//
//  public function testMacroRenamedDirectives() {
//    $macro = '[gmap |type=Foo |control=Bar |behaviour=+baz |tcontrol=on]';
//    $map = gmap_parse_macro($macro);
//    $this->assertEqual($map['maptype'], 'Foo', t('Testing type -> maptype conversion'));
//    $this->assertEqual($map['controltype'], 'Bar', t('Testing control -> controltype conversion'));
//    $this->assertEqual($map['behavior']['baz'], TRUE, t('Testing behaviour -> behavior conversion'));
//    $this->assertEqual($map['mtc'], 'standard', t('Testing tcontrol -> mtc=standard'));
//  }

//}

// wrapper for gmap.module web testing
class testGmapFormsTestCase extends DrupalWebTestCase {
  protected $privileged_user;
  public static function getInfo() {
    return array(
      'name' => 'GMAP Forms',
      'description' => 'GMAP Forms WebTesting.',
      'group' => 'GMap',
    );
  }
  public function setUp() {
    parent::setUp('gmap');

    // Enable any modules required for the test
    // Create and log in our user. The user has the arbitrary privilege
    // 'extra special edit any simpletest_example' which the code uses
    // to grant access.
    $this->privileged_user = $this
      ->drupalCreateUser(array(
      'administer site configuration',
    ));
    $this
      ->drupalLogin($this->privileged_user);
  }

  // gmap_menu() test initial wrapper
  public function testGmapSaveConfig() {
    $edit = array(
      'gmap_api_key' => 'AIzaSyAe2PAkh_qvTq-3WkXQrVwVwh3Lo9FDvkk',
    );
    $this
      ->drupalPost('admin/settings/gmap', $edit, t('Save configuration'));
    $this
      ->assertText(t('The configuration options have been saved.'));
  }

  /**
   * Detect if we're running on PIFR testbot; skip intentional failure in that
   * case. It happens that on the testbot the site under test is in a directory
   * named 'checkout' or 'site_under_test'.
   *
   * @return boolean
   *   TRUE if running on testbot.
   */
  public function runningOnTestbot() {
    return file_exists("../checkout") || file_exists("../site_under_test");
  }

}

//// wrapper test for gmap_macro_builder module

//class testGmapMacroFormsTestCase extends DrupalWebTestCase {

//  protected $privileged_user;
//
//  public static function getInfo() {
//    return array(
//      'name' => 'GMAP Macro Forms',
//      'description' => 'GMAP Macro Forms WebTesting.',
//      'group' => 'GMap',
//    );
//  }
//
//  public function setUp() {
//    drupal_load('module', 'gmap');
//    drupal_load('module', 'gmap_macro_builder');
//    parent::setUp(); // Enable any modules required for the test
//
//    // Create and log in our user. The user has the arbitrary privilege
//    // 'extra special edit any simpletest_example' which the code uses
//    // to grant access.
//    $this->privileged_user = $this->drupalCreateUser(array('create gmap macro'));
//    $this->drupalLogin($this->privileged_user);
//  }
//
//  // gmap_macro_builder_menu() test initial wrapper
//  public function testMacroMenuExampleCreate() {
//    $edit = array();
//
//    $this->drupalGet('map/macro', $edit);
//    $this->assertText(t('You can use this interface to create a map macro suitable for pasting into a node or any other place that accepts a GMap macro.'));
//  }
//
//
//  /**
//   * Detect if we're running on PIFR testbot; skip intentional failure in that
//   * case. It happens that on the testbot the site under test is in a directory
//   * named 'checkout' or 'site_under_test'.
//   *
//   * @return boolean
//   *   TRUE if running on testbot.
//   */
//  public function runningOnTestbot() {
//    return (file_exists("../checkout") || file_exists("../site_under_test"));
//  }

//}

// wrapper test for gmap_taxonomy module

//class testGmapTaxonomyFormsTestCase extends DrupalWebTestCase {

//  protected $privileged_user;
//
//  public static function getInfo() {
//    return array(
//      'name' => 'GMAP Taxonomy',
//      'description' => 'GMAP Taxonomy WebTesting.',
//      'group' => 'GMap',
//    );
//  }
//
//  public function setUp() {
//    parent::setUp('gmap_taxonomy'); // Enable any modules required for the test
//    drupal_load('module', 'gmap');
//    drupal_load('module', 'gmap_taxonomy');
//
//    // Create and log in our user. The user has the arbitrary privilege
//    // 'extra special edit any simpletest_example' which the code uses
//    // to grant access.
//    $this->privileged_user = $this->drupalCreateUser(array('administer taxonomy'));
//    $this->drupalLogin($this->privileged_user);
//  }
//
//  // gmap_macro_builder_menu() test initial wrapper
//  public function testMacroMenuExampleCreate() {
//    // Create node to edit.
//    $rname = $this->randomName();
//    $edit = array(
//      'name' => $rname,

////      'machine_name' => 'gmap_taxonomy_test_voc',

//      'gmap_taxonomy_enable' => 1,
//    );
//
//    // create taxonomy vocabulary with gmap markers
//    $this->drupalPost('admin/content/taxonomy/add/vocabulary', $edit, t('Save'));
//    $this->assertText(t('Created new vocabulary'));
//
//    // add taxonomy term with "small red" marker
//
//    $edit2 = array(
//      'name' => $this->randomName(),
//      'gmap_taxonomy_marker' => 'small red',
//
//    );
//
//    $this->drupalGet('admin/content/taxonomy/1/add/term', $edit);
//    $this->assertText(t('GMap Marker'));
//
//    $this->drupalPost('admin/content/taxonomy/1/add/term', $edit2, t('Save'));
//    $this->assertText(t('Created new term'));
//
//  }
//
//
//  /**
//   * Detect if we're running on PIFR testbot; skip intentional failure in that
//   * case. It happens that on the testbot the site under test is in a directory
//   * named 'checkout' or 'site_under_test'.
//   *
//   * @return boolean
//   *   TRUE if running on testbot.
//   */
//  public function runningOnTestbot() {
//    return (file_exists("../checkout") || file_exists("../site_under_test"));
//  }

//}

Classes

Namesort descending Description
GMapSimpleAPITest @file Unit tests for gmap.module.
testGmapFormsTestCase