summaryrefslogtreecommitdiff
path: root/starmath/qa/cppunit/test_starmath.cxx
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2010-11-10 21:20:30 +0000
committerCaolán McNamara <caolanm@redhat.com>2010-11-10 21:20:30 +0000
commitd950ae6aa6a8b4e5a497a3acd7021edf9b6f1f35 (patch)
tree16ce332e927dd5420758c7fe73f23a35fa94f82c /starmath/qa/cppunit/test_starmath.cxx
parent2d8f58a1db3547d3bf2c1b1803e71c1103b5e080 (diff)
add a tmEditFailure test, better than the automation one
Diffstat (limited to 'starmath/qa/cppunit/test_starmath.cxx')
-rw-r--r--starmath/qa/cppunit/test_starmath.cxx33
1 files changed, 30 insertions, 3 deletions
diff --git a/starmath/qa/cppunit/test_starmath.cxx b/starmath/qa/cppunit/test_starmath.cxx
index 9677b684a1e9..aa2698e7e903 100644
--- a/starmath/qa/cppunit/test_starmath.cxx
+++ b/starmath/qa/cppunit/test_starmath.cxx
@@ -44,6 +44,7 @@ public:
// tests
void createDocument();
void tmEditUndoRedo(SmDocShellRef &rDocShRef);
+ void tmEditFailure(SmDocShellRef &rDocShRef);
CPPUNIT_TEST_SUITE(Test);
CPPUNIT_TEST(createDocument);
@@ -75,6 +76,31 @@ void Test::tearDown()
uno::Reference< lang::XComponent >(m_context, uno::UNO_QUERY_THROW)->dispose();
}
+void Test::tmEditFailure(SmDocShellRef &rDocShRef)
+{
+ rDocShRef->SetText(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("color a b over {a/}")));
+
+ const SmErrorDesc *pErrorDesc = rDocShRef->GetParser().NextError();
+
+ CPPUNIT_ASSERT_MESSAGE("Should be a PE_UNEXPECTED_CHAR",
+ pErrorDesc && pErrorDesc->Type == PE_UNEXPECTED_CHAR);
+
+ pErrorDesc = rDocShRef->GetParser().PrevError();
+
+ CPPUNIT_ASSERT_MESSAGE("Should be a PE_RGROUP_EXPECTED",
+ pErrorDesc && pErrorDesc->Type == PE_RGROUP_EXPECTED);
+
+ pErrorDesc = rDocShRef->GetParser().PrevError();
+
+ CPPUNIT_ASSERT_MESSAGE("Should be a PE_COLOR_EXPECTED",
+ pErrorDesc && pErrorDesc->Type == PE_COLOR_EXPECTED);
+
+ const SmErrorDesc *pLastErrorDesc = rDocShRef->GetParser().PrevError();
+
+ CPPUNIT_ASSERT_MESSAGE("Should be three syntax errors",
+ pLastErrorDesc && pLastErrorDesc == pErrorDesc);
+}
+
void Test::tmEditUndoRedo(SmDocShellRef &rDocShRef)
{
EditEngine &rEditEngine = rDocShRef->GetEditEngine();
@@ -84,7 +110,7 @@ void Test::tmEditUndoRedo(SmDocShellRef &rDocShRef)
rEditEngine.SetText(0, sStringOne);
rDocShRef->UpdateText();
rtl::OUString sFinalText = rDocShRef->GetText();
- CPPUNIT_ASSERT_MESSAGE("Strings must match", sStringOne== sFinalText);
+ CPPUNIT_ASSERT_MESSAGE("Strings must match", sStringOne == sFinalText);
}
rtl::OUString sStringTwo(RTL_CONSTASCII_USTRINGPARAM("a over b"));
@@ -102,7 +128,7 @@ void Test::tmEditUndoRedo(SmDocShellRef &rDocShRef)
rtl::OUString sFoo = rEditEngine.GetText();
rDocShRef->UpdateText();
rtl::OUString sFinalText = rDocShRef->GetText();
- CPPUNIT_ASSERT_MESSAGE("Strings much match", sStringOne== sFinalText);
+ CPPUNIT_ASSERT_MESSAGE("Strings much match", sStringOne == sFinalText);
}
{
@@ -119,7 +145,7 @@ void Test::tmEditUndoRedo(SmDocShellRef &rDocShRef)
rtl::OUString sFoo = rEditEngine.GetText();
rDocShRef->UpdateText();
rtl::OUString sFinalText = rDocShRef->GetText();
- CPPUNIT_ASSERT_MESSAGE("Strings much match", sStringOne== sFinalText);
+ CPPUNIT_ASSERT_MESSAGE("Strings much match", sStringOne == sFinalText);
}
}
@@ -133,6 +159,7 @@ void Test::createDocument()
rEditEngine.SetActiveView(&aEditView);
tmEditUndoRedo(xDocShRef);
+ tmEditFailure(xDocShRef);
xDocShRef.Clear();
}