View source
<?php
namespace Drupal\calendar_systems\Tests;
use Drupal\simpletest\WebTestBase;
class BasicFunctionalityTest extends WebTestBase {
public static $modules = array(
'calendar_systems',
);
public function setUp() {
parent::setUp();
}
function testCalendarSystemsConversion() {
$supported_calendars = array(
'iranian' => array(
'source' => '',
'gregorian' => '',
),
'arabic' => array(
'source' => '',
'gregorian' => '',
),
'gregorian' => array(
'source' => '',
'gregorian' => '',
),
'julian' => array(
'source' => '',
'gregorian' => '',
),
'thai' => array(
'source' => '',
'gregorian' => '',
),
);
foreach ($supported_calendars as $calendarName => $calendarInfo) {
$calendar = calendar_systems_get_calendar_instance($calendarName);
$val = $calendar
->strToTimestamp('1380-05-10');
$this
->assertEqual($result, $calendarInfo['gregorian'], "{$calendarName} to gregorian");
$this
->assertEqual($calendarInfo['gregorian'], $result, "{$calendarName} from gregorian");
}
}
function testCalendarSystemsConversionIranian() {
$message = "Jalali Date To Gregorian Conversion does not work properly";
$result = true;
$calendar = calendar_systems_get_calendar_instance();
for ($y = 1300; $y <= 1400; $y++) {
for ($m = 1; $m <= 12; $m++) {
for ($d = 1; $d <= $calendar
->daysInMonth($m - 1, 'jalali'); $d++) {
$fadate = $y . '/' . str_pad($m, 2, "0", STR_PAD_LEFT) . '/' . str_pad($d, 2, "0", STR_PAD_LEFT);
$_infoArray_fadate = split('/', $fadate);
$_infoArray_fadate = array(
'year' => $_infoArray_fadate[0],
'month' => $_infoArray_fadate[1],
'day' => $_infoArray_fadate[2],
);
$timestamp_birthdaf = $calendar
->infoArrayToTimestamp($_infoArray_fadate);
$birthdaf_val = date('Y-m-d', $timestamp_birthdaf);
$birthdaf_val_timestamp = $calendar
->strToTimestamp($birthdaf_val);
$check_date = format_date($birthdaf_val_timestamp, 'custom', 'Y/m/d');
if ($fadate != $check_date) {
$result = false;
$message .= " \n {$fadate} : {$check_date}";
}
}
}
}
$this
->assertTrue($result, $message);
}
public function runningOnTestbot() {
$testbot_code_directory = "../checkout";
return file_exists($testbot_code_directory);
}
}