X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit-unmanaged%2Futc-Dali-Builder.cpp;h=f95bbe757947fda92f6a1b9f70e4be13b248951b;hb=3b187632575523a751a4c9b80c1dcd9a0a887eee;hp=6f63515f46e8110041c7c3dca4e34c0f75abf5f0;hpb=30f6ca1e541089b19f2b349a8a12d8a5bcaf2f9e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 6f63515..f95bbe7 100644 --- a/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp +++ b/automated-tests/src/dali-toolkit-unmanaged/utc-Dali-Builder.cpp @@ -1,23 +1,25 @@ -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.0 (the License); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ #include #include #include #include +#include using namespace Dali; using namespace Toolkit; @@ -158,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 @@ -380,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; +}