Merge branch '3.6' into 3.7

This commit is contained in:
Robbie Averill 2019-01-29 13:59:56 +02:00
commit 4182d1b60c
2 changed files with 10 additions and 1 deletions

View File

@ -866,7 +866,7 @@ class Injector {
return $this->instantiate($spec, $name);
}
return $this->instantiate($spec);
return $this->instantiate($spec, null, 'prototype');
}
/**

View File

@ -39,6 +39,13 @@ class DataObjectTest extends SapphireTest {
*/
public function testSingleton($inst, $defaultValue, $altDefaultValue)
{
// Calls to scaffold the test database may have cached service specs for DataObjects
// with the incorrect 'type' set (singleton instead of prototype)
Injector::nest();
$reflectionProp = new ReflectionProperty('Injector', 'specs');
$reflectionProp->setAccessible(true);
$reflectionProp->setValue(Injector::inst(), array());
$inst = $inst();
// Test that populateDefaults() isn't called on singletons
// which can lead to SQL errors during build, and endless loops
@ -53,6 +60,8 @@ class DataObjectTest extends SapphireTest {
} else {
$this->assertEmpty($inst->MyFieldWithAltDefault);
}
Injector::unnest();
}
public function provideSingletons()