Source code for openpyxl.styles.tests.test_borders

from __future__ import absolute_import
# Copyright (c) 2010-2017 openpyxl

import pytest

from openpyxl.xml.functions import tostring, fromstring

from openpyxl.tests.helper import compare_xml
from ..colors import Color
from .. import colors


@pytest.fixture
[docs]def Side(): from ..borders import Side return Side
@pytest.fixture
[docs]def Border(): from ..borders import Border return Border
[docs]class TestBorder:
[docs] def test_create(self, Border): src = """ <border xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"> <left style="thin"> <color rgb="FF006600"/> </left> <right style="thin"> <color rgb="FF006600"/> </right> <top style="thin"> <color rgb="FF006600"/> </top> <bottom style="thin"> <color rgb="FF006600"/> </bottom> <diagonal/> </border> """ xml = fromstring(src) bd = Border.from_tree(xml) assert bd.left.style == "thin" assert bd.right.color.value == "FF006600" assert bd.diagonal.style == None
[docs] def test_serialise(self, Border, Side): medium_blue = Side(border_style='medium', color=Color(colors.BLUE)) bd = Border(left=medium_blue, right=medium_blue, top=medium_blue, bottom=medium_blue, outline=False, diagonalDown=True, ) xml = tostring(bd.to_tree()) expected = """ <border diagonalDown="1" outline="0"> <left style="medium"> <color rgb="000000FF"></color> </left> <right style="medium"> <color rgb="000000FF"></color> </right> <top style="medium"> <color rgb="000000FF"></color> </top> <bottom style="medium"> <color rgb="000000FF"></color> </bottom> <diagonal /> </border> """ diff = compare_xml(xml, expected) assert diff is None, diff