diff options
| -rw-r--r-- | dash/previews/MoviePreview.cpp | 19 | ||||
| -rw-r--r-- | tests/test_previews_movie.cpp | 17 |
2 files changed, 26 insertions, 10 deletions
diff --git a/dash/previews/MoviePreview.cpp b/dash/previews/MoviePreview.cpp index 928a0a155..5edcb5db3 100644 --- a/dash/previews/MoviePreview.cpp +++ b/dash/previews/MoviePreview.cpp @@ -163,13 +163,15 @@ void MoviePreview::SetupViews() } ///////////////////// - rating_ = new PreviewRatingsWidget(); - AddChild(rating_.GetPointer()); - rating_->SetMaximumHeight(style.GetRatingWidgetHeight()); - rating_->SetMinimumHeight(style.GetRatingWidgetHeight()); - rating_->SetRating(movie_preview_model->rating); - rating_->SetReviews(movie_preview_model->num_ratings); - rating_->request_close().connect([this]() { preview_container_->request_close.emit(); }); + if (movie_preview_model->rating >= 0) { + rating_ = new PreviewRatingsWidget(); + AddChild(rating_.GetPointer()); + rating_->SetMaximumHeight(style.GetRatingWidgetHeight()); + rating_->SetMinimumHeight(style.GetRatingWidgetHeight()); + rating_->SetRating(movie_preview_model->rating); + rating_->SetReviews(movie_preview_model->num_ratings); + rating_->request_close().connect([this]() { preview_container_->request_close.emit(); }); + } ///////////////////// // Description @@ -210,7 +212,8 @@ void MoviePreview::SetupViews() /////////////////// full_data_layout_->AddLayout(app_data_layout, 0); - full_data_layout_->AddView(rating_.GetPointer(), 0); + if (rating_ != NULL) + full_data_layout_->AddView(rating_.GetPointer(), 0); full_data_layout_->AddView(preview_info, 1); full_data_layout_->AddView(actions_layout, 0); ///////////////////// diff --git a/tests/test_previews_movie.cpp b/tests/test_previews_movie.cpp index d600dc167..fb9f71b40 100644 --- a/tests/test_previews_movie.cpp +++ b/tests/test_previews_movie.cpp @@ -63,14 +63,16 @@ class TestPreviewMovie : public Test { public: TestPreviewMovie() - : parent_window_(new nux::BaseWindow("TestPreviewMovie")) + : parent_window_(new nux::BaseWindow("TestPreviewMovie")) {} + + void create_preview_model(double rating) { glib::Object<UnityProtocolPreview> proto_obj(UNITY_PROTOCOL_PREVIEW(unity_protocol_movie_preview_new())); GHashTable* action_hints1(g_hash_table_new(g_direct_hash, g_direct_equal)); g_hash_table_insert (action_hints1, g_strdup ("extra-text"), g_variant_new_string("£1.00")); - unity_protocol_movie_preview_set_rating(UNITY_PROTOCOL_MOVIE_PREVIEW(proto_obj.RawPtr()), 0.8); + unity_protocol_movie_preview_set_rating(UNITY_PROTOCOL_MOVIE_PREVIEW(proto_obj.RawPtr()), rating); unity_protocol_movie_preview_set_num_ratings(UNITY_PROTOCOL_MOVIE_PREVIEW(proto_obj.RawPtr()), 12); unity_protocol_preview_set_image_source_uri(proto_obj, "http://ia.media-imdb.com/images/M/MV5BMTM3NDM5MzY5Ml5BMl5BanBnXkFtZTcwNjExMDUwOA@@._V1._SY317_.jpg"); @@ -100,6 +102,7 @@ public: TEST_F(TestPreviewMovie, TestCreate) { + create_preview_model(0.8); previews::Preview::Ptr preview_view = previews::Preview::PreviewForModel(preview_model_); EXPECT_TRUE(dynamic_cast<previews::MoviePreview*>(preview_view.GetPointer()) != NULL); @@ -107,6 +110,7 @@ TEST_F(TestPreviewMovie, TestCreate) TEST_F(TestPreviewMovie, TestUIValues) { + create_preview_model(0.8); MockMoviePreview::Ptr preview_view(new MockMoviePreview(preview_model_)); EXPECT_EQ(preview_view->title_->GetText(), "Movie Title & special char"); @@ -135,4 +139,13 @@ TEST_F(TestPreviewMovie, TestUIValues) } } +TEST_F(TestPreviewMovie, TestHideRatings) +{ + create_preview_model(-1); + MockMoviePreview::Ptr preview_view(new MockMoviePreview(preview_model_)); + + EXPECT_EQ(preview_view->rating_, NULL); +} + + } |
