Addition of new test cases 03/76403/2
authorDavid Steele <david.steele@samsung.com>
Thu, 23 Jun 2016 10:56:10 +0000 (11:56 +0100)
committerAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 23 Jun 2016 17:28:42 +0000 (10:28 -0700)
Change-Id: If9545be92a81324b6fb51dec088b77e084a0cf70

automated-tests/src/dali-toolkit/utc-Dali-FlexContainer.cpp
automated-tests/src/dali-toolkit/utc-Dali-Slider.cpp
build/tizen/Makefile.am
packaging/dali-toolkit.spec

index b92e8e7..f602079 100644 (file)
@@ -186,6 +186,53 @@ int UtcDaliToolkitFlexContainerSetPropertyP(void)
   END_TEST;
 }
 
+
+int UtcDaliToolkitFlexContainerSetPropertyEnumP(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" UtcDaliToolkitFlexContainerSetPropertyEnumP");
+  FlexContainer flexContainer = FlexContainer::New();
+  DALI_TEST_CHECK( flexContainer );
+
+  // Add flex container to the stage
+  Stage::GetCurrent().Add( flexContainer );
+
+  // Create two actors and add them to the container
+  Actor actor1 = Actor::New();
+  Actor actor2 = Actor::New();
+  DALI_TEST_CHECK( actor1 );
+  DALI_TEST_CHECK( actor2 );
+
+  flexContainer.Add(actor1);
+  flexContainer.Add(actor2);
+
+  // Check content direction property.
+  flexContainer.SetProperty( FlexContainer::Property::CONTENT_DIRECTION, "RTL" );
+  DALI_TEST_EQUALS( (FlexContainer::ContentDirection)flexContainer.GetProperty<int>( FlexContainer::Property::CONTENT_DIRECTION ), FlexContainer::RTL, TEST_LOCATION );
+
+  // Check flex direction property.
+  flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, "columnReverse" );
+  DALI_TEST_EQUALS( (FlexContainer::FlexDirection)flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_DIRECTION ), FlexContainer::COLUMN_REVERSE, TEST_LOCATION );
+
+  // Check flex wrap property.
+  flexContainer.SetProperty( FlexContainer::Property::FLEX_WRAP, "wrap" );
+  DALI_TEST_EQUALS( (FlexContainer::WrapType)flexContainer.GetProperty<int>( FlexContainer::Property::FLEX_WRAP ), FlexContainer::WRAP, TEST_LOCATION );
+
+  // Check justify content property.
+  flexContainer.SetProperty( FlexContainer::Property::JUSTIFY_CONTENT, "spaceBetween" );
+  DALI_TEST_EQUALS( (FlexContainer::Justification)flexContainer.GetProperty<int>( FlexContainer::Property::JUSTIFY_CONTENT ), FlexContainer::JUSTIFY_SPACE_BETWEEN, TEST_LOCATION );
+
+  // Check align items property.
+  flexContainer.SetProperty( FlexContainer::Property::ALIGN_ITEMS, "flexStart" );
+  DALI_TEST_EQUALS( (FlexContainer::Alignment)flexContainer.GetProperty<int>( FlexContainer::Property::ALIGN_ITEMS ), FlexContainer::ALIGN_FLEX_START, TEST_LOCATION );
+
+  // Check align content property.
+  flexContainer.SetProperty( FlexContainer::Property::ALIGN_CONTENT, "stretch" );
+  DALI_TEST_EQUALS( (FlexContainer::Alignment)flexContainer.GetProperty<int>( FlexContainer::Property::ALIGN_CONTENT ), FlexContainer::ALIGN_STRETCH, TEST_LOCATION );
+
+  END_TEST;
+}
+
 int UtcDaliToolkitFlexContainerSetChildPropertyP(void)
 {
   ToolkitTestApplication application;
@@ -217,6 +264,233 @@ int UtcDaliToolkitFlexContainerSetChildPropertyP(void)
   DALI_TEST_EQUALS( actor.GetProperty<Vector4>( FlexContainer::ChildProperty::FLEX_MARGIN ), Vector4( 10.0f, 10.0f, 10.0f, 10.0f ), TEST_LOCATION );
   DALI_TEST_CHECK( actor.GetPropertyIndex( CHILD_PROPERTY_NAME_FLEX_MARGIN ) == FlexContainer::ChildProperty::FLEX_MARGIN );
 
+  application.SendNotification();
+  application.Render();
+
+  END_TEST;
+}
+
+
+
+//Functor to test whether RelayoutSignal is emitted
+class RelayoutSignalHandler : public Dali::ConnectionTracker
+{
+public:
+
+  RelayoutSignalHandler( FlexContainer& actor )
+  : mSignalVerified( false ),
+    mActor( actor )
+  {
+  }
+
+  // callback to be connected to RelayoutSignal
+  void RelayoutCallback( Actor actor  )
+  {
+    if( mActor == actor )
+    {
+      mSignalVerified = true;
+    }
+  }
+
+  void Reset()
+  {
+    mSignalVerified = false;
+  }
+
+  bool   mSignalVerified;
+  Actor& mActor;
+};
+
+int UtcDaliToolkitFlexContainerRemoveChildP(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" UtcDaliToolkitFlexContainerSetPropertyP");
+  FlexContainer flexContainer = FlexContainer::New();
+  DALI_TEST_CHECK( flexContainer );
+
+  // Add flex container to the stage
+  Stage::GetCurrent().Add( flexContainer );
+
+  RelayoutSignalHandler relayoutSignal(flexContainer);
+  flexContainer.OnRelayoutSignal().Connect(&relayoutSignal, &RelayoutSignalHandler::RelayoutCallback );
+
+  // Create two actors and add them to the container
+  Actor actor1 = Actor::New();
+  Actor actor2 = Actor::New();
+  DALI_TEST_CHECK( actor1 );
+  DALI_TEST_CHECK( actor2 );
+
+  flexContainer.Add(actor1);
+  flexContainer.Add(actor2);
+
+  application.SendNotification();
+  application.Render();
+
+  DALI_TEST_EQUALS( relayoutSignal.mSignalVerified, true, TEST_LOCATION );
+  relayoutSignal.Reset();
+
+  DALI_TEST_CHECK( actor1 );
+  DALI_TEST_CHECK( actor2 );
+
+  flexContainer.Remove(actor1);
+  application.SendNotification();
+  application.Render();
+  DALI_TEST_EQUALS( relayoutSignal.mSignalVerified, true, TEST_LOCATION );
+  relayoutSignal.Reset();
+
+  flexContainer.Remove(actor2);
+  application.SendNotification();
+  application.Render();
+  DALI_TEST_EQUALS( relayoutSignal.mSignalVerified, true, TEST_LOCATION );
+  relayoutSignal.Reset();
+
   END_TEST;
 }
 
+namespace
+{
+
+// Functors to test whether PreFocusChange signal is emitted when the keyboard focus is about to change
+class PreFocusChangeCallback : public Dali::ConnectionTracker
+{
+public:
+  PreFocusChangeCallback(bool& signalReceived, Actor firstFocusActor)
+  : mSignalVerified(signalReceived),
+    mFirstFocusActor(firstFocusActor),
+    mDirection(Control::KeyboardFocus::LEFT)
+  {
+  }
+
+  Actor Callback(Actor currentFocusedActor, Actor proposedActorToFocus, Control::KeyboardFocus::Direction direction)
+  {
+    tet_infoline("Verifying PreFocusChangeCallback()");
+
+    mSignalVerified = true;
+    mDirection = direction;
+    if( ! proposedActorToFocus )
+    {
+      return mFirstFocusActor;
+    }
+    else
+    {
+      return proposedActorToFocus;
+    }
+  }
+
+  void Reset()
+  {
+    mSignalVerified = false;
+    mDirection = Control::KeyboardFocus::LEFT;
+  }
+
+  bool& mSignalVerified;
+  Actor mFirstFocusActor;
+  Control::KeyboardFocus::Direction mDirection;
+};
+
+// Functors to test whether focus changed signal is emitted when the keyboard focus is changed
+class FocusChangedCallback : public Dali::ConnectionTracker
+{
+public:
+  FocusChangedCallback(bool& signalReceived)
+  : mSignalVerified(signalReceived),
+    mOriginalFocusedActor(),
+    mCurrentFocusedActor()
+  {
+  }
+
+  void Callback(Actor originalFocusedActor, Actor currentFocusedActor)
+  {
+    tet_infoline("Verifying FocusChangedCallback()");
+
+    if(originalFocusedActor == mCurrentFocusedActor)
+    {
+      mSignalVerified = true;
+    }
+
+    mOriginalFocusedActor = originalFocusedActor;
+    mCurrentFocusedActor = currentFocusedActor;
+  }
+
+  void Reset()
+  {
+    mSignalVerified = false;
+  }
+
+  bool& mSignalVerified;
+  Actor mOriginalFocusedActor;
+  Actor mCurrentFocusedActor;
+};
+
+} // anonymous namespace
+
+
+int UtcDaliToolkitFlexContainerMoveFocus(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline(" UtcDaliToolkitFlexContainerSetPropertyP");
+  FlexContainer flexContainer = FlexContainer::New();
+  DALI_TEST_CHECK( flexContainer );
+
+  flexContainer.SetProperty( FlexContainer::Property::FLEX_DIRECTION, FlexContainer::ROW );
+
+  // Add flex container to the stage
+  Stage::GetCurrent().Add( flexContainer );
+  Size stageSize = Stage::GetCurrent().GetSize();
+
+  RelayoutSignalHandler relayoutSignal(flexContainer);
+  flexContainer.OnRelayoutSignal().Connect(&relayoutSignal, &RelayoutSignalHandler::RelayoutCallback );
+  flexContainer.SetSize( stageSize );
+
+  // Create two actors and add them to the container
+  Actor actor1 = Actor::New();
+  Actor actor2 = Actor::New();
+  actor1.SetKeyboardFocusable(true);
+  actor2.SetKeyboardFocusable(true);
+  DALI_TEST_CHECK( actor1 );
+  DALI_TEST_CHECK( actor2 );
+
+  flexContainer.Add(actor1);
+  flexContainer.Add(actor2);
+
+  application.SendNotification();
+  application.Render();
+
+  KeyboardFocusManager manager = KeyboardFocusManager::Get();
+  DALI_TEST_CHECK(manager);
+
+  bool preFocusChangeSignalVerified = false;
+  PreFocusChangeCallback preFocusChangeCallback(preFocusChangeSignalVerified, actor1);
+  manager.PreFocusChangeSignal().Connect( &preFocusChangeCallback, &PreFocusChangeCallback::Callback );
+
+  bool focusChangedSignalVerified = false;
+  FocusChangedCallback focusChangedCallback(focusChangedSignalVerified);
+  manager.FocusChangedSignal().Connect( &focusChangedCallback, &FocusChangedCallback::Callback );
+
+  // Move the focus to the right
+  DALI_TEST_EQUALS(manager.MoveFocus(Control::KeyboardFocus::RIGHT), true, TEST_LOCATION);
+  DALI_TEST_CHECK(preFocusChangeCallback.mSignalVerified);
+  DALI_TEST_EQUALS(manager.GetCurrentFocusActor(), actor1, TEST_LOCATION);
+  preFocusChangeCallback.Reset();
+  DALI_TEST_EQUALS(focusChangedCallback.mCurrentFocusedActor, actor1, TEST_LOCATION);
+  focusChangedCallback.Reset();
+
+  // Move the focus towards right
+  DALI_TEST_EQUALS(manager.MoveFocus(Control::KeyboardFocus::RIGHT), true, TEST_LOCATION);
+  DALI_TEST_EQUALS(preFocusChangeCallback.mSignalVerified, true, TEST_LOCATION);
+  DALI_TEST_EQUALS(manager.GetCurrentFocusActor(), actor2, TEST_LOCATION);
+  DALI_TEST_EQUALS(focusChangedCallback.mSignalVerified, true, TEST_LOCATION);
+  DALI_TEST_EQUALS(focusChangedCallback.mCurrentFocusedActor, actor2, TEST_LOCATION);
+
+  preFocusChangeCallback.Reset();
+  focusChangedCallback.Reset();
+
+  // Move the focus towards left
+  DALI_TEST_EQUALS(manager.MoveFocus(Control::KeyboardFocus::LEFT), true, TEST_LOCATION);
+  DALI_TEST_EQUALS(preFocusChangeCallback.mSignalVerified, true, TEST_LOCATION);
+  DALI_TEST_EQUALS(manager.GetCurrentFocusActor(), actor1, TEST_LOCATION);
+  DALI_TEST_EQUALS(focusChangedCallback.mSignalVerified, true, TEST_LOCATION);
+  DALI_TEST_EQUALS(focusChangedCallback.mCurrentFocusedActor, actor1, TEST_LOCATION);
+
+  END_TEST;
+}
index 7ec6acf..e96556b 100644 (file)
@@ -20,6 +20,7 @@
 #include <dali-toolkit-test-suite-utils.h>
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali/integration-api/events/touch-event-integ.h>
+#include <dali/integration-api/events/pan-gesture-event.h>
 
 using namespace Dali;
 using namespace Dali::Toolkit;
@@ -114,10 +115,10 @@ static bool OnSliderMark( Slider slider, int value )
   return true;
 }
 
-int UtcDaliSliderSignals(void)
+int UtcDaliSliderSignals1(void)
 {
   ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
-  tet_infoline(" UtcDaliSliderSignals");
+  tet_infoline(" UtcDaliSliderSignals1");
 
   // Create the Popup actor
   Slider slider = Slider::New();
@@ -178,3 +179,202 @@ int UtcDaliSliderSignals(void)
   DALI_TEST_CHECK(gSliderMarkCallBackCalled);
   END_TEST;
 }
+
+
+namespace
+{
+bool gSliderSignal=false;
+struct SliderSignalFunctor
+{
+  SliderSignalFunctor()
+  {
+  }
+
+  void operator()()
+  {
+    gSliderSignal = true;
+  }
+};
+} // anonymous
+
+
+
+int UtcDaliSliderSignals2(void)
+{
+  ToolkitTestApplication application;  // Exceptions require ToolkitTestApplication
+  tet_infoline(" UtcDaliSliderSignals1");
+
+  // Create the Popup actor
+  Slider slider = Slider::New();
+  Stage::GetCurrent().Add( slider );
+  slider.SetParentOrigin(ParentOrigin::TOP_LEFT);
+  slider.SetAnchorPoint(ParentOrigin::TOP_LEFT);
+  slider.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
+  slider.SetPosition( 0.0f, 0.0f );
+
+  const float MIN_BOUND = 0.0f;
+  const float MAX_BOUND = 1.0f;
+  const int NUM_MARKS = 5;
+  Property::Array marks;
+  for( int i = 0; i < NUM_MARKS; ++i )
+  {
+    marks.PushBack( MIN_BOUND + ( static_cast<float>(i) / ( NUM_MARKS - 1) ) * ( MAX_BOUND - MIN_BOUND ) );
+  }
+  slider.SetProperty( Slider::Property::MARKS, marks );
+  slider.SetProperty( Slider::Property::MARK_TOLERANCE, 0.1f );
+
+  gSliderSignal = false;
+  ConnectionTracker* testTracker = new ConnectionTracker();
+  slider.ConnectSignal( testTracker, "valueChanged",   SliderSignalFunctor() );
+
+  application.SendNotification();
+  application.Render();
+
+  gSliderValueChangedCallBackCalled = false;
+  gSliderMarkCallBackCalled = false;
+
+  Dali::Integration::TouchEvent event;
+
+  event = Dali::Integration::TouchEvent();
+
+  Integration::Point pointDown;
+  pointDown.SetState( PointState::DOWN );
+  pointDown.SetScreenPosition( Vector2( 10.0f, 10.0f ) );
+  event.AddPoint( pointDown );
+
+  for( int i = 0; i < 5; ++i )
+  {
+    Integration::Point pointMotion;
+    pointMotion.SetState( PointState::MOTION );
+    pointMotion.SetScreenPosition( Vector2( 10.0f + i * 10.0f, 10.0f ) );
+    event.AddPoint( pointMotion );
+  }
+
+  Integration::Point pointUp;
+  pointUp.SetState( PointState::UP );
+  pointUp.SetScreenPosition( Vector2( 10.0f, 10.0f ) );
+  event.AddPoint( pointUp );
+
+  application.ProcessEvent( event );
+
+  application.SendNotification();
+  application.Render();
+
+  DALI_TEST_CHECK(gSliderSignal);
+  END_TEST;
+}
+
+int UtcDaliSetPropertyP(void)
+{
+  ToolkitTestApplication application;
+  tet_infoline( "UtcDaliSetPropertyP" );
+
+  Slider slider = Slider::New();
+  slider.SetParentOrigin(ParentOrigin::TOP_LEFT);
+  slider.SetAnchorPoint(ParentOrigin::TOP_LEFT);
+  slider.SetSize( Vector2( Stage::GetCurrent().GetSize().x, 20.0f ) );
+  slider.SetPosition( 0.0f, 0.0f );
+
+  Stage::GetCurrent().Add(slider);
+  application.SendNotification();
+  application.Render();
+
+  Property::Map map;
+  map["rendererType"] = "image";
+  map["url"] = "url";
+  slider.SetProperty(Slider::Property::LOWER_BOUND,        1.0f);
+  slider.SetProperty(Slider::Property::UPPER_BOUND,        5.0f);
+  slider.SetProperty(Slider::Property::VALUE,              3.0f);
+  slider.SetProperty(Slider::Property::DISABLED_COLOR,     Color::BLACK);
+  slider.SetProperty(Slider::Property::VALUE_PRECISION,    4);
+  slider.SetProperty(Slider::Property::SHOW_POPUP,         true);
+  slider.SetProperty(Slider::Property::SHOW_VALUE,         true);
+  slider.SetProperty(Slider::Property::MARKS,              false);
+  slider.SetProperty(Slider::Property::SNAP_TO_MARKS,      false);
+  slider.SetProperty(Slider::Property::MARK_TOLERANCE,     0.5f);
+
+  float lb = slider.GetProperty<float>(Slider::Property::LOWER_BOUND);
+  DALI_TEST_EQUALS(lb, 1.0f, TEST_LOCATION);
+  float ub = slider.GetProperty<float>(Slider::Property::UPPER_BOUND);
+  DALI_TEST_EQUALS(ub, 5.0f, TEST_LOCATION);
+  float val = slider.GetProperty<float>(Slider::Property::VALUE);
+  DALI_TEST_EQUALS(val, 3.0f, TEST_LOCATION);
+  Vector4 color = slider.GetProperty<Vector4>(Slider::Property::DISABLED_COLOR);
+  DALI_TEST_EQUALS( color, Color::BLACK, TEST_LOCATION );
+  int precision = slider.GetProperty<int>(Slider::Property::VALUE_PRECISION);
+  DALI_TEST_EQUALS( precision, 4, TEST_LOCATION);
+  bool showPopup = slider.GetProperty<bool>(Slider::Property::SHOW_POPUP);
+  DALI_TEST_EQUALS( showPopup, true , TEST_LOCATION);
+  bool showValue = slider.GetProperty<bool>(Slider::Property::SHOW_VALUE);
+  DALI_TEST_EQUALS( showValue, true, TEST_LOCATION );
+  bool marks = slider.GetProperty<bool>(Slider::Property::MARKS);
+  DALI_TEST_EQUALS( marks, false, TEST_LOCATION );
+  bool snapToMarks = slider.GetProperty<bool>(Slider::Property::SNAP_TO_MARKS);
+  DALI_TEST_EQUALS( snapToMarks, false, TEST_LOCATION );
+  float tolerance = slider.GetProperty<float>(Slider::Property::MARK_TOLERANCE);
+  DALI_TEST_EQUALS( tolerance, 0.5f, TEST_LOCATION );
+
+  {
+    map["url"] = "track2.png";
+    slider.SetProperty(Slider::Property::TRACK_VISUAL,       map);
+    map["url"] = "handle2.png";
+    slider.SetProperty(Slider::Property::HANDLE_VISUAL,      map);
+    map["url"] = "progress2.png";
+    slider.SetProperty(Slider::Property::PROGRESS_VISUAL,    map);
+    map["url"] = "popup2.png";
+    slider.SetProperty(Slider::Property::POPUP_VISUAL,       map);
+    map["url"] = "popupArrow2.png";
+    slider.SetProperty(Slider::Property::POPUP_ARROW_VISUAL, map);
+
+    Property::Value value = slider.GetProperty(Slider::Property::TRACK_VISUAL);
+    Property::Map* resultMap = value.GetMap();
+    DALI_TEST_CHECK( resultMap );
+    Property::Value* url = resultMap->Find("url");
+    DALI_TEST_CHECK( url ) ;
+    DALI_TEST_EQUALS( *url, "track2.png", TEST_LOCATION );
+
+    value = slider.GetProperty(Slider::Property::HANDLE_VISUAL);
+    resultMap = value.GetMap();
+    DALI_TEST_CHECK( resultMap );
+    url = resultMap->Find("url");
+    DALI_TEST_CHECK( url ) ;
+    DALI_TEST_EQUALS( *url, "handle2.png", TEST_LOCATION );
+
+    value = slider.GetProperty(Slider::Property::PROGRESS_VISUAL);
+    resultMap = value.GetMap();
+    DALI_TEST_CHECK( resultMap );
+    url = resultMap->Find("url");
+    DALI_TEST_CHECK( url ) ;
+    DALI_TEST_EQUALS( *url, "progress2.png", TEST_LOCATION );
+
+    value = slider.GetProperty(Slider::Property::POPUP_VISUAL);
+    resultMap = value.GetMap();
+    DALI_TEST_CHECK( resultMap );
+    url = resultMap->Find("url");
+    DALI_TEST_CHECK( url ) ;
+    DALI_TEST_EQUALS( *url, "popup2.png", TEST_LOCATION );
+
+    value = slider.GetProperty(Slider::Property::POPUP_ARROW_VISUAL);
+    resultMap = value.GetMap();
+    DALI_TEST_CHECK( resultMap );
+    url = resultMap->Find("url");
+    DALI_TEST_CHECK( url ) ;
+    DALI_TEST_EQUALS( *url, "popupArrow2.png", TEST_LOCATION );
+  }
+
+  END_TEST;
+}
+
+
+// DestroyHandleVisualDisplay
+// CreateValueDisplay
+// SlidingFinishedSignal()
+// UpdateSkin disabled
+// AddPopup
+// RemovePopup
+// SnapToMark
+// HideValueView
+// GetDisabledColor
+// GetShowPopup
+// GetShowVisual
+// DisplayPopup (with set valueText label)
index 18faf8d..a672053 100644 (file)
@@ -55,7 +55,7 @@ cov_data:
        @for i in `find $(COVERAGE_DIR) -name "libdali_toolkit_la-*.gcda" -o -name "libdali_toolkit_la-*.gcno"` ;\
                do mv $$i `echo $$i | sed s/libdali_toolkit_la-//` ; echo $$i ; done
        @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --base-directory . --directory . -c -o dali.info
-       @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --remove dali.info "/usr/include/*" "*/dali-env/*" "*/dali-toolkit/third-party/*" -o dali.info
+       @cd $(COVERAGE_DIR) ; lcov $(LCOV_OPTS) --remove dali.info "/usr/include/*" "*/dali-env/*" "*solid-color-actor*" "*/dali-toolkit/third-party/*"  -o dali.info
        @test -z $(COVERAGE_OUTPUT_DIR) || mkdir -p $(COVERAGE_OUTPUT_DIR)
 
 coverage: cov_data
index 7ec107a..e1aefb1 100644 (file)
@@ -37,6 +37,12 @@ BuildRequires:  dali-adaptor-devel
   %define dali_toolkit_profile MOBILE
 %endif
 
+%if 0%{?enable_coverage}
+CXXFLAGS+=" -fprofile-arcs -ftest-coverage --coverage "
+LDFLAGS+=" -fprofile-arcs -ftest-coverage --coverage -lgcov "
+%endif
+
+
 %description
 The OpenGLES Canvas Core Library Toolkit - a set of controls that provide
 user interface functionality.
@@ -155,4 +161,3 @@ exit 0
 %defattr(-,root,root,-)
 %{dev_include_path}/%{name}/*
 %{_libdir}/pkgconfig/*.pc
-