Example #1
0
 /**
  * @covers \Weasel\JsonMarshaller\Config\Annotations\JsonSubTypes\Type
  */
 public function testCreate()
 {
     $test = new Type("testValue", "testName");
     $this->assertEquals("testValue", $test->getValue());
     $this->assertEquals("testName", $test->getName());
 }
Example #2
0
 /**
  * Writes all data of the defined Value to the XmlWriter.
  *
  * You can write it in 3 different ways:
  *
  * - <$name type="..." value="..." />
  *   Is created if $short is boolean TRUE.
  *
  * If $short is FALSE you can write in the following 2 ways:
  *
  * - <$name type="...">$value</$name>
  *   Is created if $separateElements is boolean FALSE.
  * - <$name><Type>...</Type><Value>$value</Value></$name>
  *   Is created if $separateElements is boolean TRUE.
  *
  * @param \XMLWriter $w                The XmlWriter to use.
  * @param mixed      $value            The value to write.
  * @param string     $name             The name of the element to write
  * @param boolean    $short            Use the short notation? (type and value as attributes)
  * @param boolean    $separateElements Write type and value in separate elements, if $short is FALSE
  */
 public static function WriteTypedXmlValue(\XMLWriter $w, $value, string $name, bool $short = true, bool $separateElements = false)
 {
     if (!$value instanceof Type) {
         $value = new Type($value);
     }
     $v = null;
     $t = null;
     switch ($value->getType()) {
         case Type::PHP_ARRAY:
             $v = \serialize($value->getValue());
             $t = Type::PHP_ARRAY;
             break;
         case Type::PHP_BOOLEAN:
             $v = $value->getValue() ? 'true' : 'false';
             $t = Type::PHP_BOOLEAN;
             break;
         case Type::PHP_DOUBLE:
         case Type::PHP_FLOAT:
         case Type::PHP_INTEGER:
             $v = $value->getValue();
             $t = $value->getType();
             break;
         case Type::PHP_NULL:
             $v = '';
             $t = Type::PHP_NULL;
             break;
         case Type::PHP_RESOURCE:
             # Ignore some resources
             break;
         case Type::PHP_STRING:
             $v = $value->getValue();
             $t = Type::PHP_STRING;
             break;
         case Type::PHP_UNKNOWN:
             $v = $value->getStringValue();
             $t = Type::PHP_STRING;
             break;
         default:
             $v = \serialize($value->getValue());
             $t = $value->getType();
             break;
     }
     if (!\is_null($t) && !\is_null($v)) {
         $w->startElement($name);
         if ($short) {
             $w->writeAttribute('type', $t);
             $w->writeAttribute('value', $v);
         } else {
             if ($separateElements) {
                 $w->writeElement('type', $t);
                 $w->writeElement('value', $v);
             } else {
                 $w->writeAttribute('type', $t);
                 $w->text($v);
             }
         }
         $w->endElement();
     }
 }
Example #3
0
 public function testSetValue()
 {
     $newValue = 'NewValue';
     $this->parameter->setValue($newValue);
     $this->assertSame($newValue, $this->parameter->getValue());
 }