Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/color_spec.rb')
-rw-r--r--spec/lib/gitlab/color_spec.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/lib/gitlab/color_spec.rb b/spec/lib/gitlab/color_spec.rb
index 8b16e13fa4d..28719aa6199 100644
--- a/spec/lib/gitlab/color_spec.rb
+++ b/spec/lib/gitlab/color_spec.rb
@@ -24,6 +24,48 @@ RSpec.describe Gitlab::Color do
end
end
+ describe '.color_for' do
+ subject { described_class.color_for(value) }
+
+ shared_examples 'deterministic' do
+ it 'is deterministoc' do
+ expect(subject.to_s).to eq(described_class.color_for(value).to_s)
+ end
+ end
+
+ context 'when generating color for nil value' do
+ let(:value) { nil }
+
+ specify { is_expected.to be_valid }
+
+ it_behaves_like 'deterministic'
+ end
+
+ context 'when generating color for empty string value' do
+ let(:value) { '' }
+
+ specify { is_expected.to be_valid }
+
+ it_behaves_like 'deterministic'
+ end
+
+ context 'when generating color for number value' do
+ let(:value) { 1 }
+
+ specify { is_expected.to be_valid }
+
+ it_behaves_like 'deterministic'
+ end
+
+ context 'when generating color for string value' do
+ let(:value) { "1" }
+
+ specify { is_expected.to be_valid }
+
+ it_behaves_like 'deterministic'
+ end
+ end
+
describe '#new' do
it 'handles nil values' do
expect(described_class.new(nil)).to eq(described_class.new(nil))