View source
<?php
class FillPdfLinkBooleansTestCase extends DrupalWebTestCase {
public static function getInfo() {
return array(
'name' => 'FillPDF Boolean query parameter unit test',
'description' => 'Unit tests evaluation of boolean query parameters.',
'group' => 'FillPDF',
);
}
public function setUp() {
parent::setUp(array(
'fillpdf',
));
}
public function testBooleans() {
foreach ($this
->dataProvider() as $case) {
foreach ($case as $input => $expected) {
$request_context = fillpdf_link_to_stub_context($this
->link($input));
$this
->assertEqual(is_null($expected) ? FALSE : $expected, $request_context['sample']);
$this
->assertEqual(is_null($expected) ? FALSE : $expected, $request_context['force_download']);
$this
->assertEqual(is_null($expected) ? TRUE : $expected, $request_context['flatten']);
}
}
}
public function link($input) {
return fillpdf_pdf_link(1, 1) . '&sample=' . $input . '&download=' . $input . '&flatten=' . $input;
}
public function dataProvider() {
return array(
array(
'1' => TRUE,
),
array(
'true' => TRUE,
),
array(
'True' => TRUE,
),
array(
'TRUE' => TRUE,
),
array(
'on' => TRUE,
),
array(
'On' => TRUE,
),
array(
'ON' => TRUE,
),
array(
'yes' => TRUE,
),
array(
'Yes' => TRUE,
),
array(
'YES' => TRUE,
),
array(
'0' => FALSE,
),
array(
'false' => FALSE,
),
array(
'False' => FALSE,
),
array(
'FALSE' => FALSE,
),
array(
'off' => FALSE,
),
array(
'Off' => FALSE,
),
array(
'OFF' => FALSE,
),
array(
'no' => FALSE,
),
array(
'No' => FALSE,
),
array(
'NO' => FALSE,
),
array(
'' => NULL,
),
array(
'foo' => NULL,
),
array(
'bar' => NULL,
),
array(
'-1' => NULL,
),
array(
'2' => NULL,
),
array(
'y' => NULL,
),
array(
'Y' => NULL,
),
array(
'n' => NULL,
),
array(
'N' => NULL,
),
);
}
}