示例#1
0
    def but_it_raises_on_attempt_to_remove_slide_layout_in_use(
            self, slide_layout_, slide_):
        slide_layout_.used_by_slides = (slide_, )
        slide_layouts = SlideLayouts(None, None)

        with pytest.raises(ValueError):
            slide_layouts.remove(slide_layout_)
示例#2
0
    def but_it_raises_on_slide_layout_not_in_collection(
            self, _iter_, slide_layout_, slide_layout_2_):
        _iter_.return_value = iter((slide_layout_, ))
        slide_layouts = SlideLayouts(None, None)

        with pytest.raises(ValueError) as e:
            slide_layouts.index(slide_layout_2_)
        assert str(e.value) == "layout not in this SlideLayouts collection"
示例#3
0
    def but_it_raises_on_attempt_to_remove_slide_layout_in_use(
        self, slide_layout_, slide_
    ):
        slide_layout_.used_by_slides = (slide_,)
        slide_layouts = SlideLayouts(None, None)

        with pytest.raises(ValueError):
            slide_layouts.remove(slide_layout_)
示例#4
0
    def it_knows_the_index_of_each_of_its_slide_layouts(
            self, _iter_, slide_layout_, slide_layout_2_):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layouts = SlideLayouts(None, None)

        index = slide_layouts.index(slide_layout_2_)

        assert index == 1
示例#5
0
    def it_can_find_a_slide_layout_by_name(self, _iter_, slide_layout_,
                                           slide_layout_2_):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layout_2_.name = "pick me!"
        slide_layouts = SlideLayouts(None, None)

        slide_layout = slide_layouts.get_by_name("pick me!")

        assert slide_layout is slide_layout_2_
示例#6
0
    def but_it_raises_on_slide_layout_not_in_collection(
        self, _iter_, slide_layout_, slide_layout_2_
    ):
        _iter_.return_value = iter((slide_layout_,))
        slide_layouts = SlideLayouts(None, None)

        with pytest.raises(ValueError) as e:
            slide_layouts.index(slide_layout_2_)
        assert str(e.value) == "layout not in this SlideLayouts collection"
示例#7
0
    def it_knows_the_index_of_each_of_its_slide_layouts(
        self, _iter_, slide_layout_, slide_layout_2_
    ):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layouts = SlideLayouts(None, None)

        index = slide_layouts.index(slide_layout_2_)

        assert index == 1
示例#8
0
    def it_can_find_a_slide_layout_by_name(
        self, _iter_, slide_layout_, slide_layout_2_
    ):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layout_2_.name = "pick me!"
        slide_layouts = SlideLayouts(None, None)

        slide_layout = slide_layouts.get_by_name("pick me!")

        assert slide_layout is slide_layout_2_
示例#9
0
    def but_it_returns_the_default_value_when_no_layout_has_that_name(
            self, _iter_, slide_layout_, slide_layout_2_):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layout_2_.name = "not the droid you're looking for"
        slide_layouts = SlideLayouts(None, None)

        # ---default-default is None---
        slide_layout = slide_layouts.get_by_name("pick me!")
        assert slide_layout is None

        # ---but default can be specified---
        slide_layout = slide_layouts.get_by_name("pick me!", "default-value")
        assert slide_layout == "default-value"
示例#10
0
    def but_it_returns_the_default_value_when_no_layout_has_that_name(
        self, _iter_, slide_layout_, slide_layout_2_
    ):
        _iter_.return_value = iter((slide_layout_, slide_layout_2_))
        slide_layout_2_.name = "not the droid you're looking for"
        slide_layouts = SlideLayouts(None, None)

        # ---default-default is None---
        slide_layout = slide_layouts.get_by_name("pick me!")
        assert slide_layout is None

        # ---but default can be specified---
        slide_layout = slide_layouts.get_by_name("pick me!", "default-value")
        assert slide_layout == "default-value"
示例#11
0
    def it_can_remove_an_unused_slide_layout(self, slide_layout_, index_,
                                             slide_master_,
                                             slide_master_part_):
        slide_layout_.used_by_slides = ()
        index_.return_value = 0
        sldLayoutIdLst = element(
            "p:sldLayoutIdLst/(p:sldLayoutId{r:id=rId1},p:sldLayoutId{r:id=rId2})"
        )
        slide_layout_.slide_master = slide_master_
        slide_master_.part = slide_master_part_
        slide_layouts = SlideLayouts(sldLayoutIdLst, None)

        slide_layouts.remove(slide_layout_)

        assert slide_layouts._sldLayoutIdLst.xml == xml(
            "p:sldLayoutIdLst/p:sldLayoutId{r:id=rId2}")
        slide_master_part_.drop_rel.assert_called_once_with("rId1")
示例#12
0
    def it_can_remove_an_unused_slide_layout(
        self, slide_layout_, index_, slide_master_, slide_master_part_
    ):
        slide_layout_.used_by_slides = ()
        index_.return_value = 0
        sldLayoutIdLst = element(
            "p:sldLayoutIdLst/(p:sldLayoutId{r:id=rId1},p:sldLayoutId{r:id=rId2})"
        )
        slide_layout_.slide_master = slide_master_
        slide_master_.part = slide_master_part_
        slide_layouts = SlideLayouts(sldLayoutIdLst, None)

        slide_layouts.remove(slide_layout_)

        assert slide_layouts._sldLayoutIdLst.xml == xml(
            "p:sldLayoutIdLst/p:sldLayoutId{r:id=rId2}"
        )
        slide_master_part_.drop_rel.assert_called_once_with("rId1")
示例#13
0
    def it_supports_indexed_access(self, slide_layout_, part_prop_,
                                   slide_master_part_):
        part_prop_.return_value = slide_master_part_
        slide_master_part_.related_slide_layout.return_value = slide_layout_
        slide_layouts = SlideLayouts(
            element("p:sldLayoutIdLst/p:sldLayoutId{r:id=rId1}"), None)

        slide_layout = slide_layouts[0]

        slide_master_part_.related_slide_layout.assert_called_once_with("rId1")
        assert slide_layout is slide_layout_
示例#14
0
 def iter_fixture(self, part_prop_, part_):
     sldLayoutIdLst = element(
         'p:sldLayoutIdLst/(p:sldLayoutId{r:id=a},p:sldLayoutId{r:id=b})')
     slide_layouts = SlideLayouts(sldLayoutIdLst, None)
     _slide_layouts = [
         SlideLayout(element('p:sldLayout'), None),
         SlideLayout(element('p:sldLayout'), None),
     ]
     related_slide_layout_ = part_.related_slide_layout
     related_slide_layout_.side_effect = _slide_layouts
     calls = [call('a'), call('b')]
     return slide_layouts, related_slide_layout_, calls, _slide_layouts
示例#15
0
    def it_can_iterate_its_slide_layouts(self, part_prop_, slide_master_part_):
        sldLayoutIdLst = element(
            "p:sldLayoutIdLst/(p:sldLayoutId{r:id=a},p:sldLayoutId{r:id=b})")
        _slide_layouts = [
            SlideLayout(element("p:sldLayout"), None),
            SlideLayout(element("p:sldLayout"), None),
        ]
        part_prop_.return_value = slide_master_part_
        related_slide_layout_ = slide_master_part_.related_slide_layout
        related_slide_layout_.side_effect = _slide_layouts
        slide_layouts = SlideLayouts(sldLayoutIdLst, None)

        slide_layout_lst = [sl for sl in slide_layouts]

        assert related_slide_layout_.call_args_list == [call("a"), call("b")]
        assert slide_layout_lst == _slide_layouts
示例#16
0
 def len_fixture(self, request):
     sldLayoutIdLst_cxml, expected_value = request.param
     slide_layouts = SlideLayouts(element(sldLayoutIdLst_cxml), None)
     return slide_layouts, expected_value
示例#17
0
 def getitem_raises_fixture(self, part_prop_):
     return SlideLayouts(
         element('p:sldLayoutIdLst/p:sldLayoutId{r:id=rId1}'), None)
示例#18
0
 def getitem_fixture(self, part_, slide_layout_, part_prop_):
     slide_layouts = SlideLayouts(
         element('p:sldLayoutIdLst/p:sldLayoutId{r:id=rId1}'), None)
     part_.related_slide_layout.return_value = slide_layout_
     return slide_layouts, part_, slide_layout_, 'rId1'
示例#19
0
 def but_it_raises_on_index_out_of_range(self, part_prop_):
     slide_layouts = SlideLayouts(
         element("p:sldLayoutIdLst/p:sldLayoutId{r:id=rId1}"), None)
     with pytest.raises(IndexError):
         slide_layouts[1]