Exemplo n.º 1
0
Arquivo: tag.py Projeto: mirecheck/pcs
def add_obj_ref(
    tag_element: _Element,
    obj_ref_el_list: Iterable[_Element],
    adjacent_element: Optional[_Element],
    put_after_adjacent: bool = False,
) -> None:
    """
    Add or move obj_ref elements in given tag element.

    tag_element -- the tag element to be updated with obj_ref elements
    obj_ref_el_list -- elements to be added or moved in the updated tag
    adjacent_element -- the element next to which the obj_ref elements will be
        put
    put_after_adjacent -- put elements after (True) or before (False) the
        adjacent element
    """
    if adjacent_element is not None:
        move_elements(
            obj_ref_el_list,
            adjacent_element,
            put_after_adjacent=put_after_adjacent,
        )
    else:
        for obj_ref in obj_ref_el_list:
            tag_element.append(obj_ref)
Exemplo n.º 2
0
 def test_move_inside_before(self):
     lib.move_elements([self.third, self.second], self.first)
     assert_xml_equal(
         """
         <root>
             <third/>
             <second/>
             <first/>
         </root>
         """,
         etree_to_str(self.root),
     )
Exemplo n.º 3
0
 def test_move_combined_before(self):
     lib.move_elements([self.third, self.new2], self.first)
     assert_xml_equal(
         """
         <root>
             <third/>
             <new2/>
             <first/>
             <second/>
         </root>
         """,
         etree_to_str(self.root),
     )
Exemplo n.º 4
0
 def test_move_into_after(self):
     lib.move_elements([self.new1], self.second, put_after_adjacent=True)
     assert_xml_equal(
         """
         <root>
             <first/>
             <second/>
             <new1>
                 <new2/>
             </new1>
             <third/>
         </root>
         """,
         etree_to_str(self.root),
     )
Exemplo n.º 5
0
 def test_move_inside_after(self):
     lib.move_elements(
         [self.third, self.first],
         self.second,
         put_after_adjacent=True,
     )
     assert_xml_equal(
         """
         <root>
             <second/>
             <third/>
             <first/>
         </root>
         """,
         etree_to_str(self.root),
     )