term-ansicolor 1.7.1 → 1.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,7 +32,7 @@ class AttributeTest < Test::Unit::TestCase
32
32
  assert_in_delta 250.954, Attribute.get(:color0).distance_to(color), 1e-3
33
33
  color = Attribute.nearest_rgb_color('#0f0')
34
34
  assert_in_delta 255, Attribute.get(:color0).distance_to(color,
35
- :metric => RGBColorMetrics::Euclidean), 1e-3
35
+ metric: RGBColorMetrics::Euclidean), 1e-3
36
36
  assert_equal 1 / 0.0, Attribute.get(:color0).distance_to(nil)
37
37
  end
38
38
 
@@ -40,14 +40,14 @@ class AttributeTest < Test::Unit::TestCase
40
40
  assert_equal Attribute.get(:color0).rgb, Attribute.nearest_rgb_color('#000').rgb
41
41
  assert_equal Attribute.get(:color15).rgb, Attribute.nearest_rgb_color('#ffffff').rgb
42
42
  assert_equal :color248, Attribute.nearest_rgb_color('#aaa').name
43
- assert_equal :color109, Attribute.nearest_rgb_color('#aaa', :gray => false).name
43
+ assert_equal :color109, Attribute.nearest_rgb_color('#aaa', gray: false).name
44
44
  end
45
45
 
46
46
  def test_nearest_rgb_on_color
47
47
  assert_equal Attribute.get(:on_color0).rgb, Attribute.nearest_rgb_on_color('#000').rgb
48
48
  assert_equal Attribute.get(:on_color15).rgb, Attribute.nearest_rgb_on_color('#ffffff').rgb
49
49
  assert_equal :on_color248, Attribute.nearest_rgb_on_color('#aaa').name
50
- assert_equal :on_color109, Attribute.nearest_rgb_on_color('#aaa', :gray => false).name
50
+ assert_equal :on_color109, Attribute.nearest_rgb_on_color('#aaa', gray: false).name
51
51
  end
52
52
 
53
53
  def test_apply
@@ -59,15 +59,54 @@ class AttributeTest < Test::Unit::TestCase
59
59
  def test_gradient
60
60
  g0 = Attribute[:blink].gradient_to Attribute['#30ffaa']
61
61
  assert_equal [], g0
62
- g1 = Attribute['#30ffaa'].gradient_to(Attribute['#ff507f'], :steps => 9)
62
+ g1 = Attribute['#30ffaa'].gradient_to(Attribute['#ff507f'], steps: 9)
63
63
  assert_equal [ :color49, :color49, :color43, :color79, :color108,
64
64
  :color247, :color138, :color168, :color204 ], g1.map(&:name)
65
65
  g2 = Attribute['#30ffaa'].gradient_to(
66
66
  Attribute['#ff507f'],
67
- :steps => 9,
68
- :metric => RGBColorMetrics::Euclidean
67
+ steps: 9,
68
+ metric: RGBColorMetrics::Euclidean
69
69
  )
70
70
  assert_equal [ :color49, :color43, :color79, :color73, :color108,
71
71
  :color247, :color138, :color168, :color204 ], g2.map(&:name)
72
72
  end
73
+
74
+ def test_true_color
75
+ pinkish = Attribute['#f050a0', true_coloring: true]
76
+ assert_equal [ 240, 80, 160 ], pinkish.to_rgb_triple.to_a
77
+ on_pinkish = Attribute['on_#f050a0', true_coloring: true]
78
+ assert_equal [ 240, 80, 160 ], on_pinkish.to_rgb_triple.to_a
79
+ red = Attribute['9', true_coloring: true]
80
+ assert_equal [ 255, 0, 0 ], red.to_rgb_triple.to_a
81
+ red = Attribute['red', true_coloring: true]
82
+ assert_equal :red, red.name
83
+ pinkish_pinkish = Attribute[pinkish, true_coloring: true]
84
+ assert_equal pinkish, pinkish_pinkish
85
+ pinkish_pinkish = Attribute[pinkish.to_rgb_triple, true_coloring: true]
86
+ assert_equal pinkish.to_rgb_triple, pinkish_pinkish.to_rgb_triple
87
+ pinkish_pinkish = Attribute[pinkish.to_rgb_triple.to_a, true_coloring: true]
88
+ assert_equal pinkish.to_rgb_triple, pinkish_pinkish.to_rgb_triple
89
+ end
90
+
91
+ def test_true_color_gradient
92
+ g0 = Attribute[:blink].gradient_to Attribute['#30ffaa']
93
+ assert_equal [], g0
94
+ g1 = Attribute['#30ffaa'].gradient_to(
95
+ Attribute['#ff507f'],
96
+ steps: 9,
97
+ true_coloring: true
98
+ )
99
+ assert_equal %w[
100
+ #00ffaf #1febaa #3ed7a5 #5dc3a0 #7caf9b #9b9b96 #ba8791 #d9738c #ff5f87
101
+ ], g1.map { |c| c.rgb.html }
102
+ g2 = Attribute['#30ffaa'].gradient_to(
103
+ Attribute['#ff507f'],
104
+ steps: 9,
105
+ true_coloring: true,
106
+ metric: RGBColorMetrics::Euclidean
107
+ )
108
+ assert_equal %w[
109
+ #00ffaf #1febaa #3ed7a5 #5dc3a0 #7caf9b #9b9b96 #ba8791 #d9738c #ff5f87
110
+ ], g2.map { |c| c.rgb.html }
111
+ end
73
112
  end
@@ -13,7 +13,7 @@ class HSLTripleTest < Test::Unit::TestCase
13
13
 
14
14
  def test_hsl_cast
15
15
  assert_equal '#85e085', HSLTriple[ @pastel_green_hsl ].html
16
- assert_equal '#85e085', HSLTriple[ :hue => 120, :saturation => 59.4, :lightness => 70 ].html
16
+ assert_equal '#85e085', HSLTriple[ hue: 120, saturation: 59.4, lightness: 70 ].html
17
17
  assert_equal '#11ddff', HSLTriple[ '#1df' ].html
18
18
  assert_equal '#8000ff', HSLTriple[ 'rgb(128,0,255)' ].html
19
19
  assert_equal '#85e085', HSLTriple[ 'hsl(120.0,59.4%,70.0%)' ].html
@@ -80,6 +80,6 @@ class HSLTripleTest < Test::Unit::TestCase
80
80
  end
81
81
 
82
82
  def test_method_missing
83
- assert_raise(NoMethodError) { @pastel_green_hsl.foo }
83
+ assert_raises(NoMethodError) { @pastel_green_hsl.foo }
84
84
  end
85
85
  end
@@ -0,0 +1,58 @@
1
+ require 'test_helper'
2
+
3
+ class HyperlinkTest < Test::Unit::TestCase
4
+ include Term::ANSIColor
5
+
6
+ def setup
7
+ @link = 'https://foo.example.com'
8
+ end
9
+
10
+ def test_hyperlink_switch_on
11
+ assert_equal(
12
+ "\e]8;;#@link\e\\",
13
+ hyperlink(@link)
14
+ )
15
+ end
16
+
17
+ def test_hyperlink_switch_off
18
+ assert_equal(
19
+ "\e]8;;\e\\",
20
+ hyperlink(nil)
21
+ )
22
+ end
23
+
24
+ def test_hyperlink_as_link
25
+ assert_equal(
26
+ hyperlink(@link, as_link: true),
27
+ "\e]8;;#@link\e\\#@link\e]8;;\e\\",
28
+ )
29
+ end
30
+
31
+ def test_hyperlink_two_args
32
+ assert_equal(
33
+ "\e]8;;#@link\e\\foo\e]8;;\e\\",
34
+ hyperlink(@link, 'foo')
35
+ )
36
+ end
37
+
38
+ def test_hyperlink_two_args_with_id
39
+ assert_equal(
40
+ "\e]8;id=666;#@link\e\\foo\e]8;;\e\\",
41
+ hyperlink(@link, 'foo', id: 666)
42
+ )
43
+ end
44
+
45
+ def test_hyperlink_block_arg
46
+ assert_raises(ArgumentError) { hyperlink(@link, 'bar') { 'baz' } }
47
+ assert_equal(
48
+ "\e]8;;#@link\e\\foo\e]8;;\e\\",
49
+ hyperlink(@link) { 'foo' }
50
+ )
51
+ end
52
+
53
+ def test_with_stringy_self
54
+ string = 'foo'
55
+ string.extend Term::ANSIColor
56
+ assert_equal "\e]8;;#@link\e\\foo\e]8;;\e\\", string.hyperlink(@link)
57
+ end
58
+ end
@@ -28,6 +28,14 @@ class PPMReaderTest < Test::Unit::TestCase
28
28
  end
29
29
  end
30
30
 
31
+ def test_rendering_ppm_with_true_colors
32
+ File.open(example_path('lambda-red.ppm')) do |ppm6|
33
+ ppm_reader = PPMReader.new(ppm6, :true_coloring => true)
34
+ assert_equal '5faa2b046cc3e030f86588e472683834',
35
+ Digest::MD5.hexdigest(ppm_reader.to_s)
36
+ end
37
+ end
38
+
31
39
  def test_to_a
32
40
  File.open(example_path('lambda-red.ppm')) do |ppm6|
33
41
  ppm_reader = PPMReader.new(ppm6, :gray => false)
@@ -96,6 +96,6 @@ class RgbTripleTest < Test::Unit::TestCase
96
96
  end
97
97
 
98
98
  def test_method_missing
99
- assert_raise(NoMethodError) { RGBTriple.new(0, 0, 0).foo }
99
+ assert_raises(NoMethodError) { RGBTriple.new(0, 0, 0).foo }
100
100
  end
101
101
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: term-ansicolor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.10.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-18 00:00:00.000000000 Z
11
+ date: 2024-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.9.1
19
+ version: 1.16.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.9.1
26
+ version: 1.16.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: simplecov
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: utils
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: tins
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -66,16 +80,30 @@ dependencies:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
82
  version: '1.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mize
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.5'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.5'
69
97
  description: This library uses ANSI escape sequences to control the attributes of
70
98
  terminal output
71
99
  email: flori@ping.de
72
100
  executables:
73
- - term_snow
74
- - term_display
75
- - term_decolor
76
101
  - term_cdiff
77
- - term_mandel
78
102
  - term_colortab
103
+ - term_decolor
104
+ - term_display
105
+ - term_mandel
106
+ - term_snow
79
107
  extensions: []
80
108
  extra_rdoc_files:
81
109
  - README.md
@@ -85,15 +113,18 @@ extra_rdoc_files:
85
113
  - lib/term/ansicolor/attribute/color8.rb
86
114
  - lib/term/ansicolor/attribute/intense_color8.rb
87
115
  - lib/term/ansicolor/attribute/text.rb
116
+ - lib/term/ansicolor/attribute/underline.rb
88
117
  - lib/term/ansicolor/hsl_triple.rb
118
+ - lib/term/ansicolor/hyperlink.rb
89
119
  - lib/term/ansicolor/movement.rb
90
120
  - lib/term/ansicolor/ppm_reader.rb
91
121
  - lib/term/ansicolor/rgb_color_metrics.rb
92
122
  - lib/term/ansicolor/rgb_triple.rb
93
123
  - lib/term/ansicolor/version.rb
94
124
  files:
125
+ - ".all_images.yml"
95
126
  - ".gitignore"
96
- - ".travis.yml"
127
+ - ".utilsrc"
97
128
  - CHANGES
98
129
  - COPYING
99
130
  - Gemfile
@@ -117,7 +148,9 @@ files:
117
148
  - lib/term/ansicolor/attribute/color8.rb
118
149
  - lib/term/ansicolor/attribute/intense_color8.rb
119
150
  - lib/term/ansicolor/attribute/text.rb
151
+ - lib/term/ansicolor/attribute/underline.rb
120
152
  - lib/term/ansicolor/hsl_triple.rb
153
+ - lib/term/ansicolor/hyperlink.rb
121
154
  - lib/term/ansicolor/movement.rb
122
155
  - lib/term/ansicolor/ppm_reader.rb
123
156
  - lib/term/ansicolor/rgb_color_metrics.rb
@@ -127,15 +160,16 @@ files:
127
160
  - tests/ansicolor_test.rb
128
161
  - tests/attribute_test.rb
129
162
  - tests/hsl_triple_test.rb
163
+ - tests/hyperlink_test.rb
130
164
  - tests/ppm_reader_test.rb
131
165
  - tests/rgb_color_metrics_test.rb
132
166
  - tests/rgb_triple_test.rb
133
167
  - tests/test_helper.rb
134
- homepage: http://flori.github.com/term-ansicolor
168
+ homepage: https://github.com/flori/term-ansicolor
135
169
  licenses:
136
170
  - Apache-2.0
137
171
  metadata: {}
138
- post_install_message:
172
+ post_install_message:
139
173
  rdoc_options:
140
174
  - "--title"
141
175
  - Term-ansicolor - Ruby library that colors strings using ANSI escape sequences
@@ -147,21 +181,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
147
181
  requirements:
148
182
  - - ">="
149
183
  - !ruby/object:Gem::Version
150
- version: '2.0'
184
+ version: '0'
151
185
  required_rubygems_version: !ruby/object:Gem::Requirement
152
186
  requirements:
153
187
  - - ">="
154
188
  - !ruby/object:Gem::Version
155
189
  version: '0'
156
190
  requirements: []
157
- rubygems_version: 3.0.1
158
- signing_key:
191
+ rubygems_version: 3.5.11
192
+ signing_key:
159
193
  specification_version: 4
160
194
  summary: Ruby library that colors strings using ANSI escape sequences
161
195
  test_files:
162
196
  - tests/ansicolor_test.rb
163
197
  - tests/attribute_test.rb
164
198
  - tests/hsl_triple_test.rb
199
+ - tests/hyperlink_test.rb
165
200
  - tests/ppm_reader_test.rb
166
201
  - tests/rgb_color_metrics_test.rb
167
202
  - tests/rgb_triple_test.rb
data/.travis.yml DELETED
@@ -1,15 +0,0 @@
1
- rvm:
2
- - 2.0
3
- - 2.1
4
- - 2.2
5
- - 2.3
6
- - 2.4
7
- - 2.5
8
- - 2.6
9
- - ruby-head
10
- - jruby
11
- matrix:
12
- allow_failures:
13
- - rvm: ruby-head
14
- - rvm: jruby
15
- sudo: false