Remove some useless comments
[phpmyadmin.git] / test / classes / Plugins / Export / ExportExcelTest.php
blob26fc74c4e296f62857ced6671fbc18d4933d1bca
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Tests\Plugins\Export;
7 use PhpMyAdmin\Plugins\Export\ExportExcel;
8 use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyMainGroup;
9 use PhpMyAdmin\Properties\Options\Groups\OptionsPropertyRootGroup;
10 use PhpMyAdmin\Properties\Options\Items\BoolPropertyItem;
11 use PhpMyAdmin\Properties\Options\Items\HiddenPropertyItem;
12 use PhpMyAdmin\Properties\Options\Items\SelectPropertyItem;
13 use PhpMyAdmin\Properties\Options\Items\TextPropertyItem;
14 use PhpMyAdmin\Properties\Plugins\ExportPluginProperties;
15 use PhpMyAdmin\Tests\AbstractTestCase;
16 use ReflectionMethod;
17 use ReflectionProperty;
18 use function array_shift;
20 /**
21 * @group medium
23 class ExportExcelTest extends AbstractTestCase
25 /** @var ExportExcel */
26 protected $object;
28 /**
29 * Configures global environment.
31 protected function setUp(): void
33 parent::setUp();
34 $GLOBALS['server'] = 0;
35 $this->object = new ExportExcel();
38 /**
39 * tearDown for test cases
41 protected function tearDown(): void
43 parent::tearDown();
44 unset($this->object);
47 public function testSetProperties(): void
49 $method = new ReflectionMethod(ExportExcel::class, 'setProperties');
50 $method->setAccessible(true);
51 $method->invoke($this->object, null);
53 $attrProperties = new ReflectionProperty(ExportExcel::class, 'properties');
54 $attrProperties->setAccessible(true);
55 $properties = $attrProperties->getValue($this->object);
57 $this->assertInstanceOf(
58 ExportPluginProperties::class,
59 $properties
62 $this->assertEquals(
63 'CSV for MS Excel',
64 $properties->getText()
67 $this->assertEquals(
68 'csv',
69 $properties->getExtension()
72 $this->assertEquals(
73 'text/comma-separated-values',
74 $properties->getMimeType()
77 $this->assertEquals(
78 'Options',
79 $properties->getOptionsText()
82 $options = $properties->getOptions();
84 $this->assertInstanceOf(
85 OptionsPropertyRootGroup::class,
86 $options
89 $this->assertEquals(
90 'Format Specific Options',
91 $options->getName()
94 $generalOptionsArray = $options->getProperties();
95 $generalOptions = $generalOptionsArray[0];
97 $this->assertInstanceOf(
98 OptionsPropertyMainGroup::class,
99 $generalOptions
102 $this->assertEquals(
103 'general_opts',
104 $generalOptions->getName()
107 $generalProperties = $generalOptions->getProperties();
109 $property = array_shift($generalProperties);
111 $this->assertInstanceOf(
112 TextPropertyItem::class,
113 $property
116 $this->assertEquals(
117 'null',
118 $property->getName()
121 $this->assertEquals(
122 'Replace NULL with:',
123 $property->getText()
126 $property = array_shift($generalProperties);
128 $this->assertInstanceOf(
129 BoolPropertyItem::class,
130 $property
133 $this->assertEquals(
134 'removeCRLF',
135 $property->getName()
138 $this->assertEquals(
139 'Remove carriage return/line feed characters within columns',
140 $property->getText()
143 $property = array_shift($generalProperties);
145 $this->assertInstanceOf(
146 BoolPropertyItem::class,
147 $property
150 $this->assertEquals(
151 'columns',
152 $property->getName()
155 $this->assertEquals(
156 'Put columns names in the first row',
157 $property->getText()
160 $property = array_shift($generalProperties);
162 $this->assertInstanceOf(
163 SelectPropertyItem::class,
164 $property
167 $this->assertEquals(
168 'edition',
169 $property->getName()
172 $this->assertEquals(
174 'win' => 'Windows',
175 'mac_excel2003' => 'Excel 2003 / Macintosh',
176 'mac_excel2008' => 'Excel 2008 / Macintosh',
178 $property->getValues()
181 $this->assertEquals(
182 'Excel edition:',
183 $property->getText()
186 $property = array_shift($generalProperties);
188 $this->assertInstanceOf(
189 HiddenPropertyItem::class,
190 $property
193 $this->assertEquals(
194 'structure_or_data',
195 $property->getName()