+
+ $def->setAutowired(false);
+ $this->assertFalse($def->isAutowired());
+ }
+
+ public function testChangesNoChanges()
+ {
+ $def = new Definition();
+
+ $this->assertSame(array(), $def->getChanges());
+ }
+
+ public function testGetChangesWithChanges()
+ {
+ $def = new Definition('stdClass', array('fooarg'));
+
+ $def->setAbstract(true);
+ $def->setAutowired(true);
+ $def->setConfigurator('configuration_func');
+ $def->setDecoratedService(null);
+ $def->setDeprecated(true);
+ $def->setFactory('factory_func');
+ $def->setFile('foo.php');
+ $def->setLazy(true);
+ $def->setPublic(true);
+ $def->setShared(true);
+ $def->setSynthetic(true);
+ // changes aren't tracked for these, class or arguments
+ $def->setInstanceofConditionals(array());
+ $def->addTag('foo_tag');
+ $def->addMethodCall('methodCall');
+ $def->setProperty('fooprop', true);
+ $def->setAutoconfigured(true);
+
+ $this->assertSame(array(
+ 'class' => true,
+ 'autowired' => true,
+ 'configurator' => true,
+ 'decorated_service' => true,
+ 'deprecated' => true,
+ 'factory' => true,
+ 'file' => true,
+ 'lazy' => true,
+ 'public' => true,
+ 'shared' => true,
+ 'autoconfigured' => true,
+ ), $def->getChanges());
+
+ $def->setChanges(array());
+ $this->assertSame(array(), $def->getChanges());