OSDN Git Service

support machibbs part 3, datToThread()
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 27 Feb 2004 17:07:38 +0000 (17:07 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 27 Feb 2004 17:07:38 +0000 (17:07 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@897 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/libkita/kita_misc.cpp
kita/src/libkita/tests/urlconverttest.cpp
kita/src/libkita/tests/urlconverttest.h

index 50b8d25..7ff74a9 100644 (file)
@@ -47,8 +47,17 @@ QString Kita::datToThread( const QString& datURL )
     KURL newURL;
     newURL.setProtocol( protocol );
     newURL.setHost( host );
-    newURL.addPath( QString( "/test/read.cgi/%2/%3/" )
-                    .arg( board ).arg( datName ) );
+
+    // FIXME: TOOOOOOOOOOOOOOOOOOOOOO ugly.
+    QRegExp host_machibbs( ".*\\.machi\\.to" );
+    if ( host_machibbs.search( host ) != -1 ) {
+        newURL.addPath( "/bbs/read.pl" );
+        newURL.addQueryItem( "BBS", board );
+        newURL.addQueryItem( "KEY", datName );
+    } else {
+        newURL.addPath( QString( "/test/read.cgi/%2/%3/" )
+                        .arg( board ).arg( datName ) );
+    }
 
     return newURL.url();
 }
index ddae541..7bb45cd 100644 (file)
@@ -25,6 +25,11 @@ void URLConvertTest::setUp()
     m_boardURL2 = "http://pc.2ch.net/linux";
     m_boardURL2_k2ch = "k2ch://pc.2ch.net/linux";
 
+    // FIXME: invalid dat url.
+    m_machibbsDatURL = "http://kanto.machi.to/kana/dat/1234567890.cgi";
+    
+    m_machibbsThreadURL = "http://kanto.machi.to/bbs/read.pl?BBS=kana&KEY=1234567890";
+    
     // relative path.
     m_cachePath = QString( "pc.2ch.net/linux/1022744633.dat" );
 }
@@ -36,6 +41,7 @@ void URLConvertTest::testDatToThread()
 {
     CPPUNIT_ASSERT_EQUAL( m_threadURL, Kita::datToThread( m_datURL ) );
     CPPUNIT_ASSERT_EQUAL( m_threadURL_k2ch, Kita::datToThread( m_datURL_k2ch ) );
+    CPPUNIT_ASSERT_EQUAL( m_machibbsThreadURL, Kita::datToThread( m_machibbsDatURL ) );
 }
 
 void URLConvertTest::testThreadToDat()
index 5cae2fb..53b8d7f 100644 (file)
@@ -43,6 +43,9 @@ class URLConvertTest : public CppUnit::TestFixture
     QString m_boardURL2_k2ch;
     QString m_cachePath;
     QString m_cachePath_k2ch;
+    
+    QString m_machibbsDatURL;
+    QString m_machibbsThreadURL;
 
 public:
     void setUp();