Changed several occurrences of "it's" where "its" is meant, as well as a few other minor typos. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			122 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        tests/misc/module.cpp
 | 
						|
// Purpose:     Test wxModule
 | 
						|
// Author:      Francesco Montorsi (extracted from console sample)
 | 
						|
// Created:     2010-06-02
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 2010 wxWidgets team
 | 
						|
///////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// headers
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
#include "testprec.h"
 | 
						|
 | 
						|
#ifdef __BORLANDC__
 | 
						|
#   pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
#include "wx/module.h"
 | 
						|
#include "wx/wxcrt.h"       // for wxStrcat()
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// test classes derived from wxModule
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
char g_strLoadOrder[256] = "\0";
 | 
						|
 | 
						|
class Module : public wxModule
 | 
						|
{
 | 
						|
protected:
 | 
						|
    virtual bool OnInit() { wxStrcat(g_strLoadOrder, GetClassInfo()->GetClassName()); return true; }
 | 
						|
    virtual void OnExit() { }
 | 
						|
};
 | 
						|
 | 
						|
class ModuleA : public Module
 | 
						|
{
 | 
						|
public:
 | 
						|
    ModuleA();
 | 
						|
private:
 | 
						|
    DECLARE_DYNAMIC_CLASS(ModuleA)
 | 
						|
};
 | 
						|
 | 
						|
class ModuleB : public Module
 | 
						|
{
 | 
						|
public:
 | 
						|
    ModuleB();
 | 
						|
private:
 | 
						|
    DECLARE_DYNAMIC_CLASS(ModuleB)
 | 
						|
};
 | 
						|
 | 
						|
class ModuleC : public Module
 | 
						|
{
 | 
						|
public:
 | 
						|
    ModuleC();
 | 
						|
private:
 | 
						|
    DECLARE_DYNAMIC_CLASS(ModuleC)
 | 
						|
};
 | 
						|
 | 
						|
class ModuleD : public Module
 | 
						|
{
 | 
						|
public:
 | 
						|
    ModuleD();
 | 
						|
private:
 | 
						|
    DECLARE_DYNAMIC_CLASS(ModuleD)
 | 
						|
};
 | 
						|
 | 
						|
IMPLEMENT_DYNAMIC_CLASS(ModuleA, wxModule)
 | 
						|
ModuleA::ModuleA()
 | 
						|
{
 | 
						|
    AddDependency(CLASSINFO(ModuleB));
 | 
						|
    AddDependency(CLASSINFO(ModuleD));
 | 
						|
}
 | 
						|
 | 
						|
IMPLEMENT_DYNAMIC_CLASS(ModuleB, wxModule)
 | 
						|
ModuleB::ModuleB()
 | 
						|
{
 | 
						|
    AddDependency(CLASSINFO(ModuleC));
 | 
						|
    AddDependency(CLASSINFO(ModuleD));
 | 
						|
}
 | 
						|
 | 
						|
IMPLEMENT_DYNAMIC_CLASS(ModuleC, wxModule)
 | 
						|
ModuleC::ModuleC()
 | 
						|
{
 | 
						|
    AddDependency(CLASSINFO(ModuleD));
 | 
						|
}
 | 
						|
 | 
						|
IMPLEMENT_DYNAMIC_CLASS(ModuleD, wxModule)
 | 
						|
ModuleD::ModuleD()
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// test class
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
class ModuleTestCase : public CppUnit::TestCase
 | 
						|
{
 | 
						|
public:
 | 
						|
    ModuleTestCase() { }
 | 
						|
 | 
						|
private:
 | 
						|
    CPPUNIT_TEST_SUITE( ModuleTestCase );
 | 
						|
        CPPUNIT_TEST( LoadOrder );
 | 
						|
    CPPUNIT_TEST_SUITE_END();
 | 
						|
 | 
						|
    void LoadOrder();
 | 
						|
    DECLARE_NO_COPY_CLASS(ModuleTestCase)
 | 
						|
};
 | 
						|
 | 
						|
// register in the unnamed registry so that these tests are run by default
 | 
						|
CPPUNIT_TEST_SUITE_REGISTRATION( ModuleTestCase );
 | 
						|
 | 
						|
// also include in its own registry so that these tests can be run alone
 | 
						|
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( ModuleTestCase, "ModuleTestCase" );
 | 
						|
 | 
						|
void ModuleTestCase::LoadOrder()
 | 
						|
{
 | 
						|
    // module D is the only one with no dependencies and so should load as first (and so on):
 | 
						|
    CPPUNIT_ASSERT_EQUAL( "ModuleDModuleCModuleBModuleA", g_strLoadOrder );
 | 
						|
}
 |