summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/SwiftenDevelopersGuide/documentation.css52
-rw-r--r--Swiften/Parser/PayloadParsers/PriorityParser.cpp8
-rw-r--r--Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp15
3 files changed, 44 insertions, 31 deletions
diff --git a/Documentation/SwiftenDevelopersGuide/documentation.css b/Documentation/SwiftenDevelopersGuide/documentation.css
index 937a6ac..5b93a3e 100644
--- a/Documentation/SwiftenDevelopersGuide/documentation.css
+++ b/Documentation/SwiftenDevelopersGuide/documentation.css
@@ -1,30 +1,30 @@
-html{
- font-family: "Lucida Grande", "Segoe UI", sans-serif;
- color: #111;
- background: #EEE;
- font-size: 62.5%;
-}
-
-body{
- width: 640px;
- float: left;
- margin: 20px;
+html{
+ font-family: "Lucida Grande", "Segoe UI", sans-serif;
+ color: #111;
+ background: #EEE;
+ font-size: 62.5%;
+}
+
+body{
+ width: 640px;
+ float: left;
+ margin: 20px;
padding: 10px 30px;
- font-size: 1.3em;
- line-height: 1.5em;
-}
-
-a{
- color: #669;
-}
-
-a:visited{
- color: #444;
-}
-
-a:hover{
- color: #000;
-}
+ font-size: 1.3em;
+ line-height: 1.5em;
+}
+
+a{
+ color: #669;
+}
+
+a:visited{
+ color: #444;
+}
+
+a:hover{
+ color: #000;
+}
pre {
background: #EEE;
diff --git a/Swiften/Parser/PayloadParsers/PriorityParser.cpp b/Swiften/Parser/PayloadParsers/PriorityParser.cpp
index 7bf81bf..8872977 100644
--- a/Swiften/Parser/PayloadParsers/PriorityParser.cpp
+++ b/Swiften/Parser/PayloadParsers/PriorityParser.cpp
@@ -20,7 +20,13 @@ void PriorityParser::handleStartElement(const String&, const String&, const Attr
void PriorityParser::handleEndElement(const String&, const String&) {
--level_;
if (level_ == 0) {
- getPayloadInternal()->setPriority(boost::lexical_cast<int>(text_));
+ int priority = 0;
+ try {
+ priority = boost::lexical_cast<int>(text_);
+ }
+ catch (boost::bad_lexical_cast& e) {
+ }
+ getPayloadInternal()->setPriority(priority);
}
}
diff --git a/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp b/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
index 7c18762..b340739 100644
--- a/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
+++ b/Swiften/Parser/PayloadParsers/UnitTest/PriorityParserTest.cpp
@@ -12,15 +12,13 @@
using namespace Swift;
-class PriorityParserTest : public CppUnit::TestFixture
-{
+class PriorityParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(PriorityParserTest);
CPPUNIT_TEST(testParse);
+ CPPUNIT_TEST(testParse_Invalid);
CPPUNIT_TEST_SUITE_END();
public:
- PriorityParserTest() {}
-
void testParse() {
PayloadsParserTester parser;
@@ -29,6 +27,15 @@ class PriorityParserTest : public CppUnit::TestFixture
Priority* payload = dynamic_cast<Priority*>(parser.getPayload().get());
CPPUNIT_ASSERT_EQUAL(-120, payload->getPriority());
}
+
+ void testParse_Invalid() {
+ PayloadsParserTester parser;
+
+ CPPUNIT_ASSERT(parser.parse("<priority>invalid</priority>"));
+
+ Priority* payload = dynamic_cast<Priority*>(parser.getPayload().get());
+ CPPUNIT_ASSERT_EQUAL(0, payload->getPriority());
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(PriorityParserTest);