Skip to content

Commit 3f7b155

Browse files
committed
MAGETWO-55850: PR support
2 parents 39a1ca7 + 71c041a commit 3f7b155

File tree

7 files changed

+77
-39
lines changed

7 files changed

+77
-39
lines changed

.php_cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ return Symfony\CS\Config\Config::create()
3333
'extra_empty_lines',
3434
'include',
3535
'join_function',
36-
'multiline_array_trailing_comma',
3736
'namespace_no_leading_whitespace',
3837
'new_with_braces',
3938
'object_operator',

dev/tests/integration/framework/Magento/TestFramework/Event/Transaction.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ protected function _rollbackTransaction()
113113
$this->_getConnection()->rollbackTransparentTransaction();
114114
$this->_isTransactionActive = false;
115115
$this->_eventManager->fireEvent('rollbackTransaction');
116+
$this->_getConnection()->closeConnection();
116117
}
117118
}
118119

dev/tests/integration/framework/Magento/TestFramework/Listener/ExtededTestdox.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ protected function endClass($name)
296296
protected function doEndClass()
297297
{
298298
foreach ($this->tests as $name => $data) {
299-
$check = $data['failure'] == 0 ? ' [x] ' : ' [ ] ';
299+
$check = $data['failure'] == 0 ? ' - [x] ' : ' - [ ] ';
300300
$this->write(
301301
"\n" . $check . $name . ($data['failure'] + $data['success'] ==
302302
0 ? ' (skipped)' : '') . ($data['time'] > 1 ? ' - ' . number_format(

dev/tests/integration/framework/Magento/TestFramework/Workaround/Cleanup/StaticProperties.php

Lines changed: 54 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ class StaticProperties
3333
* @var array
3434
*/
3535
protected static $_classesToSkip = [
36-
'Mage',
3736
\Magento\Framework\App\ObjectManager::class,
3837
\Magento\TestFramework\Helper\Bootstrap::class,
3938
\Magento\TestFramework\Event\Magento::class,
@@ -107,14 +106,31 @@ protected static function _isClassInCleanableFolders($classFile)
107106
return false; // File is not in an "include" directory
108107
}
109108

109+
/**
110+
* @var \ReflectionClass[]
111+
*/
112+
static protected $classes = [];
113+
114+
/**
115+
* @param string $class
116+
* @return \ReflectionClass
117+
*/
118+
private static function getReflectionClass($class)
119+
{
120+
if (!isset(self::$classes[$class])) {
121+
self::$classes[$class] = new \ReflectionClass($class);
122+
}
123+
return self::$classes[$class];
124+
}
125+
110126
/**
111127
* Restore static variables (after running controller test case)
112128
* @TODO: refactor all code where objects are stored to static variables to use object manager instead
113129
*/
114130
public static function restoreStaticVariables()
115131
{
116132
foreach (array_keys(self::$backupStaticVariables) as $class) {
117-
$reflectionClass = new \ReflectionClass($class);
133+
$reflectionClass = self::getReflectionClass($class);
118134
$staticProperties = $reflectionClass->getProperties(\ReflectionProperty::IS_STATIC);
119135
foreach ($staticProperties as $staticProperty) {
120136
$staticProperty->setAccessible(true);
@@ -129,44 +145,48 @@ public static function restoreStaticVariables()
129145
*/
130146
public static function backupStaticVariables()
131147
{
132-
$classFiles = Files::init()->getPhpFiles(
133-
Files::INCLUDE_APP_CODE
134-
| Files::INCLUDE_LIBS
135-
| Files::INCLUDE_TESTS
148+
if (count(self::$backupStaticVariables) > 0) {
149+
return;
150+
}
151+
$classFiles = array_filter(
152+
Files::init()->getPhpFiles(
153+
Files::INCLUDE_APP_CODE
154+
| Files::INCLUDE_LIBS
155+
| Files::INCLUDE_TESTS
156+
),
157+
function ($classFile) {
158+
return StaticProperties::_isClassInCleanableFolders($classFile)
159+
&& strpos(file_get_contents($classFile), ' static ') > 0;
160+
}
136161
);
137162
$namespacePattern = '/namespace [a-zA-Z0-9\\\\]+;/';
138163
$classPattern = '/\nclass [a-zA-Z0-9_]+/';
139164
foreach ($classFiles as $classFile) {
140-
if (self::_isClassInCleanableFolders($classFile)) {
141-
$file = @fopen($classFile, 'r');
142-
$code = fread($file, 4096);
143-
preg_match($namespacePattern, $code, $namespace);
144-
preg_match($classPattern, $code, $class);
145-
if (!isset($namespace[0]) || !isset($class[0])) {
146-
fclose($file);
147-
continue;
148-
}
149-
// trim namespace and class name
150-
$namespace = substr($namespace[0], 10, strlen($namespace[0]) - 11);
151-
$class = substr($class[0], 7, strlen($class[0]) - 7);
152-
$className = $namespace . '\\' . $class;
153-
154-
try {
155-
$reflectionClass = new \ReflectionClass($className);
156-
} catch (\Exception $e) {
157-
fclose($file);
158-
continue;
159-
}
160-
if (self::_isClassCleanable($reflectionClass)) {
161-
$staticProperties = $reflectionClass->getProperties(\ReflectionProperty::IS_STATIC);
162-
foreach ($staticProperties as $staticProperty) {
163-
$staticProperty->setAccessible(true);
164-
$value = $staticProperty->getValue();
165-
self::$backupStaticVariables[$className][$staticProperty->getName()] = $value;
166-
}
165+
$code = file_get_contents($classFile);
166+
preg_match($namespacePattern, $code, $namespace);
167+
preg_match($classPattern, $code, $class);
168+
if (!isset($namespace[0]) || !isset($class[0])) {
169+
continue;
170+
}
171+
// trim namespace and class name
172+
$namespace = substr($namespace[0], 10, strlen($namespace[0]) - 11);
173+
$class = substr($class[0], 7, strlen($class[0]) - 7);
174+
$className = $namespace . '\\' . $class;
175+
176+
try {
177+
$reflectionClass = self::getReflectionClass($className);
178+
} catch (\Exception $e) {
179+
continue;
180+
}
181+
if (self::_isClassCleanable($reflectionClass)) {
182+
$staticProperties = $reflectionClass->getProperties(\ReflectionProperty::IS_STATIC);
183+
foreach ($staticProperties as $staticProperty) {
184+
$staticProperty->setAccessible(true);
185+
$value = $staticProperty->getValue();
186+
self::$backupStaticVariables[$className][$staticProperty->getName()] = $value;
167187
}
168-
fclose($file);
169188
}
189+
170190
}
171191
}
172192

dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/ConfigurableTest.php

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,10 @@ public function exportImportDataProvider()
3030
*/
3131
protected function assertEqualsSpecificAttributes($expectedProduct, $actualProduct)
3232
{
33-
$expectedAssociatedProducts = $expectedProduct->getTypeInstance()->getUsedProducts($expectedProduct);
34-
$actualAssociatedProducts = $actualProduct->getTypeInstance()->getUsedProducts($actualProduct);
33+
/** @var \Magento\ConfigurableProduct\Model\Product\Type\Configurable $prooductType */
34+
$prooductType = $expectedProduct->getTypeInstance();
35+
$expectedAssociatedProducts = $prooductType->getUsedProductCollection($expectedProduct);
36+
$actualAssociatedProducts = iterator_to_array($prooductType->getUsedProductCollection($actualProduct));
3537

3638
$expectedAssociatedProductSkus = [];
3739
$actualAssociatedProductSkus = [];
@@ -92,4 +94,20 @@ public function importReplaceDataProvider()
9294
}
9395
return $data;
9496
}
97+
98+
/**
99+
* @magentoAppArea adminhtml
100+
* @magentoDbIsolation enabled
101+
* @magentoAppIsolation enabled
102+
*
103+
* @param array $fixtures
104+
* @param string[] $skus
105+
* @param string[] $skippedAttributes
106+
* @dataProvider importReplaceDataProvider
107+
*/
108+
public function testImportReplace($fixtures, $skus, $skippedAttributes = [])
109+
{
110+
$this->markTestSkipped('MAGETWO-56530');
111+
parent::testImportReplace($fixtures, $skus, $skippedAttributes);
112+
}
95113
}

dev/tests/integration/testsuite/Magento/Framework/Session/SaveHandlerTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public function setUp()
2929
*/
3030
public function testSetSaveHandler($deploymentConfigHandler, $iniHandler)
3131
{
32+
$this->markTestSkipped('MAGETWO-56529');
3233
// Set expected session.save_handler config
3334
if ($deploymentConfigHandler) {
3435
if ($deploymentConfigHandler !== 'files') {

dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ protected function tearDown()
3838

3939
/**
4040
* @magentoDataFixture Magento/Newsletter/_files/newsletter_sample.php
41-
* @magentoAppIsolation disabled
4241
*/
4342
public function testSaveActionQueueTemplateAndVerifySuccessMessage()
4443
{

0 commit comments

Comments
 (0)