Skip to content

Commit 6bd6d29

Browse files
committed
MSI: #206 - Added strict type static code test
1 parent c5f3252 commit 6bd6d29

File tree

2 files changed

+33
-3
lines changed

2 files changed

+33
-3
lines changed

dev/tests/static/testsuite/Magento/Test/Php/LiveCodeTest.php

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,22 @@ private static function getChangedFilesBaseDir()
7070
* @param array $fileTypes
7171
* @param string $changedFilesBaseDir
7272
* @param string $baseFilesFolder
73+
* @param string $whitelistFile
7374
* @return array
7475
*/
75-
public static function getWhitelist($fileTypes = ['php'], $changedFilesBaseDir = '', $baseFilesFolder = '')
76-
{
76+
public static function getWhitelist(
77+
$fileTypes = ['php'],
78+
$changedFilesBaseDir = '',
79+
$baseFilesFolder = '',
80+
$whitelistFile = '/_files/whitelist/common.txt'
81+
) {
7782
$changedFiles = self::getChangedFilesList($changedFilesBaseDir);
7883
if (empty($changedFiles)) {
7984
return [];
8085
}
8186

8287
$globPatternsFolder = ('' !== $baseFilesFolder) ? $baseFilesFolder : self::getBaseFilesFolder();
83-
$directoriesToCheck = Files::init()->readLists($globPatternsFolder . '/_files/whitelist/common.txt');
88+
$directoriesToCheck = Files::init()->readLists($globPatternsFolder . $whitelistFile);
8489
$targetFiles = self::filterFiles($changedFiles, $fileTypes, $directoriesToCheck);
8590

8691
return $targetFiles;
@@ -266,4 +271,22 @@ public function testCopyPaste()
266271
"PHP Copy/Paste Detector has found error(s):" . PHP_EOL . $output
267272
);
268273
}
274+
275+
public function testStrictTypes()
276+
{
277+
$filesMissingStrictTyping = [];
278+
279+
foreach (self::getWhitelist(['php'], '', '', '/_files/whitelist/strict_type.txt') as $fileName) {
280+
$file = file_get_contents($fileName);
281+
if (strstr($file, 'strict_types=1') === false) {
282+
$filesMissingStrictTyping[] = $fileName;
283+
}
284+
}
285+
286+
$this->assertEquals(
287+
0,
288+
count($filesMissingStrictTyping),
289+
"Following files are missing strict type declaration:" . PHP_EOL . implode(PHP_EOL, $filesMissingStrictTyping)
290+
);
291+
}
269292
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Format: <componentType=module|library|theme|language|*> <componentName> <globPattern> or simply <globPattern>
2+
app/code/Magento/Inventory
3+
app/code/Magento/InventoryApi
4+
app/code/Magento/InventoryCatalog
5+
app/code/Magento/InventoryImportExport
6+
app/code/Magento/InventorySales
7+
app/code/Magento/InventorySalesApi

0 commit comments

Comments
 (0)