Merge "Make some methods consts TextSelectionPopupImpl" into devel/master
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Fri, 19 Jun 2020 11:56:38 +0000 (11:56 +0000)
committerGerrit Code Review <gerrit@review>
Fri, 19 Jun 2020 11:56:38 +0000 (11:56 +0000)
automated-tests/src/dali-toolkit-internal/CMakeLists.txt
automated-tests/src/dali-toolkit-internal/utc-Dali-TextSelectionPopup-internal.cpp [new file with mode: 0644]
automated-tests/src/dali-toolkit/utc-Dali-TextSelectionPopup.cpp
dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.cpp
dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h

index e0b5869..4513301 100755 (executable)
@@ -27,6 +27,7 @@ SET(TC_SOURCES
  utc-Dali-Text-Typesetter.cpp
  utc-Dali-Text-ViewModel.cpp
  utc-Dali-TextField-internal.cpp
+ utc-Dali-TextSelectionPopup-internal.cpp
  utc-Dali-TextureManager.cpp
  utc-Dali-Visuals-internal.cpp
  utc-Dali-VisualModel.cpp
diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-TextSelectionPopup-internal.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-TextSelectionPopup-internal.cpp
new file mode 100644 (file)
index 0000000..13c7ca8
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * 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 <dali-toolkit-test-suite-utils.h>
+#include <dali-toolkit/dali-toolkit.h>
+#include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup.h>
+
+// THIS IS THE HEADER WE ARE TESTING
+#define private public // To access private members of class, just in the internal test cases
+#include <dali-toolkit/internal/controls/text-controls/text-selection-popup-impl.h>
+#undef private
+
+using namespace Dali;
+using namespace Toolkit;
+
+void dali_textselectionpopupinternal_startup(void)
+{
+  test_return_value = TET_UNDEF;
+}
+
+void dali_textselectionpopupinternal_cleanup(void)
+{
+  test_return_value = TET_PASS;
+}
+
+int UtcDaliToolkitTextSelectionPopupIconPropertiesN(void)
+{
+  ToolkitTestApplication application;
+  TextSelectionPopup popup = TextSelectionPopup::New(nullptr);
+
+  Toolkit::Internal::TextSelectionPopup& popupImpl = GetImpl(popup);
+  DALI_TEST_EQUALS(std::string(), popupImpl.GetButtonImage(Toolkit::TextSelectionPopup::NONE), TEST_LOCATION);
+  DALI_TEST_EQUALS(std::string(), popupImpl.GetButtonImage(Toolkit::TextSelectionPopup::Buttons(-1)), TEST_LOCATION);
+
+  END_TEST;
+}
+
index b09f171..c6bce30 100644 (file)
@@ -230,8 +230,6 @@ int UtcDaliToolkitTextSelectionToolBarScrollView(void)
   END_TEST;
 }
 
-
-
 int UtcDaliToolkitTextSelectionPopupIconProperties(void)
 {
   ToolkitTestApplication application;
@@ -252,3 +250,25 @@ int UtcDaliToolkitTextSelectionPopupIconProperties(void)
 
   END_TEST;
 }
+
+int UtcDaliToolkitTextSelectionPopupSizeProperties(void)
+{
+  ToolkitTestApplication application;
+  TextSelectionPopup popup = TextSelectionPopup::New(nullptr);
+
+  const Vector2 popupMaxSize(200.0f, 300.0f);
+  const Vector2 optionMaxSize(50.0f, 100.0f);
+  const Vector2 optionMinSize(10.0f, 10.0f);
+  const Vector2 optionDividerSize(5.0f, 5.0f);
+  popup.SetProperty(TextSelectionPopup::Property::POPUP_MAX_SIZE, popupMaxSize);
+  popup.SetProperty(TextSelectionPopup::Property::OPTION_MAX_SIZE, optionMaxSize);
+  popup.SetProperty(TextSelectionPopup::Property::OPTION_MIN_SIZE, optionMinSize);
+  popup.SetProperty(TextSelectionPopup::Property::OPTION_DIVIDER_SIZE, optionDividerSize);
+
+  DALI_TEST_EQUALS( popup.GetProperty(TextSelectionPopup::Property::POPUP_MAX_SIZE).Get<Vector2>(), popupMaxSize, TEST_LOCATION);
+  DALI_TEST_EQUALS( popup.GetProperty(TextSelectionPopup::Property::OPTION_MAX_SIZE).Get<Vector2>(), optionMaxSize, TEST_LOCATION);
+  DALI_TEST_EQUALS( popup.GetProperty(TextSelectionPopup::Property::OPTION_MIN_SIZE).Get<Vector2>(), optionMinSize, TEST_LOCATION);
+  DALI_TEST_EQUALS( popup.GetProperty(TextSelectionPopup::Property::OPTION_DIVIDER_SIZE).Get<Vector2>(), optionDividerSize, TEST_LOCATION);
+
+  END_TEST;
+}
index f35dd4b..8b851f0 100644 (file)
@@ -494,7 +494,7 @@ void TextSelectionPopup::SetDimensionToCustomise( const PopupCustomisations& set
   } // switch
 }
 
-Size TextSelectionPopup::GetDimensionToCustomise( const PopupCustomisations& settingToCustomise )
+Size TextSelectionPopup::GetDimensionToCustomise( const PopupCustomisations& settingToCustomise ) const
 {
   switch( settingToCustomise )
   {
@@ -567,48 +567,49 @@ void TextSelectionPopup::SetButtonImage( Toolkit::TextSelectionPopup::Buttons bu
    } // switch
 }
 
-std::string TextSelectionPopup::GetButtonImage( Toolkit::TextSelectionPopup::Buttons button )
+const std::string& TextSelectionPopup::GetButtonImage( Toolkit::TextSelectionPopup::Buttons button ) const
 {
-  std::string buttonImageUrl;
   switch ( button )
   {
-    case Toolkit::TextSelectionPopup::CLIPBOARD :
+    case Toolkit::TextSelectionPopup::CLIPBOARD:
     {
-      buttonImageUrl = mClipboardIconImage;
+      return mClipboardIconImage;
       break;
     }
-    case Toolkit::TextSelectionPopup::CUT :
+    case Toolkit::TextSelectionPopup::CUT:
     {
-      buttonImageUrl = mCutIconImage;
+      return mCutIconImage;
       break;
     }
-    case Toolkit::TextSelectionPopup::COPY :
+    case Toolkit::TextSelectionPopup::COPY:
     {
-      buttonImageUrl = mCopyIconImage;
+      return mCopyIconImage;
       break;
     }
-    case Toolkit::TextSelectionPopup::PASTE :
+    case Toolkit::TextSelectionPopup::PASTE:
     {
-      buttonImageUrl = mPasteIconImage;
+      return mPasteIconImage;
       break;
     }
-    case Toolkit::TextSelectionPopup::SELECT :
+    case Toolkit::TextSelectionPopup::SELECT:
     {
-      buttonImageUrl = mSelectIconImage;
+      return mSelectIconImage;
       break;
     }
-    case Toolkit::TextSelectionPopup::SELECT_ALL :
+    case Toolkit::TextSelectionPopup::SELECT_ALL:
     {
-      buttonImageUrl = mSelectAllIconImage;
+      return mSelectAllIconImage;
       break;
     }
-    default :
+    case Toolkit::TextSelectionPopup::NONE:
     {
-      DALI_ASSERT_DEBUG( "TextSelectionPopup GetPopupImage Unknown Button" );
+      break;
     }
   } // switch
 
-  return buttonImageUrl;
+  DALI_ASSERT_DEBUG( "TextSelectionPopup GetPopupImage Unknown Button" );
+  static std::string empty;
+  return empty;
 }
 
 void TextSelectionPopup::SetPressedImage( const std::string& filename )
@@ -740,7 +741,7 @@ std::string TextSelectionPopup::GetPressedImage() const
    }
  }
 
- std::size_t TextSelectionPopup::GetNumberOfEnabledOptions()
+ std::size_t TextSelectionPopup::GetNumberOfEnabledOptions() const
  {
    std::size_t numberOfOptions = 0u;
    for( std::vector<ButtonRequirement>::const_iterator it = mOrderListOfButtons.begin(), endIt = mOrderListOfButtons.end(); ( it != endIt ); ++it )
index 9cd7ab7..9db95c6 100644 (file)
@@ -200,7 +200,7 @@ private: // Implementation
    *
    * @param[in] setting The setting from the PopupCustomisations enum
    */
-  Size GetDimensionToCustomise( const PopupCustomisations& setting );
+  Size GetDimensionToCustomise( const PopupCustomisations& setting ) const;
 
   /**
    * @brief Sets the image for the given button of the Popup.
@@ -216,7 +216,7 @@ private: // Implementation
    * @param[in] button The button to get the image from
    * @return The image used for that button.
    */
-  std::string GetButtonImage( Toolkit::TextSelectionPopup::Buttons button );
+  const std::string& GetButtonImage( Toolkit::TextSelectionPopup::Buttons button ) const;
 
   /**
    * @brief Sets the image for the pressed state of a popup option.
@@ -236,7 +236,7 @@ private: // Implementation
 
   void AddOption( const ButtonRequirement& button, bool showDivider, bool showIcons, bool showCaption );
 
-  std::size_t GetNumberOfEnabledOptions();
+  std::size_t GetNumberOfEnabledOptions() const;
 
   void AddPopupOptionsToToolbar(  bool showIcons, bool showCaptions );