X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Ftest-platform-abstraction.cpp;h=61f88f02c5839d4508d5523c070e2ed6ba361e08;hp=d9ea25e4cf725d9d725ee7d646fe24a37f05a27a;hb=a61f272b62493da7921ad7ba8072b9b4f9e8cd16;hpb=959d2c624f92023a5167788ccf6f4b4af3f3d6d8 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp index d9ea25e..61f88f0 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp @@ -22,43 +22,32 @@ namespace Dali { -/** - * Constructor - */ TestPlatformAbstraction::TestPlatformAbstraction() -: mRequest(0) +: mTrace(), + mIsLoadingResult( false ), + mGetDefaultFontSizeResult( 0 ), + mLoadedResourcesQueue(), + mFailedLoadQueue(), + mResourceRequests(), + mSize(), + mClosestSize(), + mLoadFileResult(), + mSaveFileResult( false ), + mSynchronouslyLoadedResource() { Initialize(); } -/** - * Destructor - */ TestPlatformAbstraction::~TestPlatformAbstraction() { + DiscardRequest(); } -/** - * @copydoc PlatformAbstraction::GetTimeMicroseconds() - */ -void TestPlatformAbstraction::GetTimeMicroseconds(unsigned int &seconds, unsigned int µSeconds) -{ - seconds = mSeconds; - microSeconds = mMicroSeconds; - mTrace.PushCall("GetTimeMicroseconds", ""); -} - -/** - * @copydoc PlatformAbstraction::Suspend() - */ void TestPlatformAbstraction::Suspend() { mTrace.PushCall("Suspend", ""); } -/** - * @copydoc PlatformAbstraction::Resume() - */ void TestPlatformAbstraction::Resume() { mTrace.PushCall("Resume", ""); @@ -86,27 +75,20 @@ ImageDimensions TestPlatformAbstraction::GetClosestImageSize( Integration::Resou return closestSize; } -/** - * @copydoc PlatformAbstraction::LoadResource() - */ void TestPlatformAbstraction::LoadResource(const Integration::ResourceRequest& request) { std::ostringstream out; out << "Type:" << request.GetType()->id << ", Path: " << request.GetPath() << std::endl ; mTrace.PushCall("LoadResource", out.str()); - if(mRequest != NULL) - { - delete mRequest; - tet_infoline ("Warning: multiple resource requests not handled by Test Suite. You may see unexpected errors"); - } - mRequest = new Integration::ResourceRequest(request); + + mResourceRequests.PushBack( new Integration::ResourceRequest(request) ); } Integration::ResourcePointer TestPlatformAbstraction::LoadResourceSynchronously( const Integration::ResourceType& resourceType, const std::string& resourcePath ) { mTrace.PushCall("LoadResourceSynchronously", ""); - return mResources.loadedResource; + return mSynchronouslyLoadedResource; } Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration::ResourceType& resourceType, uint8_t * buffer, size_t size ) @@ -115,60 +97,48 @@ Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration: return Integration::BitmapPtr(); } -/** - * @copydoc PlatformAbstraction::CancelLoad() - */ void TestPlatformAbstraction::CancelLoad(Integration::ResourceId id, Integration::ResourceTypeId typeId) { mTrace.PushCall("CancelLoad", ""); } -/** - * @copydoc PlatformAbstraction::GetResources() - */ void TestPlatformAbstraction::GetResources(Integration::ResourceCache& cache) { mTrace.PushCall("GetResources", ""); - if(mResources.loaded) + while( !mLoadedResourcesQueue.empty() ) { - cache.LoadResponse( mResources.loadedId, mResources.loadedType, mResources.loadedResource, Integration::RESOURCE_COMPLETELY_LOADED ); + LoadedResource loaded( *mLoadedResourcesQueue.begin() ); + mLoadedResourcesQueue.erase( mLoadedResourcesQueue.begin() ); + cache.LoadResponse( loaded.id, loaded.type, loaded.resource, Integration::RESOURCE_COMPLETELY_LOADED ); } - if(mResources.loadFailed) + + // iterate through the resources which failed to load + while( !mFailedLoadQueue.empty() ) { - cache.LoadFailed( mResources.loadFailedId, mResources.loadFailure ); + FailedLoad failed( *mFailedLoadQueue.begin() ); + mFailedLoadQueue.erase( mFailedLoadQueue.begin() ); + cache.LoadFailed( failed.id, failed.failure ); } } -/** - * @copydoc PlatformAbstraction::IsLoading() - */ bool TestPlatformAbstraction::IsLoading() { mTrace.PushCall("IsLoading", ""); return mIsLoadingResult; } -/** - * @copydoc PlatformAbstraction::GetDefaultFontSize() - */ int TestPlatformAbstraction::GetDefaultFontSize() const { - // TODO - return int(); + mTrace.PushCall("GetDefaultFontSize", ""); + return mGetDefaultFontSizeResult; } -/** - * @copydoc PlatformAbstraction::SetDpi() - */ void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int dpiVertical) { mTrace.PushCall("SetDpi", ""); } -/** - * @copydoc PlatformAbstraction::LoadFile() - */ bool TestPlatformAbstraction::LoadFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const { mTrace.PushCall("LoadFile", ""); @@ -180,9 +150,6 @@ bool TestPlatformAbstraction::LoadFile( const std::string& filename, Dali::Vecto return mLoadFileResult.loadResult; } -/** - * @copydoc PlatformAbstraction::LoadShaderBinaryFile() - */ bool TestPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const { mTrace.PushCall("LoadShaderBinaryFile", ""); @@ -194,10 +161,7 @@ bool TestPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename, return mLoadFileResult.loadResult; } -/** - * @copydoc PlatformAbstraction::SaveFile() - */ -bool TestPlatformAbstraction::SaveFile(const std::string& filename, const unsigned char * buffer, unsigned int numBytes) const +bool TestPlatformAbstraction::SaveFile(const std::string& filename, const unsigned char * buffer, unsigned int numBytes ) const { mTrace.PushCall("SaveFile", ""); return false; @@ -213,27 +177,21 @@ void TestPlatformAbstraction::Initialize() { mTrace.Reset(); mTrace.Enable(true); - memset(&mResources, 0, sizeof(Resources)); - mSeconds=0; - mMicroSeconds=0; + mLoadedResourcesQueue.clear(); + mFailedLoadQueue.clear(); + mResourceRequests.Clear(); mIsLoadingResult=false; - - if(mRequest) - { - delete mRequest; - mRequest = 0; - } + mSynchronouslyLoadedResource.Reset(); } - bool TestPlatformAbstraction::WasCalled(TestFuncEnum func) { switch(func) { - case GetTimeMicrosecondsFunc: return mTrace.FindMethod("GetTimeMicroseconds"); case SuspendFunc: return mTrace.FindMethod("Suspend"); case ResumeFunc: return mTrace.FindMethod("Resume"); case LoadResourceFunc: return mTrace.FindMethod("LoadResource"); + case LoadResourceSynchronouslyFunc: return mTrace.FindMethod("LoadResourceSynchronously"); case LoadFileFunc: return mTrace.FindMethod("LoadFile"); case LoadShaderBinaryFileFunc: return mTrace.FindMethod("LoadShaderBinaryFile"); case SaveShaderBinaryFileFunc: return mTrace.FindMethod("SaveShaderBinaryFile"); @@ -247,21 +205,6 @@ bool TestPlatformAbstraction::WasCalled(TestFuncEnum func) return false; } -void TestPlatformAbstraction::SetGetTimeMicrosecondsResult(size_t sec, size_t usec) -{ - mSeconds = sec; - mMicroSeconds = usec; -} - -void TestPlatformAbstraction::IncrementGetTimeResult(size_t milliseconds) -{ - mMicroSeconds += milliseconds * 1000u; - unsigned int additionalSeconds = mMicroSeconds / 1000000u; - - mSeconds += additionalSeconds; - mMicroSeconds -= additionalSeconds * 1000000u; -} - void TestPlatformAbstraction::SetIsLoadingResult(bool result) { mIsLoadingResult = result; @@ -269,36 +212,85 @@ void TestPlatformAbstraction::SetIsLoadingResult(bool result) void TestPlatformAbstraction::ClearReadyResources() { - memset(&mResources, 0, sizeof(Resources)); + mLoadedResourcesQueue.clear(); + mFailedLoadQueue.clear(); + mSynchronouslyLoadedResource.Reset(); } void TestPlatformAbstraction::SetResourceLoaded(Integration::ResourceId loadedId, Integration::ResourceTypeId loadedType, Integration::ResourcePointer loadedResource) { - mResources.loaded = true; - mResources.loadedId = loadedId; - mResources.loadedType = loadedType; - mResources.loadedResource = loadedResource; + LoadedResource loadedInfo; + loadedInfo.id = loadedId; + loadedInfo.type = loadedType; + loadedInfo.resource = loadedResource; + mLoadedResourcesQueue.push_back( loadedInfo ); } void TestPlatformAbstraction::SetResourceLoadFailed(Integration::ResourceId id, Integration::ResourceFailure failure) { - mResources.loadFailed = true; - mResources.loadFailedId = id; - mResources.loadFailure = failure; + FailedLoad failedInfo; + failedInfo.id = id; + failedInfo.failure = failure; + mFailedLoadQueue.push_back( failedInfo ); } Integration::ResourceRequest* TestPlatformAbstraction::GetRequest() { - return mRequest; + Integration::ResourceRequest* request = NULL; + + // Return last request + if( ! mResourceRequests.Empty() ) + { + request = *( mResourceRequests.End() - 1 ); + } + + return request; +} + +const TestPlatformAbstraction::ResourceRequestContainer& TestPlatformAbstraction::GetAllRequests() const +{ + return mResourceRequests; +} + +void TestPlatformAbstraction::SetAllResourceRequestsAsLoaded() +{ + for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End(); + iter != endIter; ++iter ) + { + Integration::ResourceRequest* request = *iter; + Integration::Bitmap* bitmap = Integration::Bitmap::New( Integration::Bitmap::BITMAP_2D_PACKED_PIXELS, ResourcePolicy::OWNED_DISCARD ); + Integration::ResourcePointer resource(bitmap); + bitmap->GetPackedPixelsProfile()->ReserveBuffer(Pixel::RGBA8888, 80, 80, 80, 80); + SetResourceLoaded( request->GetId(), request->GetType()->id, resource ); + delete request; + } + mResourceRequests.Clear(); +} + +void TestPlatformAbstraction::SetAllResourceRequestsAsFailed( Integration::ResourceFailure failure ) +{ + for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End(); + iter != endIter; ++iter ) + { + Integration::ResourceRequest* request = *iter; + SetResourceLoadFailed( (*iter)->GetId(), failure); + delete request; + } + mResourceRequests.Clear(); } void TestPlatformAbstraction::DiscardRequest() { - delete mRequest; - mRequest = NULL; + for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End(); + iter != endIter; ++iter ) + { + Integration::ResourceRequest* request = *iter; + delete request; + } + mResourceRequests.Clear(); } void TestPlatformAbstraction::SetClosestImageSize(const Vector2& size) @@ -320,4 +312,9 @@ void TestPlatformAbstraction::SetSaveFileResult( bool result ) mSaveFileResult = result; } +void TestPlatformAbstraction::SetSynchronouslyLoadedResource( Integration::ResourcePointer resource ) +{ + mSynchronouslyLoadedResource = resource; +} + } // namespace Dali