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=db22b8638bbaa96b72bf8c8ba808e12914affc51;hp=a8a47e092a733f5c66156d2169bbfd3d62aef759;hb=6734ced9c8c84f8f0e637043087fedaa5f79dd9d;hpb=306d2f61a1b64179e801fa8a0bb2bd7b4e9dd682 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 a8a47e0..db22b86 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,155 +22,123 @@ 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() { } -/** - * @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", ""); } -void TestPlatformAbstraction::GetClosestImageSize( const std::string& filename, - const ImageAttributes& attributes, - Vector2& closestSize) +ImageDimensions TestPlatformAbstraction::GetClosestImageSize( const std::string& filename, + ImageDimensions size, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection ) { - closestSize = mClosestSize; + ImageDimensions closestSize = ImageDimensions( mClosestSize.x, mClosestSize.y ); mTrace.PushCall("GetClosestImageSize", ""); + return closestSize; } -void TestPlatformAbstraction::GetClosestImageSize( Integration::ResourcePointer resourceBuffer, - const ImageAttributes& attributes, - Vector2& closestSize) +ImageDimensions TestPlatformAbstraction::GetClosestImageSize( Integration::ResourcePointer resourceBuffer, + ImageDimensions size, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection ) { - closestSize = mClosestSize; + ImageDimensions closestSize = ImageDimensions( mClosestSize.x, mClosestSize.y ); mTrace.PushCall("GetClosestImageSize", ""); + 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; + 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; } -/** - * @copydoc PlatformAbstraction::SaveResource() - */ -void TestPlatformAbstraction::SaveResource(const Integration::ResourceRequest& request) +Integration::BitmapPtr TestPlatformAbstraction::DecodeBuffer( const Integration::ResourceType& resourceType, uint8_t * buffer, size_t size ) { - mTrace.PushCall("SaveResource", ""); - 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); + mTrace.PushCall("DecodeBuffer", ""); + 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) - { - cache.LoadFailed( mResources.loadFailedId, mResources.loadFailure ); - } - if(mResources.saved) - { - cache.SaveComplete( mResources.savedId, mResources.savedType ); - } - if(mResources.saveFailed) + + // iterate through the resources which failed to load + while( !mFailedLoadQueue.empty() ) { - cache.SaveFailed( mResources.saveFailedId, mResources.saveFailure ); + 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::SetDpi() - */ +int TestPlatformAbstraction::GetDefaultFontSize() const +{ + mTrace.PushCall("GetDefaultFontSize", ""); + return mGetDefaultFontSizeResult; +} + void TestPlatformAbstraction::SetDpi (unsigned int dpiHorizontal, unsigned int dpiVertical) { mTrace.PushCall("SetDpi", ""); } -/** - * @copydoc PlatformAbstraction::LoadFile() - */ -bool TestPlatformAbstraction::LoadFile( const std::string& filename, std::vector< unsigned char >& buffer ) const +bool TestPlatformAbstraction::LoadFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const { mTrace.PushCall("LoadFile", ""); if( mLoadFileResult.loadResult ) @@ -181,10 +149,18 @@ bool TestPlatformAbstraction::LoadFile( const std::string& filename, std::vector return mLoadFileResult.loadResult; } -/** - * @copydoc PlatformAbstraction::SaveFile() - */ -bool TestPlatformAbstraction::SaveFile(const std::string& filename, std::vector< unsigned char >& buffer) const +bool TestPlatformAbstraction::LoadShaderBinaryFile( const std::string& filename, Dali::Vector< unsigned char >& buffer ) const +{ + mTrace.PushCall("LoadShaderBinaryFile", ""); + if( mLoadFileResult.loadResult ) + { + buffer = mLoadFileResult.buffer; + } + + return mLoadFileResult.loadResult; +} + +bool TestPlatformAbstraction::SaveFile(const std::string& filename, const unsigned char * buffer, unsigned int numBytes ) const { mTrace.PushCall("SaveFile", ""); return false; @@ -195,66 +171,39 @@ void TestPlatformAbstraction::JoinLoaderThreads() mTrace.PushCall("JoinLoaderThreads", ""); } -Integration::DynamicsFactory* TestPlatformAbstraction::GetDynamicsFactory() -{ - mTrace.PushCall("GetDynamicsFactory", ""); - return NULL; -} - /** Call this every test */ 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 SaveResourceFunc: return mTrace.FindMethod("SaveResource"); + case LoadResourceSynchronouslyFunc: return mTrace.FindMethod("LoadResourceSynchronously"); case LoadFileFunc: return mTrace.FindMethod("LoadFile"); + case LoadShaderBinaryFileFunc: return mTrace.FindMethod("LoadShaderBinaryFile"); + case SaveShaderBinaryFileFunc: return mTrace.FindMethod("SaveShaderBinaryFile"); case SaveFileFunc: return mTrace.FindMethod("SaveFile"); case CancelLoadFunc: return mTrace.FindMethod("CancelLoad"); case GetResourcesFunc: return mTrace.FindMethod("GetResources"); case IsLoadingFunc: return mTrace.FindMethod("IsLoading"); case SetDpiFunc: return mTrace.FindMethod("SetDpi"); case JoinLoaderThreadsFunc: return mTrace.FindMethod("JoinLoaderThreads"); - case GetDynamicsFactoryFunc: return mTrace.FindMethod("GetDynamicsFactory"); } 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; @@ -262,52 +211,76 @@ 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 ); } -void TestPlatformAbstraction::SetResourceSaved(Integration::ResourceId savedId, - Integration::ResourceTypeId savedType) +Integration::ResourceRequest* TestPlatformAbstraction::GetRequest() { - mResources.saved = true; - mResources.savedId = savedId; - mResources.savedType = savedType; + Integration::ResourceRequest* request = NULL; + + // Return last request + if( ! mResourceRequests.Empty() ) + { + request = *( mResourceRequests.End() - 1 ); + } + + return request; } -void TestPlatformAbstraction::SetResourceSaveFailed(Integration::ResourceId id, - Integration::ResourceFailure failure) +const TestPlatformAbstraction::ResourceRequestContainer& TestPlatformAbstraction::GetAllRequests() const { - mResources.saveFailed = true; - mResources.saveFailedId = id; - mResources.saveFailure = failure; + return mResourceRequests; } -Integration::ResourceRequest* TestPlatformAbstraction::GetRequest() +void TestPlatformAbstraction::SetAllResourceRequestsAsLoaded() { - return mRequest; + 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 ); + } + mResourceRequests.Clear(); +} + +void TestPlatformAbstraction::SetAllResourceRequestsAsFailed( Integration::ResourceFailure failure ) +{ + for( ResourceRequestContainer::Iterator iter = mResourceRequests.Begin(), endIter = mResourceRequests.End(); + iter != endIter; ++iter ) + { + SetResourceLoadFailed( (*iter)->GetId(), failure); + } + mResourceRequests.Clear(); } void TestPlatformAbstraction::DiscardRequest() { - delete mRequest; - mRequest = NULL; + mResourceRequests.Clear(); } void TestPlatformAbstraction::SetClosestImageSize(const Vector2& size) @@ -315,7 +288,7 @@ void TestPlatformAbstraction::SetClosestImageSize(const Vector2& size) mClosestSize = size; } -void TestPlatformAbstraction::SetLoadFileResult( bool result, std::vector< unsigned char >& buffer ) +void TestPlatformAbstraction::SetLoadFileResult( bool result, Dali::Vector< unsigned char >& buffer ) { mLoadFileResult.loadResult = result; if( result ) @@ -329,4 +302,9 @@ void TestPlatformAbstraction::SetSaveFileResult( bool result ) mSaveFileResult = result; } +void TestPlatformAbstraction::SetSynchronouslyLoadedResource( Integration::ResourcePointer resource ) +{ + mSynchronouslyLoadedResource = resource; +} + } // namespace Dali