/**
  * @dataProvider settingProvider
  */
 public function testSetSetting(array $settings)
 {
     $settings = new SettingsArray($settings);
     foreach ($settings as $settingName => $settingValue) {
         $settings->setSetting($settingName, $settingValue);
         $this->assertEquals($settingValue, $settings->getSetting($settingName));
     }
     foreach ($settings as $settingName => $settingValue) {
         $settings->setSetting($settingName, $settingValue);
         $this->assertEquals($settingValue, $settings->getSetting($settingName));
     }
     if ($settings->count() === 0) {
         $this->assertTrue(true);
     }
 }
 /**
  * @param mixed[] $settings
  *
  * @return SettingsArray
  */
 private function newSettingsArray(array $settings)
 {
     $settingsArray = new SettingsArray();
     foreach ($settings as $setting => $value) {
         $settingsArray->setSetting($setting, $value);
     }
     return $settingsArray;
 }
 /**
  * @dataProvider settingsProvider
  */
 public function testDefaults(array $settings, array $wg, $repoIsLocal, $expected)
 {
     $this->setMwGlobals($wg);
     $defaults = (include WBC_DIR . '/config/WikibaseClient.default.php');
     $settings = array_merge($defaults, $settings);
     $settings = new SettingsArray($settings);
     //NOTE: thisWikiIsTheRepo us used by some "magic" (dynamic) defaults
     //      to decide how to behave. Normally, this is true if and only if
     //      WB_VERSION is defined.
     $settings->setSetting('thisWikiIsTheRepo', $repoIsLocal);
     foreach ($expected as $key => $exp) {
         $actual = $settings->getSetting($key);
         $this->assertSame($exp, $actual, "Setting {$key}");
     }
 }
 public function testExportTransform_neverRecodeNonLegacyFormat()
 {
     $settings = new SettingsArray();
     $settings->setSetting('transformLegacyFormatOnExport', true);
     $entity = $this->newEntity();
     $currentSerializer = $this->getWikibaseRepo($settings)->getInternalEntitySerializer();
     $expected = json_encode($currentSerializer->serialize($entity));
     $handler = $this->getHandler($settings);
     $actual = $handler->exportTransform($expected);
     $this->assertEquals($expected, $actual);
 }