function testModify() { $cal = new Component\VCalendar(); $param = new Parameter($cal, 'name', null); $param->addValue(1); $this->assertEquals(array(1), $param->getParts()); $param->setParts(array(1, 2)); $this->assertEquals(array(1, 2), $param->getParts()); $param->addValue(3); $this->assertEquals(array(1, 2, 3), $param->getParts()); $param->setValue(4); $param->addValue(5); $this->assertEquals(array(4, 5), $param->getParts()); }
/** * @see ParameterManipulation::manipulate * * @since 0.7 */ public function manipulate(Parameter &$parameter, array &$parameters) { global $egMapsOLLayerGroups, $egMapsOLAvailableLayers; $layerDefs = array(); $layerNames = array(); foreach ($parameter->getValue() as $layerOrGroup) { $lcLayerOrGroup = strtolower($layerOrGroup); // Layer groups. Loop over all items and add them when not present yet. if (array_key_exists($lcLayerOrGroup, $egMapsOLLayerGroups)) { foreach ($egMapsOLLayerGroups[$lcLayerOrGroup] as $layerName) { if (!in_array($layerName, $layerNames)) { if (is_array($egMapsOLAvailableLayers[$layerName])) { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName][0]; } else { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName]; } $layerNames[] = $layerName; } } } elseif (array_key_exists($lcLayerOrGroup, $egMapsOLAvailableLayers)) { if (!in_array($lcLayerOrGroup, $layerNames)) { if (is_array($egMapsOLAvailableLayers[$lcLayerOrGroup])) { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup][0]; } else { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup]; } $layerNames[] = $lcLayerOrGroup; } } else { $title = Title::newFromText($layerOrGroup, Maps_NS_LAYER); if ($title->getNamespace() == Maps_NS_LAYER && $title->exists()) { $layerPage = new MapsLayerPage($title); if ($layerPage->hasValidDefinition('openlayers')) { $layer = $layerPage->getLayer(); if (!in_array($layerOrGroup, $layerNames)) { $layerDefs[] = $layer->getJavaScriptDefinition(); $layerNames[] = $layerOrGroup; } } else { wfWarn("Invalid layer ({$layerOrGroup}) encountered after validation."); } } else { wfWarn("Invalid layer ({$layerOrGroup}) encountered after validation."); } } } $parameter->setValue($layerDefs); MapsMappingServices::getServiceInstance('openlayers')->addLayerDependencies($this->getDependencies($layerNames)); }
/** * @see ParameterManipulation::manipulate * * @since 0.4 */ public function manipulate(Parameter &$parameter, array &$parameters) { $parameter->setValue($this->wrapper . implode($this->wrapper . $this->delimiter . $this->wrapper, $parameter->getValue()) . $this->wrapper); }
/** * @covers phpDocumentor\Transformer\Template\Parameter::getValue * @covers phpDocumentor\Transformer\Template\Parameter::setValue */ public function testSetAndGetValue() { $this->assertSame(null, $this->fixture->getValue()); $this->fixture->setValue('value'); $this->assertSame('value', $this->fixture->getValue()); }
/** * * @test */ public function filterInitializationAlsoRespectsCaseInsensitivity() { $parameters = array(); $param = new Parameter(); $param->setName('typo3version'); $param->setValue('1.2.3'); array_push($parameters, $param); $this->filter->setParameters($parameters); $output = $this->filter->read(); $this->assertContains('HTTP.userAgent=TYPO3/1.2.3', $output); }
/** * @see ParameterManipulation::manipulate * * @since 0.7 */ public function manipulate(Parameter &$parameter, array &$parameters) { global $egMapsOLLayerGroups, $egMapsOLAvailableLayers; $layerDefs = array(); $usedLayers = array(); foreach ($parameter->getValue() as $layerOrGroup) { $lcLayerOrGroup = strtolower($layerOrGroup); // Layer groups. Loop over all items and add them if not present yet. if (array_key_exists($lcLayerOrGroup, $egMapsOLLayerGroups)) { foreach ($egMapsOLLayerGroups[$lcLayerOrGroup] as $layerName) { if (!in_array($layerName, $usedLayers)) { if (is_array($egMapsOLAvailableLayers[$layerName])) { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName][0]; } else { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$layerName]; } $usedLayers[] = $layerName; } } } elseif (array_key_exists($lcLayerOrGroup, $egMapsOLAvailableLayers)) { if (!in_array($lcLayerOrGroup, $usedLayers)) { if (is_array($egMapsOLAvailableLayers[$lcLayerOrGroup])) { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup][0]; } else { $layerDefs[] = 'new ' . $egMapsOLAvailableLayers[$lcLayerOrGroup]; } $usedLayers[] = $lcLayerOrGroup; } } else { $layerParts = explode($this->groupNameSep, $layerOrGroup, 2); $layerGroup = $layerParts[0]; $layerName = count($layerParts) > 1 ? $layerParts[1] : null; $title = Title::newFromText($layerGroup, Maps_NS_LAYER); if ($title !== null && $title->getNamespace() == Maps_NS_LAYER) { /** * TODO/FIXME: This shouldn't be here and using $wgParser, instead it should * be somewhere around MapsBaseMap::renderMap. But since we do a lot more than * 'parameter manipulation' in here, we already diminish the information needed * for this which will never arrive there. Perhaps the whole * MapsLayer::getJavaScriptDefinition() shouldn't be done here. */ global $wgParser; // add dependency to the layer page so if the layer definition gets updated, // the page where it is used will be updated as well: $rev = Revision::newFromTitle($title); $wgParser->getOutput()->addTemplate($title, $title->getArticleID(), $rev->getId()); // if the whole layer group is not yet loaded into the map and the group exists: if (!in_array($layerGroup, $usedLayers) && $title->exists()) { $layerPage = new MapsLayerPage($title); if ($layerName !== null) { // load specific layer with name: $layer = MapsLayers::loadLayer($title, $layerName); $layers = new MapsLayerGroup($layer); $usedLayer = $layerOrGroup; } else { // load all layers from group: $layers = MapsLayers::loadLayerGroup($title); $usedLayer = $layerGroup; } foreach ($layers->getLayers() as $layer) { if (($layer->getName() === null || !in_array($layerGroup . $this->groupNameSep . $layer->getName(), $usedLayers)) && $layer->isOk()) { $layerDefs[] = $layer->getJavaScriptDefinition(); } } $usedLayers[] = $usedLayer; // have to add this after loop of course! } } else { wfWarn("Invalid layer ({$layerOrGroup}) encountered after validation."); } } } $parameter->setValue($layerDefs); MapsMappingServices::getServiceInstance('openlayers')->addLayerDependencies($this->getDependencies($usedLayers)); }