X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-unmanaged%2Futc-Dali-Builder.cpp;h=f95bbe757947fda92f6a1b9f70e4be13b248951b;hp=4742bed8dc755a04099619e75cc6b158127c2523;hb=4306459adff5af631450cc660ca9dc8afd44d195;hpb=d5e3ed5f5b1c8fdba3ae97ead8729620f54b3836 diff --git a/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp b/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp index 4742bed..f95bbe7 100644 --- a/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp +++ b/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp @@ -19,6 +19,7 @@ #include #include #include +#include using namespace Dali; using namespace Toolkit; @@ -159,6 +160,21 @@ std::string ReplaceQuotes(const std::string &in_s) return s; } +struct BuilderFunctor +{ + BuilderFunctor( bool& called ) : mCalled( called ) + { + mCalled = false; + } + + void operator()() + { + mCalled = true; + } + + bool& mCalled; +}; + } // namespace @@ -381,3 +397,92 @@ int UtcDaliBuilderSetProperty(void) END_TEST; } + +int UtcDaliBuilderCreateFromJson(void) +{ + ToolkitTestApplication application; + + tet_infoline(" UtcDaliBuilderCreateFromJson"); + + Builder builder = Builder::New(); + + TextActor actor = TextActor::DownCast( builder.CreateFromJson("foobar") ); + + DALI_TEST_CHECK( !actor ); + + actor = TextActor::DownCast( + builder.CreateFromJson( + ReplaceQuotes("{'type':'TextActor','text':'Hi'}") ) ); + + DALI_TEST_CHECK( actor ); + + DALI_TEST_CHECK( actor.GetText() == "Hi" ); + + END_TEST; +} + +int UtcDaliBuilderApplyFromJson(void) +{ + ToolkitTestApplication application; + + tet_infoline(" UtcDaliBuilderApplyFromJson"); + + Builder builder = Builder::New(); + + TextActor actor = TextActor::DownCast( + builder.CreateFromJson( + ReplaceQuotes("{'type':'TextActor','text':'Hi'}") ) ); + + DALI_TEST_CHECK( actor ); + + DALI_TEST_CHECK( actor.GetText() == "Hi" ); + + DALI_TEST_CHECK( !builder.ApplyFromJson(actor, ReplaceQuotes("foobar") ) ); + + builder.ApplyFromJson(actor, ReplaceQuotes("{'text':'low'}") ); + + DALI_TEST_CHECK( actor.GetText() == "low" ); + + END_TEST; +} + +int UtcDaliBuilderQuitSignal(void) +{ + ToolkitTestApplication application; + + // JSON with a quit event when the actor is touched + std::string json( + "{" + "\"stage\":" + "[{" + "\"type\": \"Actor\"," + "\"size\": [100,100,1]," + "\"parent-origin\": \"TOP_LEFT\"," + "\"anchor-point\": \"TOP_LEFT\"," + "\"signals\": [{" + "\"name\": \"touched\"," + "\"action\": \"quit\"" + "}]" + "}]" + "}" + ); + Builder builder = Builder::New(); + builder.LoadFromString( json ); + builder.AddActors ( Stage::GetCurrent().GetRootLayer() ); + + // Connect to builder's quit signal + bool functorCalled( false ); + builder.QuitSignal().Connect( &application, BuilderFunctor( functorCalled ) ); + + // Render and notify + application.SendNotification(); + application.Render(); + + // Emit touch event and check that our quit method is called + Integration::TouchEvent touchEvent; + touchEvent.points.push_back( TouchPoint ( 0, TouchPoint::Down, 10.0f, 10.0f ) ); + application.ProcessEvent( touchEvent ); + DALI_TEST_CHECK( functorCalled ); + + END_TEST; +}