You are here

class DateAPI in Date 5.2

Same name and namespace in other branches
  1. 6 tests/date_api.test \DateAPI

Test Date API functions

Hierarchy

Expanded class hierarchy of DateAPI

File

tests/date_api.test, line 5

View source
class DateAPI extends DrupalTestCase {
  function get_info() {
    return array(
      'name' => t('Date API'),
      'desc' => t('Test Date API functions like date_convert(), date_part_extract(), date_is_valid(), date_last_day_of_month(), date_first_day_of_week().'),
      'group' => 'Date tests',
    );
  }
  function testDateAPI() {
    require_once './' . drupaldrupal_get_path('module', 'date_api') . '/date_api.module';
    $this
      ->drupalVariableSet('date_first_day', 1);
    $expected = array(
      0 => t('Mon'),
      1 => t('Tue'),
      2 => t('Wed'),
      3 => t('Thu'),
      4 => t('Fri'),
      5 => t('Sat'),
      6 => t('Sun'),
    );
    $days = date_week_days_ordered(date_week_days_abbr(1));
    $this
      ->assertEqual($expected, $days, 'Test that date_week_days_ordered() array starts on Monday when the site first day is on Monday.');
    $this
      ->drupalVariableSet('date_first_day', 0);
    $expected = array(
      0 => t('Sun'),
      1 => t('Mon'),
      2 => t('Tue'),
      3 => t('Wed'),
      4 => t('Thu'),
      5 => t('Fri'),
      6 => t('Sat'),
    );
    $days = date_week_days_ordered(date_week_days_abbr(1));
    $this
      ->assertEqual($expected, $days, 'Test that date_week_days_ordered() array starts on Sunday when the site first day is on Sunday.');
    $value = '2007-12-05 23:59';
    $this
      ->assertEqual(TRUE, date_part_extract($value, 'year'), "Test date_part_extract(" . $value . ", year), results " . date_part_extract($value, 'year'));
    $this
      ->assertEqual(TRUE, date_part_extract($value, 'month'), "Test date_part_extract(" . $value . ", mon), results " . date_part_extract($value, 'month'));
    $this
      ->assertEqual(TRUE, date_part_extract($value, 'day'), "Test date_part_extract(" . $value . ", mday), results " . date_part_extract($value, 'day'));
    $this
      ->assertEqual(TRUE, date_is_valid($value), "Test date_is_valid(" . $value . ")");
    $value = '2007-00-00 00:00';
    $this
      ->assertNotEqual(TRUE, date_is_valid($value), "Test for invalid date_is_valid(" . $value . ")");
    $value = '0000-00-00 00:00';
    $this
      ->assertNotEqual(TRUE, date_is_valid($value), "Test for invalid date_is_valid(" . $value . ")");
    $value = '-100';
    $this
      ->assertNotEqual(TRUE, date_is_valid($value), "Test for invalid date_is_valid(" . $value . ")");
    $value = '2007-00-00T00:00';
    $this
      ->assertEqual(TRUE, date_is_valid($value, DATE_ISO), "Test ISO exception to date_is_valid(" . $value . ", DATE_ISO)");
    $expected = 28;
    $value = date_days_in_month(2, 2005);
    $this
      ->assertEqual($expected, $value, 'Test date_days_in_month(2, 2005), results ' . $value);
    $expected = 29;
    $value = date_days_in_month(2, 2004);
    $this
      ->assertEqual($expected, $value, 'Test date_days_in_month(2, 2004), results ' . $value);
    $expected = 28;
    $value = date_days_in_month(2, 2003);
    $this
      ->assertEqual($expected, $value, 'Test date_days_in_month(2, 2003), results ' . $value);
    $dates = array(
      '2007-01-01 00:00:00',
      '1970-01-01 00:00:00',
      '1900-01-01 00:00:00',
      '1600-01-01 00:00:00',
      '0100-01-01 00:00:00',
    );
    foreach ($dates as $date) {
      $unix = date_convert($date, DATE_DATETIME, DATE_UNIX);
      $datetime = date_convert($unix, DATE_UNIX, DATE_DATETIME);
      $this
        ->assertEqual($date, $datetime, 'Test roundtrip using date_convert() from DATE_DATETIME to DATE_UNIX back to DATE_DATETIME, results ' . $date . ' >> ' . $unix . ' >> ' . $datetime);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DateAPI::get_info function
DateAPI::testDateAPI function
DrupalTestCase::$_cleanupModules property
DrupalTestCase::$_cleanupRoles property
DrupalTestCase::$_cleanupUsers property
DrupalTestCase::$_cleanupVariables property
DrupalTestCase::$_content property
DrupalTestCase::assertCopy function Will trigger a pass if both parameters refer to different objects. Fail otherwise.
DrupalTestCase::assertEqual function Will trigger a pass if the two parameters have the same value only. Otherwise a fail.
DrupalTestCase::assertError function Confirms that an error has occurred and optionally that the error text matches exactly.
DrupalTestCase::assertErrorPattern function Confirms that an error has occurred and that the error text matches a Perl regular expression.
DrupalTestCase::assertIdentical function Will trigger a pass if the two parameters have the same value and same type. Otherwise a fail.
DrupalTestCase::assertIsA function Type and class test. Will pass if class matches the type name or is a subclass or if not an object, but the type is correct.
DrupalTestCase::assertNoErrors function Confirms that no errors have occurred so far in the test method.
DrupalTestCase::assertNotA function Type and class mismatch test. Will pass if class name or underling type does not match the one specified.
DrupalTestCase::assertNotEqual function Will trigger a pass if the two parameters have a different value. Otherwise a fail.
DrupalTestCase::assertNotIdentical function Will trigger a pass if the two parameters have the different value or different type.
DrupalTestCase::assertNotNull function Will be true if the value is set.
DrupalTestCase::assertNoUnwantedPattern function Will trigger a pass if the Perl regex pattern is not present in subject. Fail if found.
DrupalTestCase::assertNoUnwantedRaw function Will trigger a pass if the raw text is NOT found on the loaded page Fail otherwise.
DrupalTestCase::assertNull function Will be true if the value is null.
DrupalTestCase::assertReference function Will trigger a pass if both parameters refer to the same object. Fail otherwise.
DrupalTestCase::assertWantedPattern function Will trigger a pass if the Perl regex pattern is found in the subject. Fail otherwise.
DrupalTestCase::assertWantedRaw function Will trigger a pass if the raw text is found on the loaded page Fail otherwise.
DrupalTestCase::clickLink function Follows a link by name. Will click the first link found with this link text by default, or a later one if an index is given. Match is case insensitive with normalised space. Does make assertations if the click was sucessful or not and it does…
DrupalTestCase::drupalCheckAuth function @abstract Checks to see if we need to send a http-auth header to authenticate when browsing a site.
DrupalTestCase::drupalCreateRolePerm function Create a role / perm combination specified by permissions
DrupalTestCase::drupalCreateUserRolePerm function Creates a user / role / permissions combination specified by permissions
DrupalTestCase::drupalGet function @abstract Brokder for the get function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com>
DrupalTestCase::drupalGetContent function @TODO: needs documentation
DrupalTestCase::drupalLoginUser function Logs in a user with the internal browser
DrupalTestCase::drupalModuleDisable function Disables a drupal module
DrupalTestCase::drupalModuleEnable function Enables a drupal module
DrupalTestCase::drupalPostRequest function Do a post request on a drupal page. It will be done as usual post request with SimpleBrowser
DrupalTestCase::drupalRawPost function @abstract Broker for the post function adds the authentication headers if necessary @author Earnest Berry III <earnest.berry@gmail.com>
DrupalTestCase::DrupalTestCase function
DrupalTestCase::drupalVariableSet function Set a druapl variable and keep track of the changes for tearDown()
DrupalTestCase::randomName function Generates a random string, to be used as name or whatever
DrupalTestCase::run function Just some info for the reporter
DrupalTestCase::tearDown function tearDown implementation, setting back switched modules etc 1