X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Futc-Dali-ImageView.cpp;h=7b0b54d7abee2f4bd672bbce3ac5c484576459bb;hp=9c461a12a110a7205f722965a7c5fa7d65279788;hb=23ef2e29789ebe7ba3c6af903fb0f55c782e39cc;hpb=4be6d23fa53be011c4784bdfcaa038ee17ad832a diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp index 9c461a1..7b0b54d 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ImageView.cpp @@ -2467,10 +2467,10 @@ int UtcDaliImageViewLoadRemoteSVG(void) ToolkitTestApplication application; Toolkit::ImageView imageView; - imageView = Toolkit::ImageView::New( ); + imageView = Toolkit::ImageView::New(); imageView.SetImage("https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/check.svg"); // Victor. Temporary (or permanent?) update as the url above seems not to work from time to time ... - imageView.SetImage("https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/SVG_logo.svg/64px-SVG_logo.svg.png"); +// imageView.SetImage("https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/SVG_logo.svg/64px-SVG_logo.svg.png"); imageView.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT ); imageView.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT ); imageView.SetProperty( Actor::Property::SIZE, Vector2(300, 300) ); @@ -2614,11 +2614,36 @@ int UtcDaliImageViewSvgLoadingFailure(void) { ToolkitTestApplication application; - // Local svg file + // Local svg file - invalid file path { gResourceReadySignalFired = false; - ImageView imageView = ImageView::New( TEST_RESOURCE_DIR "/Kid1.svg" ); + ImageView imageView = ImageView::New( TEST_RESOURCE_DIR "/foo.svg" ); + imageView.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + imageView.ResourceReadySignal().Connect( &ResourceReadySignal); + + DALI_TEST_EQUALS( imageView.IsResourceReady(), false, TEST_LOCATION ); + + application.GetScene().Add( imageView ); + + application.SendNotification(); + + // loading started, this waits for the loader thread + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(16); + + DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.IsResourceReady(), true, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetVisualResourceStatus( ImageView::Property::IMAGE ), Visual::ResourceStatus::FAILED, TEST_LOCATION ); + } + + // Local svg file - invalid file + { + gResourceReadySignalFired = false; + + ImageView imageView = ImageView::New( TEST_RESOURCE_DIR "/invalid.svg" ); imageView.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); imageView.ResourceReadySignal().Connect( &ResourceReadySignal); @@ -2667,6 +2692,54 @@ int UtcDaliImageViewSvgLoadingFailure(void) END_TEST; } +int UtcDaliImageViewSvgRasterizationFailure(void) +{ + ToolkitTestApplication application; + + gResourceReadySignalFired = false; + + ImageView imageView = ImageView::New( TEST_RESOURCE_DIR "/svg1.svg" ); + imageView.SetProperty( Actor::Property::SIZE, Vector2( 200.f, 200.f ) ); + imageView.ResourceReadySignal().Connect( &ResourceReadySignal); + + DALI_TEST_EQUALS( imageView.IsResourceReady(), false, TEST_LOCATION ); + + application.GetScene().Add( imageView ); + + application.SendNotification(); + + // loading started, this waits for the loader thread + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(16); + + DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.IsResourceReady(), true, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.GetVisualResourceStatus( ImageView::Property::IMAGE ), Visual::ResourceStatus::READY, TEST_LOCATION ); + + // Reset flag + gResourceReadySignalFired = false; + + // Change size + imageView.SetProperty( Actor::Property::SIZE, Vector2( 0.f, 0.f ) ); + + application.SendNotification(); + + // rasterization started, this waits for the rasterize thread + DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION ); + + application.SendNotification(); + application.Render(16); + + DALI_TEST_EQUALS( gResourceReadySignalFired, true, TEST_LOCATION ); + DALI_TEST_EQUALS( imageView.IsResourceReady(), true, TEST_LOCATION ); + // Fail to rasterize because the size is 0. + DALI_TEST_EQUALS( imageView.GetVisualResourceStatus( ImageView::Property::IMAGE ), Visual::ResourceStatus::FAILED, TEST_LOCATION ); + + END_TEST; +} + namespace {