summaryrefslogtreecommitdiffstats
path: root/kutils/tests/kreplacetest.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 13:17:21 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-01-26 13:17:21 -0600
commitdfe289850f068f19ba4a83ab4e7e22a7e09c13c9 (patch)
treec297348a55df66c571de4525646e0b9762427353 /kutils/tests/kreplacetest.cpp
parentb7658a0d5eca24a9d37c6e04f88298ef02389db0 (diff)
downloadtdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.tar.gz
tdelibs-dfe289850f068f19ba4a83ab4e7e22a7e09c13c9.zip
Rename a number of libraries and executables to avoid conflicts with KDE4
Diffstat (limited to 'kutils/tests/kreplacetest.cpp')
-rw-r--r--kutils/tests/kreplacetest.cpp342
1 files changed, 0 insertions, 342 deletions
diff --git a/kutils/tests/kreplacetest.cpp b/kutils/tests/kreplacetest.cpp
deleted file mode 100644
index 26b0f7c9e..000000000
--- a/kutils/tests/kreplacetest.cpp
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- Copyright (C) 2002, David Faure <david@mandrakesoft.com>
- This file is part of the KDE project
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2, as published by the Free Software Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include <assert.h>
-
-#include <kcmdlineargs.h>
-#include <kapplication.h>
-#include <tqeventloop.h>
-#include <kpushbutton.h>
-#include "../kreplace.h"
-#include "../kreplacedialog.h"
-
-#include "kreplacetest.h"
-#include <kdebug.h>
-#include <stdlib.h>
-
-void KReplaceTest::replace( const TQString &pattern, const TQString &replacement, long options )
-{
- m_needEventLoop = false;
- // This creates a replace-next-prompt dialog if needed.
- m_replace = new KReplace(pattern, replacement, options);
-
- // Connect highlight signal to code which handles highlighting
- // of found text.
- connect(m_replace, TQT_SIGNAL( highlight( const TQString &, int, int ) ),
- this, TQT_SLOT( slotHighlight( const TQString &, int, int ) ) );
- // Connect findNext signal - called when pressing the button in the dialog
- connect(m_replace, TQT_SIGNAL( findNext() ),
- this, TQT_SLOT( slotReplaceNext() ) );
- // Connect replace signal - called when doing a replacement
- connect(m_replace, TQT_SIGNAL( replace(const TQString &, int, int, int) ),
- this, TQT_SLOT( slotReplace(const TQString &, int, int, int) ) );
-
- // Go to initial position
- if ( (options & KReplaceDialog::FromCursor) == 0 )
- {
- if ( m_replace->options() & KFindDialog::FindBackwards )
- m_currentPos = m_text.fromLast();
- else
- m_currentPos = m_text.begin();
- }
-
- // Launch first replacement
- slotReplaceNext();
-
- if ( m_needEventLoop )
- tqApp->eventLoop()->enterLoop();
-}
-
-void KReplaceTest::slotHighlight( const TQString &str, int matchingIndex, int matchedLength )
-{
- kdDebug() << "slotHighlight Index:" << matchingIndex << " Length:" << matchedLength
- << " Substr:" << str.mid(matchingIndex, matchedLength)
- << endl;
- // Emulate the user saying yes
- // animateClick triggers a timer, hence the enterloop/exitloop
- // Calling slotReplace directly would lead to infinite loop anyway (Match never returned,
- // so slotReplaceNext never returns)
- if ( m_replace->options() & KReplaceDialog::PromptOnReplace ) {
- m_replace->replaceNextDialog( false )->actionButton( (KDialogBase::ButtonCode)m_button )->animateClick();
- m_needEventLoop = true;
- }
-}
-
-
-void KReplaceTest::slotReplace(const TQString &text, int replacementIndex, int replacedLength, int matchedLength)
-{
- kdDebug() << "slotReplace index=" << replacementIndex << " replacedLength=" << replacedLength << " matchedLength=" << matchedLength << " text=" << text.left( 50 ) << endl;
- *m_currentPos = text; // KReplace hacked the replacement into 'text' in already.
-}
-
-void KReplaceTest::slotReplaceNext()
-{
- //kdDebug() << k_funcinfo << endl;
- KFind::Result res = KFind::NoMatch;
- while ( res == KFind::NoMatch && m_currentPos != m_text.end() ) {
- if ( m_replace->needData() )
- m_replace->setData( *m_currentPos );
-
- // Let KReplace inspect the text fragment, and display a dialog if a match is found
- res = m_replace->replace();
-
- if ( res == KFind::NoMatch ) {
- if ( m_replace->options() & KFindDialog::FindBackwards )
- m_currentPos--;
- else
- m_currentPos++;
- }
- }
-
-#if 0 // commented out so that this test doesn't require interaction
- if ( res == KFind::NoMatch ) // i.e. at end
- if ( m_replace->shouldRestart() ) {
- if ( m_replace->options() & KFindDialog::FindBackwards )
- m_currentPos = m_text.fromLast();
- else
- m_currentPos = m_text.begin();
- slotReplaceNext();
- }
-#endif
- if ( res == KFind::NoMatch && m_needEventLoop )
- tqApp->eventLoop()->exitLoop();
-}
-
-void KReplaceTest::print()
-{
- TQStringList::Iterator it = m_text.begin();
- for ( ; it != m_text.end() ; ++it )
- kdDebug() << *it << endl;
-}
-
-/* button is the button that we emulate pressing, when options includes PromptOnReplace.
- Valid possibilities are User1 (replace all) and User3 (replace) */
-static void testReplaceSimple( int options, int button = 0 )
-{
- kdDebug() << "testReplaceSimple: " << options << endl;
- KReplaceTest test( TQString( "hellohello" ), button );
- test.replace( "hello", "HELLO", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( textLines[ 0 ] != "HELLOHELLO" ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of 'HELLOHELLO'" << endl;
- exit(1);
- }
-}
-
-// Replacing "a" with "".
-// input="aaaaaa", expected output=""
-static void testReplaceBlank( int options, int button = 0 )
-{
- kdDebug() << "testReplaceBlank: " << options << endl;
- KReplaceTest test( TQString( "aaaaaa" ), button );
- test.replace( "a", "", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( !textLines[ 0 ].isEmpty() ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of ''" << endl;
- exit(1);
- }
-}
-
-// Replacing "" with "foo"
-// input="bbbb", expected output="foobfoobfoobfoobfoo"
-static void testReplaceBlankSearch( int options, int button = 0 )
-{
- kdDebug() << "testReplaceBlankSearch: " << options << endl;
- KReplaceTest test( TQString( "bbbb" ), button );
- test.replace( "", "foo", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( textLines[ 0 ] != "foobfoobfoobfoobfoo" ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of 'foobfoobfoobfoobfoo'" << endl;
- exit(1);
- }
-}
-
-static void testReplaceLonger( int options, int button = 0 )
-{
- kdDebug() << "testReplaceLonger: " << options << endl;
- // Standard test of a replacement string longer than the matched string
- KReplaceTest test( TQString( "aaaa" ), button );
- test.replace( "a", "bb", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( textLines[ 0 ] != "bbbbbbbb" ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of 'bbbbbbbb'" << endl;
- exit(1);
- }
-}
-
-static void testReplaceLongerInclude( int options, int button = 0 )
-{
- kdDebug() << "testReplaceLongerInclude: " << options << endl;
- // Similar test, where the replacement string includes the search string
- KReplaceTest test( TQString( "a foo b" ), button );
- test.replace( "foo", "foobar", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( textLines[ 0 ] != "a foobar b" ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of 'a foobar b'" << endl;
- exit(1);
- }
-}
-
-static void testReplaceLongerInclude2( int options, int button = 0 )
-{
- kdDebug() << "testReplaceLongerInclude2: " << options << endl;
- // Similar test, but with more chances of matches inside the replacement string
- KReplaceTest test( TQString( "aaaa" ), button );
- test.replace( "a", "aa", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- if ( textLines[ 0 ] != "aaaaaaaa" ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of 'aaaaaaaa'" << endl;
- exit(1);
- }
-}
-
-// Test for the \0 backref
-static void testReplaceBackRef( int options, int button = 0 )
-{
- kdDebug() << "testReplaceBackRef: " << options << endl;
- KReplaceTest test( TQString( "abc def" ), button );
- test.replace( "abc", "(\\0)", options );
- TQStringList textLines = test.textLines();
- assert( textLines.count() == 1 );
- TQString expected = options & KReplaceDialog::BackReference ? "(abc) def" : "(\\0) def";
- if ( textLines[ 0 ] != expected ) {
- kdError() << "ASSERT FAILED: replaced text is '" << textLines[ 0 ] << "' instead of '"<< expected << "'" << endl;
- exit(1);
- }
-}
-
-static void testReplacementHistory( const TQStringList& findHistory, const TQStringList& replaceHistory )
-{
- KReplaceDialog dlg( 0, 0, 0, findHistory, replaceHistory );
- dlg.show();
- kdDebug() << "testReplacementHistory:" << dlg.replacementHistory() << endl;
- assert( dlg.replacementHistory() == replaceHistory );
-}
-
-static void testReplacementHistory()
-{
- TQStringList findHistory;
- TQStringList replaceHistory;
- findHistory << "foo" << "bar";
- replaceHistory << "FOO" << "BAR";
- testReplacementHistory( findHistory, replaceHistory );
-
- findHistory.clear();
- replaceHistory.clear();
- findHistory << "foo" << "bar";
- replaceHistory << TQString::null << "baz"; // #130831
- testReplacementHistory( findHistory, replaceHistory );
-}
-
-int main( int argc, char **argv )
-{
- TDECmdLineArgs::init(argc, argv, "kreplacetest", 0, 0);
- TDEApplication app;
-
- testReplacementHistory(); // #130831
-
- testReplaceBlank( 0 );
- testReplaceBlank( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBlank( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceBlank( KReplaceDialog::FindBackwards, 0 );
- testReplaceBlank( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBlank( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceBlankSearch( 0 );
- testReplaceBlankSearch( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBlankSearch( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceBlankSearch( KReplaceDialog::FindBackwards, 0 );
- testReplaceBlankSearch( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBlankSearch( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceSimple( 0 );
- testReplaceSimple( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceSimple( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceSimple( KReplaceDialog::FindBackwards, 0 );
- testReplaceSimple( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceSimple( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceLonger( 0 );
- testReplaceLonger( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLonger( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceLonger( KReplaceDialog::FindBackwards, 0 );
- testReplaceLonger( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLonger( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceLongerInclude( 0 );
- testReplaceLongerInclude( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLongerInclude( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceLongerInclude( KReplaceDialog::FindBackwards, 0 );
- testReplaceLongerInclude( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLongerInclude( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceLongerInclude2( 0 );
- testReplaceLongerInclude2( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLongerInclude2( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceLongerInclude2( KReplaceDialog::FindBackwards, 0 );
- testReplaceLongerInclude2( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceLongerInclude2( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- testReplaceBackRef( 0 );
- testReplaceBackRef( KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBackRef( KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceBackRef( KReplaceDialog::FindBackwards, 0 );
- testReplaceBackRef( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBackRef( KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceBackRef( KReplaceDialog::BackReference | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBackRef( KReplaceDialog::BackReference | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
- testReplaceBackRef( KReplaceDialog::BackReference | KReplaceDialog::FindBackwards, 0 );
- testReplaceBackRef( KReplaceDialog::BackReference | KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User3 ); // replace
- testReplaceBackRef( KReplaceDialog::BackReference | KReplaceDialog::FindBackwards | KReplaceDialog::PromptOnReplace, KDialogBase::User1 ); // replace all
-
- TQString text = "This file is part of the KDE project.\n"
- "This library is free software; you can redistribute it and/or\n"
- "modify it under the terms of the GNU Library General Public\n"
- "License version 2, as published by the Free Software Foundation.\n"
- "\n"
- " This library is distributed in the hope that it will be useful,\n"
- " but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- " MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
- " Library General Public License for more details.\n"
- "\n"
- " You should have received a copy of the GNU Library General Public License\n"
- " along with this library; see the file COPYING.LIB. If not, write to\n"
- " the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
- " Boston, MA 02110-1301, USA.\n"
- "More tests:\n"
- "ThisThis This, This. This\n"
- "aGNU\n"
- "free";
- KReplaceTest test( TQStringList::split( '\n', text, true ), 0 );
-
- test.replace( "GNU", "KDE", 0 );
- test.replace( "free", "*free*", 0 );
- test.replace( "This", "THIS*", KFindDialog::FindBackwards );
-
- test.print();
- //return app.exec();
- return 0;
-}
-#include "kreplacetest.moc"