summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2020-01-09 11:34:11 +0100
committerTomaž Vajngerl <quikee@gmail.com>2020-01-09 17:05:25 +0100
commit912cd707b5128c5ef9d365d8179cf2b65aeaaa1d (patch)
tree6178a0e9b25876d38a97204408c4aad1d93941b5 /sw
parent08886d9d01eb5d3356290ba6d8eeca899cde45cc (diff)
tdf#45636: test for no-alt and table split/merge access. check
Change-Id: I6474b5e0db90143efa1ea066142961c2fe250ae6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86492 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx20
-rw-r--r--sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odtbin0 -> 20915 bytes
-rw-r--r--sw/source/core/access/AccessibilityCheck.cxx11
3 files changed, 26 insertions, 5 deletions
diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 7360ccd1d862..61902aabc459 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -23,7 +23,7 @@ public:
}
};
-CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheck)
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckDocumentIssues)
{
SwDoc* pDoc = createDoc("DocumentTest.odt");
CPPUNIT_ASSERT(pDoc);
@@ -35,6 +35,24 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheck)
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, aIssues[1]->m_eIssueID);
}
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testTableSplitMergeAndAltText)
+{
+ SwDoc* pDoc = createDoc("AccessibilityTests1.odt");
+ CPPUNIT_ASSERT(pDoc);
+ sw::AccessibilityCheck aCheck(pDoc);
+ aCheck.check();
+ auto& aIssues = aCheck.getIssueCollecton().getIssues();
+ CPPUNIT_ASSERT_EQUAL(size_t(7), aIssues.size());
+
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_GRAPHIC, aIssues[0]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_OLE, aIssues[1]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[2]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[3]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[4]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[5]->m_eIssueID);
+ CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, aIssues[6]->m_eIssueID);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt
new file mode 100644
index 000000000000..2e319f58e7a2
--- /dev/null
+++ b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt
Binary files differ
diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx
index 06a90e98ac4c..aaeacae84bac 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -83,16 +83,18 @@ class NoTextNodeAltTextCheck : public NodeCheck
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
- auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText);
-
if (pNoTextNode->IsOLENode())
{
+ auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
+ sfx::AccessibilityIssueID::NO_ALT_OLE);
pIssue->setDoc(pNoTextNode->GetDoc());
pIssue->setIssueObject(IssueObject::OLE);
pIssue->setObjectID(pNoTextNode->GetFlyFormat()->GetName());
}
else if (pNoTextNode->IsGrfNode())
{
+ auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
+ sfx::AccessibilityIssueID::NO_ALT_GRAPHIC);
pIssue->setDoc(pNoTextNode->GetDoc());
pIssue->setIssueObject(IssueObject::GRAPHIC);
pIssue->setObjectID(pNoTextNode->GetFlyFormat()->GetName());
@@ -126,7 +128,8 @@ private:
const SwTableFormat* pFormat = rTable.GetFrameFormat();
OUString sName = pFormat->GetName();
OUString sIssueText = SwResId(STR_TABLE_MERGE_SPLIT).replaceAll("%OBJECT_NAME%", sName);
- auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText);
+ auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
+ sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT);
pIssue->setDoc(pDoc);
pIssue->setIssueObject(IssueObject::TABLE);
pIssue->setObjectID(sName);
@@ -617,7 +620,7 @@ void AccessibilityCheck::checkObject(SdrObject* pObject)
{
OUString sName = pObject->GetName();
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
- lclAddIssue(m_aIssueCollection, sIssueText);
+ lclAddIssue(m_aIssueCollection, sIssueText, sfx::AccessibilityIssueID::NO_ALT_SHAPE);
}
}
}