Source code for openpyxl.comments.tests.test_comment_reader

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

from openpyxl.reader.excel import load_workbook
from openpyxl.xml.functions import fromstring
from openpyxl.workbook import Workbook

from ..comments import Comment

import pytest


[docs]def test_read_comments(datadir): datadir.chdir() from .. comment_sheet import CommentSheet with open("comments2.xml") as src: node = fromstring(src.read()) sheet = CommentSheet.from_tree(node) comments = list(sheet.comments) assert comments == [ ('A1', Comment('Cuke:\nFirst Comment', 'Cuke')), ('D1', Comment('Cuke:\nSecond Comment', 'Cuke')), ('A2', Comment('Not Cuke:\nThird Comment', 'Not Cuke')) ]
[docs]def test_comments_cell_association(datadir): datadir.chdir() wb = load_workbook('comments.xlsx') assert wb['Sheet1']["A1"].comment.author == "Cuke" assert wb['Sheet1']["A1"].comment.text == "Cuke:\nFirst Comment" assert wb['Sheet2']["A1"].comment is None assert wb['Sheet1']["D1"].comment.text == "Cuke:\nSecond Comment"
[docs]def test_comments_with_iterators(datadir): datadir.chdir() wb = load_workbook('comments.xlsx', read_only=True) ws = wb['Sheet1'] with pytest.raises(AttributeError): assert ws.cell(coordinate="A1").comment.author == "Cuke"