// Purpose: wxRichTextCtrl unit test
// Author: Steven Lamerton
// Created: 2010-07-07
-// RCS-ID: $Id$
// Copyright: (c) 2010 Steven Lamerton
///////////////////////////////////////////////////////////////////////////////
// Run the tests twice: first for the original table, then for a contained one
for (int t = 0; t < 2; ++t)
- {
+ {
+ size_t n; // FIXME-VC6: outside of the loops for VC6 only.
+
// Undo() and Redo() switch table instances, so invalidating 'table'
// The containing paragraph isn't altered, and so can be used to find the current object
wxRichTextParagraph* para = wxDynamicCast(table->GetParent(), wxRichTextParagraph);
CPPUNIT_ASSERT(table->GetRowCount() == 1);
// Test adding columns and rows
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->BeginBatchUndo("Add col and row");
table->AddColumns(0, 1);
table->AddRows(0, 1);
-
+
m_rich->EndBatchUndo();
}
CPPUNIT_ASSERT(table->GetColumnCount() == 4);
CPPUNIT_ASSERT(table->GetRowCount() == 4);
// Test deleting columns and rows
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->BeginBatchUndo("Delete col and row");
table->DeleteColumns(table->GetColumnCount() - 1, 1);
table->DeleteRows(table->GetRowCount() - 1, 1);
-
+
m_rich->EndBatchUndo();
}
CPPUNIT_ASSERT(table->GetColumnCount() == 1);
// Test undo, first of the deletions...
CPPUNIT_ASSERT(m_rich->CanUndo());
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->Undo();
}
CPPUNIT_ASSERT(table->GetRowCount() == 4);
// ...then the additions
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->Undo();
}
// Similarly test redo. Additions:
CPPUNIT_ASSERT(m_rich->CanRedo());
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->Redo();
}
CPPUNIT_ASSERT(table->GetRowCount() == 4);
// Deletions:
- for (size_t n = 0; n < 3; ++n)
+ for (n = 0; n < 3; ++n)
{
m_rich->Redo();
}
CPPUNIT_ASSERT(table->GetColumnCount() == 2);
CPPUNIT_ASSERT(table->GetRowCount() == 2);
m_rich->EndSuppressUndo();
-
+
m_rich->GetCommandProcessor()->ClearCommands(); // otherwise the command-history from this loop will cause CPPUNIT_ASSERT failures in the next one
if (t == 0)
}
}
+ // Test ClearTable()
+ table->ClearTable();
+ CPPUNIT_ASSERT_EQUAL(0, table->GetCells().GetCount());
+ CPPUNIT_ASSERT_EQUAL(0, table->GetColumnCount());
+ CPPUNIT_ASSERT_EQUAL(0, table->GetRowCount());
+
m_rich->Clear();
m_rich->SetFocusObject(NULL);
}