loadArray() public method

Loads a series of variables from an associative array
public loadArray ( array $context_array )
$context_array array Assoc array of variables to load
Ejemplo n.º 1
0
 /**
  * Asserts that a transformation happens
  *
  * This assertion performs several tests on the transform:
  *
  * -# Transforms a start tag with only $name and no attributes
  * -# Transforms a start tag with $name and $attributes
  * -# Transform an end tag
  * -# Transform an empty tag with only $name and no attributes
  * -# Transform an empty tag with $name and $attributes
  *
  * In its current form, it assumes that start and empty tags would be
  * treated the same, and is really ensuring that the tag transform doesn't
  * do anything wonky to the tag type.
  *
  * @param $transformer      HTMLPurifier_TagTransform class to test
  * @param $name             Name of the original tag
  * @param $attributes       Attributes of the original tag
  * @param $expect_name      Name of output tag
  * @param $expect_attributes Attributes of output tag when $attributes
  *                          is included.
  * @param $expect_added_attributes Attributes of output tag when $attributes
  *                          are omitted.
  * @param $config_array     Configuration array for HTMLPurifier_Config
  * @param $context_array    Context array for HTMLPurifier_Context
  */
 protected function assertTransformation($transformer, $name, $attributes, $expect_name, $expect_attributes, $expect_added_attributes = array(), $config_array = array(), $context_array = array())
 {
     $config = HTMLPurifier_Config::createDefault();
     $config->loadArray($config_array);
     $context = new HTMLPurifier_Context();
     $context->loadArray($context_array);
     // start tag transform
     $this->assertIdentical(new HTMLPurifier_Token_Start($expect_name, $expect_added_attributes), $transformer->transform(new HTMLPurifier_Token_Start($name), $config, $context));
     // start tag transform with attributes
     $this->assertIdentical(new HTMLPurifier_Token_Start($expect_name, $expect_attributes), $transformer->transform(new HTMLPurifier_Token_Start($name, $attributes), $config, $context));
     // end tag transform
     $this->assertIdentical(new HTMLPurifier_Token_End($expect_name), $transformer->transform(new HTMLPurifier_Token_End($name), $config, $context));
     // empty tag transform
     $this->assertIdentical(new HTMLPurifier_Token_Empty($expect_name, $expect_added_attributes), $transformer->transform(new HTMLPurifier_Token_Empty($name), $config, $context));
     // empty tag transform with attributes
     $this->assertIdentical(new HTMLPurifier_Token_Empty($expect_name, $expect_attributes), $transformer->transform(new HTMLPurifier_Token_Empty($name, $attributes), $config, $context));
 }
Ejemplo n.º 2
0
 public function test_loadArray()
 {
     // references can be *really* wonky!
     $context_manual = new HTMLPurifier_Context();
     $context_load = new HTMLPurifier_Context();
     $var1 = 1;
     $var2 = 2;
     $context_manual->register('var1', $var1);
     $context_manual->register('var2', $var2);
     // you MUST set up the references when constructing the array,
     // otherwise the registered version will be a copy
     $array = array('var1' => &$var1, 'var2' => &$var2);
     $context_load->loadArray($array);
     $this->assertIdentical($context_manual, $context_load);
     $var1 = 10;
     $var2 = 20;
     $this->assertIdentical($context_manual, $context_load);
 }