OSDN Git Service

impl FavoriteBoards::toXML()
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 15 Feb 2004 10:50:31 +0000 (10:50 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sun, 15 Feb 2004 10:50:31 +0000 (10:50 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@870 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/favoriteboards.cpp
kita/src/libkita/favoriteboards.h
kita/src/libkita/tests/favoriteboardstest.cpp
kita/src/libkita/tests/favoriteboardstest.h

index 63d95c4..c845650 100644 (file)
@@ -90,3 +90,32 @@ void FavoriteBoards::processChildNode( QDomNode& node )
         FavoriteBoards::append( url );
     }
 }
+
+QString FavoriteBoards::toXML()
+{
+    QDomDocument document;
+    
+    QDomProcessingInstruction pi = document.createProcessingInstruction( "xml", "version=\"1.0\"" );
+    document.appendChild( pi );
+    
+    QDomElement root = document.createElementNS( "http://kita.sourceforge.jp/ns/boardlist", "boardlist" );
+    document.appendChild( root );
+    
+    QValueList<KURL> boards = FavoriteBoards::boards();
+    QValueList<KURL>::iterator it;
+    for( it = boards.begin(); it != boards.end(); ++it ) {
+        QDomElement board = document.createElementNS( "http://kita.sourceforge.jp/ns/board", "board" );
+        root.appendChild( board );
+        
+        QString boardURL = (*it).url();
+        QDomElement urlElement = document.createElement( "url" );
+        board.appendChild( urlElement );
+        urlElement.appendChild( document.createTextNode( boardURL ) );
+    
+        QString boardName = Kita::Board::getByURL( boardURL )->name();
+        QDomElement nameElement = document.createElement( "name" );
+        board.appendChild( nameElement );
+        nameElement.appendChild( document.createTextNode( boardName ) );
+    }
+    return document.toString( 0 );
+}
index fa59805..1fe1bed 100644 (file)
@@ -33,6 +33,7 @@ namespace Kita
         static void remove( KURL& url );
         static const QValueList<KURL>& boards();
         static bool readFromXML( QString& xml );
+        static QString toXML();
     };
 };
 
index d882fba..10c5f7d 100644 (file)
@@ -16,11 +16,11 @@ void FavoriteBoardsTest::setUp()
             "<boardlist xmlns=\"http://kita.sourceforge.jp/ns/boardlist\">\n"
             "<board xmlns=\"http://kita.sourceforge.jp/ns/board\">\n"
             "<url>http://pc.2ch.net/linux/</url>\n"
-            "<name>Linux</name>"
+            "<name>Linux</name>\n"
             "</board>\n"
             "<board xmlns=\"http://kita.sourceforge.jp/ns/board\">\n"
             "<url>http://pc.2ch.net/unix/</url>\n"
-            "<name>Unix</name>"
+            "<name>Unix</name>\n"
             "</board>\n"
             "</boardlist>\n";
 
@@ -45,5 +45,10 @@ void FavoriteBoardsTest::testBoards()
     CPPUNIT_ASSERT_EQUAL( QString( "Unix" ), boardName2 );
 }
 
+void FavoriteBoardsTest::testToXML()
+{
+    CPPUNIT_ASSERT_EQUAL( m_xml, Kita::FavoriteBoards::toXML() );
+}
+
 void FavoriteBoardsTest::tearDown()
 {}
index 0c099d3..36b9994 100644 (file)
@@ -20,6 +20,7 @@ class FavoriteBoardsTest : public CppUnit::TestFixture
 {
     CPPUNIT_TEST_SUITE( FavoriteBoardsTest );
     CPPUNIT_TEST( testBoards );
+    CPPUNIT_TEST( testToXML );
     CPPUNIT_TEST_SUITE_END();
 
     QString m_xml;
@@ -27,6 +28,7 @@ public:
     void setUp();
     void tearDown();
     void testBoards();
+    void testToXML();
 };
 
 #endif