standalone = true; $def1->attr = array ( 0 => array ( 'old-include' ), 'old-attr' => $old, 'overloaded-attr' => $overloaded_old, 'removed-attr' => $removed ); /* * $def1->attr_transform_pre = * $def1->attr_transform_post = array( * 'old-transform' => $old, * 'overloaded-transform' => $overloaded_old, * 'removed-transform' => $removed, * ); */ $def1->attr_transform_pre [] = $old; $def1->attr_transform_post [] = $old; $def1->child = $overloaded_old; $def1->content_model = 'old'; $def1->content_model_type = $overloaded_old; $def1->descendants_are_inline = false; $def1->excludes = array ( 'old' => true, 'removed-old' => true ); $def2->standalone = false; $def2->attr = array ( 0 => array ( 'new-include' ), 'new-attr' => $new, 'overloaded-attr' => $overloaded_new, 'removed-attr' => false ); /* * $def2->attr_transform_pre = * $def2->attr_transform_post = array( * 'new-transform' => $new, * 'overloaded-transform' => $overloaded_new, * 'removed-transform' => false, * ); */ $def2->attr_transform_pre [] = $new; $def2->attr_transform_post [] = $new; $def2->child = $new; $def2->content_model = '#SUPER | new'; $def2->content_model_type = $overloaded_new; $def2->descendants_are_inline = true; $def2->excludes = array ( 'new' => true, 'removed-old' => false ); $def1->mergeIn ( $def2 ); $def1->mergeIn ( $def3 ); // empty, has no effect $this->assertIdentical ( $def1->standalone, true ); $this->assertIdentical ( $def1->attr, array ( 0 => array ( 'old-include', 'new-include' ), 'old-attr' => $old, 'overloaded-attr' => $overloaded_new, 'new-attr' => $new ) ); $this->assertIdentical ( $def1->attr_transform_pre, $def1->attr_transform_post ); $this->assertIdentical ( $def1->attr_transform_pre, array ( $old, $new ) ); /* * $this->assertIdentical($def1->attr_transform_pre, array( * 'old-transform' => $old, * 'overloaded-transform' => $overloaded_new, * 'new-transform' => $new, * )); */ $this->assertIdentical ( $def1->child, $new ); $this->assertIdentical ( $def1->content_model, 'old | new' ); $this->assertIdentical ( $def1->content_model_type, $overloaded_new ); $this->assertIdentical ( $def1->descendants_are_inline, true ); $this->assertIdentical ( $def1->excludes, array ( 'old' => true, 'new' => true ) ); } } // vim: et sw=4 sts=4