Ejemplo n.º 1
0
 def test_svg_by_url_link(self):
     """Select element by urls in styles"""
     doc = svg_file(self.data_file('svg', 'markers.svg'))
     elem = doc.getElementsByStyleUrl('Arrow1Lend')[0]
     self.assertEqual(elem.get_id(), 'dimension')
     elem = doc.getElementsByStyleUrl('Arrow1Lstart')[0]
     self.assertEqual(elem.get_id(), 'dimension')
     self.assertEqual(doc.getElementsByStyleUrl('not-an-id'), [])
Ejemplo n.º 2
0
 def test_svg_by_class(self):
     """Select elements by class"""
     doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
     elems = doc.getElementsByClass('frog')
     self.assertEqual([elem.get_id() for elem in elems],
                      ['path3902', 'text3926', 'path3900', 'rect3898'])
     elems = doc.getElementsByClass('apple')
     self.assertEqual([elem.get_id() for elem in elems], ['text3926', 'rect3898'])
Ejemplo n.º 3
0
 def test_creation(self):
     """Stylesheet is created when needed"""
     self.svg = svg_file(self.data_file('svg', 'empty.svg'))
     self.assertEqual(len(self.svg.stylesheets), 0)
     self.assertEqual(len(self.svg.stylesheet), 0)
     self.assertEqual(len(self.svg.stylesheets), 1)
     self.svg.stylesheet.append('.cls1 { fill: blue; }')
     self.assertIn(b'style><![CDATA[\n.cls1 {\n  fill:blue;\n}\n]]><',
                   self.svg.tostring())
Ejemplo n.º 4
0
 def test_svg_by_href(self):
     """Select element by xlink href"""
     doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
     elem = doc.getElementsByHref('path3900')[0]
     self.assertEqual(elem.TAG, 'textPath')
     self.assertEqual(elem.get_id(), 'textPath3923')
     elem = doc.getElementsByHref('path3904')[0]
     self.assertEqual(elem.TAG, 'textPath')
     self.assertEqual(elem.get_id(), 'textPath3906')
     self.assertEqual(doc.getElementsByHref('not-an-id'), [])
Ejemplo n.º 5
0
    def test_create_guide(self):
        """Test creating guides"""
        doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
        namedview = doc.namedview
        self.assertEqual(len(namedview.get_guides()), 0)

        namedview.add(Guide().move_to(50, 50, 45))
        self.assertEqual(len(namedview.get_guides()), 1)
        guide, = namedview.get_guides()
        self.assertEqual(guide.get('position'), '50,50')
        self.assertEqual(guide.get('orientation'), '0.707107,-0.707107')
Ejemplo n.º 6
0
    def test_selected_bbox(self):
        """Can we get a bounding box from the selected items"""
        doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
        doc.selected.set('path3904', 'path3902')
        from inkex.transforms import BoundingBox
        x, y, w, h = 199.544, 156.412, 377.489, 199.972  # from inkscape --query-all
        expected_3904 = BoundingBox((x, x + w), (y, y + h))
        x, y, w, h = 145.358, 478.373, 439.135, 419.142  # from inkscape --query-all
        expected_3902 = BoundingBox((x, x + w), (y, y + h))
        expected = list(expected_3902 + expected_3904)

        for x, y in zip(expected, doc.selection.bounding_box()):
            self.assertDeepAlmostEqual(tuple(x), tuple(y), delta=1e-3)
Ejemplo n.º 7
0
 def setUp(self):
     super().setUp()
     self.svg = svg_file(self.data_file('svg', self.source_file))
Ejemplo n.º 8
0
 def setUp(self):
     self.svg = svg_file(self.data_file('svg', 'css.svg'))
     self.elem = self.svg.getElementById('rect2')
Ejemplo n.º 9
0
 def setUp(self):
     super(StyleSheetTest, self).setUp()
     self.svg = svg_file(self.data_file('svg', 'css.svg'))
     self.css = self.svg.stylesheet
Ejemplo n.º 10
0
 def test_defs(self):
     """Can get the defs from an svg file"""
     doc = svg_file(self.data_file('svg', 'markers.svg'))
     self.assertEqual(len(doc.defs), 2)
     doc = svg('id="empty"')
     self.assertEqual(len(doc.defs), 0)
Ejemplo n.º 11
0
 def test_svg_center_position(self):
     """SVG with namedview has a center position"""
     doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
     self.assertTrue(doc.namedview.center.is_close((30.714286, 520.0)))
     self.assertTrue(svg().namedview.center.is_close(Vector2d()))
Ejemplo n.º 12
0
 def test_svg_layers(self):
     """Selected layer is selected"""
     doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
     self.assertEqual(doc.get_current_layer().get('id'), 'layer3')
     doc = svg('id="empty"')
     self.assertEqual(doc.get_current_layer(), doc)
Ejemplo n.º 13
0
 def test_svg_name(self):
     """Can get the sodipodi name attribute"""
     doc = svg_file(self.data_file('svg', 'multilayered-test.svg'))
     self.assertEqual(doc.name, 'Nouveau document 1')