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