From 62dcdef969fe29f43abfbe2653e73ab09b2d1bf6 Mon Sep 17 00:00:00 2001
From: Grzegorz Bizon <grzesiek.bizon@gmail.com>
Date: Fri, 26 Feb 2016 10:52:00 +0100
Subject: [PATCH] Improve cross project label look and feel

---
 app/helpers/labels_helper.rb                          | 11 ++++++-----
 spec/lib/banzai/filter/label_reference_filter_spec.rb | 10 ++++++++--
 2 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/app/helpers/labels_helper.rb b/app/helpers/labels_helper.rb
index 122f50081..37fc1dab8 100644
--- a/app/helpers/labels_helper.rb
+++ b/app/helpers/labels_helper.rb
@@ -50,22 +50,23 @@ module LabelsHelper
     @project.labels.pluck(:title)
   end
 
-  def render_colored_label(label, label_prefix = '')
+  def render_colored_label(label, label_suffix = '')
     label_color = label.color || Label::DEFAULT_COLOR
     text_color = text_color_for_bg(label_color)
 
     # Intentionally not using content_tag here so that this method can be called
     # by LabelReferenceFilter
     span = %(<span class="label color-label") +
-      %( style="background-color: #{label_color}; color: #{text_color}">) +
-      label_prefix + escape_once(label.name) + '</span>'
+      %(style="background-color: #{label_color}; color: #{text_color}">) +
+      %(#{escape_once(label.name)}#{label_suffix}</span>)
 
     span.html_safe
   end
 
   def render_colored_cross_project_label(label)
-    label_prefix = "#{label.project.path_with_namespace} &raquo; "
-    render_colored_label(label, label_prefix)
+    label_suffix = label.project.name
+    label_suffix = " <i>&laquo; #{label_suffix}</i>"
+    render_colored_label(label, label_suffix)
   end
 
   def suggested_colors
diff --git a/spec/lib/banzai/filter/label_reference_filter_spec.rb b/spec/lib/banzai/filter/label_reference_filter_spec.rb
index 96a403f26..8786095fb 100644
--- a/spec/lib/banzai/filter/label_reference_filter_spec.rb
+++ b/spec/lib/banzai/filter/label_reference_filter_spec.rb
@@ -178,7 +178,8 @@ describe Banzai::Filter::LabelReferenceFilter, lib: true do
   end
 
   describe 'cross project label references' do
-    let(:another_project)  { create(:empty_project, :public) }
+    let(:project_name) { 'Some project' }
+    let(:another_project)  { create(:empty_project, :public, name: project_name) }
     let(:label) { create(:label, project: another_project, color: '#00ff00') }
     let(:reference) { label.to_reference(project) }
 
@@ -192,7 +193,12 @@ describe Banzai::Filter::LabelReferenceFilter, lib: true do
     end
 
     it 'has valid color' do
-      expect(result.css('a span').first.attr('style')).to match /background-color: #00ff00/
+      expect(result.css('a span').first.attr('style'))
+        .to match /background-color: #00ff00/
+    end
+
+    it 'contains cross project content' do
+      expect(result.css('a').first.text).to eq "#{label.name} « #{project_name}"
     end
   end
 end
-- 
2.30.9