diff options
author | Neeraj Kumar | 2010-06-01 18:06:31 +0000 |
---|---|---|
committer | Neeraj Kumar | 2010-06-01 18:06:31 +0000 |
commit | da1f5ee54c91cab0e8a7bf1523a7c8318ee63d1d (patch) | |
tree | ad4b7b0915e23a3bc7ff4b3727e42cd41aa40fd0 | |
parent | a8a8ea31df50d8c6078cb95a949e84a58314d5b9 (diff) | |
download | scummvm-rg350-da1f5ee54c91cab0e8a7bf1523a7c8318ee63d1d.tar.gz scummvm-rg350-da1f5ee54c91cab0e8a7bf1523a7c8318ee63d1d.tar.bz2 scummvm-rg350-da1f5ee54c91cab0e8a7bf1523a7c8318ee63d1d.zip |
created the basic testsuite class, will use it to create the GFX testsuite in graphics.h
svn-id: r49379
-rw-r--r-- | engines/testbed/graphics.h | 8 | ||||
-rw-r--r-- | engines/testbed/testbed.cpp | 24 | ||||
-rw-r--r-- | engines/testbed/testsuite.h | 58 |
3 files changed, 89 insertions, 1 deletions
diff --git a/engines/testbed/graphics.h b/engines/testbed/graphics.h new file mode 100644 index 0000000000..d10871fefe --- /dev/null +++ b/engines/testbed/graphics.h @@ -0,0 +1,8 @@ +#ifdef GRAPHICS_H +#define GRAPHICS_H + +namespace Testbed { + +class GFXTestsuite : Testsuite { +public: + diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index f941f0dab4..5c71c60a9e 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -49,7 +49,29 @@ Common::Error TestbedEngine::run() { // Additional setup. printf("TestbedEngine::init\n"); - printf("Height: %d\n",_system->getHeight()); + printf("Testing fullscreen mode\n"); + bool isFeaturePresent; + bool isFeatureEnabled; + + isFeaturePresent = _system->hasFeature(OSystem::kFeatureFullscreenMode); + isFeatureEnabled = _system->getFeatureState(OSystem::kFeatureFullscreenMode); + + printf("Testing Feature Presence.. \n"); + if (isFeaturePresent) { + //Toggle + printf("Supported\n"); + + _system->beginGFXTransaction(); + _system->setFeatureState(OSystem::kFeatureFullscreenMode, !isFeatureEnabled); + _system->endGFXTransaction(); + + _system->delayMillis(1000); + + _system->beginGFXTransaction(); + _system->setFeatureState(OSystem::kFeatureFullscreenMode, isFeatureEnabled); + _system->endGFXTransaction(); + } + // Your main even loop should be (invoked from) here. printf("TestbedEngine::go: Hello, World!\n"); diff --git a/engines/testbed/testsuite.h b/engines/testbed/testsuite.h new file mode 100644 index 0000000000..fd36b1a953 --- /dev/null +++ b/engines/testbed/testsuite.h @@ -0,0 +1,58 @@ +#ifndef TESTSUITE_H +#define TESTSUITE_H + +#include "common/system.h" + +namespace Testbed { + +typedef bool (*invokingFunction)(); + +/** + * This represents the a feature to be tested + * + * @Note + * featureName stores the name of this feature test, for display purposes + * driver is pointer to the function that will invoke this feature test + * enabled decides whether or not this test is to be executed + * passed collects and stores result of this feature test. + * + */ +struct Test { + Test(Common::String name, invokingFunction f) : featureName(name), driver(f) {} + Common::String featureName; + invokingFunction driver; + bool enabled; + bool passed; +}; + +/** + * The basic Testsuite class + * All the other testsuites would inherit it and override its virtual methods + */ + +class Testsuite { +public: + Testsuite() { + extern OSystem *g_system; + _backend = g_system; + } + ~Testsuite() {} + inline int getNumTestsPassed() { return _numTestsPassed; }; + inline int getNumTestsFailed() { return _numTestsExecuted - _numTestsPassed; }; + inline void addTest(Common::String name, invokingFunction f) { + Test featureTest(name, f); + _testsToExecute.push_back(featureTest); + } + virtual int execute() = 0; + virtual const char *getName() = 0; + +private: + OSystem *_backend; + int _numTestsPassed; + int _numTestsExecuted; + Common::Array<Test> _testsToExecute; +} + +} // End of namespace testbed + +#endif |