sup 0.20.0 → 1.0

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.
Files changed (91) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -1
  3. data/.travis.yml +11 -6
  4. data/CONTRIBUTORS +27 -15
  5. data/Gemfile +2 -1
  6. data/History.txt +84 -0
  7. data/README.md +26 -5
  8. data/Rakefile +0 -1
  9. data/ReleaseNotes +7 -0
  10. data/bin/sup +17 -30
  11. data/bin/sup-add +15 -16
  12. data/bin/sup-config +30 -45
  13. data/bin/sup-dump +2 -3
  14. data/bin/sup-import-dump +5 -6
  15. data/bin/sup-sync +3 -4
  16. data/bin/sup-sync-back-maildir +3 -4
  17. data/bin/sup-tweak-labels +6 -7
  18. data/contrib/colorpicker.rb +0 -2
  19. data/contrib/completion/_sup.bash +102 -0
  20. data/devel/profile.rb +0 -1
  21. data/ext/mkrf_conf_xapian.rb +1 -1
  22. data/lib/sup.rb +8 -8
  23. data/lib/sup/colormap.rb +5 -2
  24. data/lib/sup/contact.rb +4 -2
  25. data/lib/sup/crypto.rb +58 -16
  26. data/lib/sup/draft.rb +8 -8
  27. data/lib/sup/hook.rb +9 -9
  28. data/lib/sup/index.rb +20 -7
  29. data/lib/sup/label.rb +1 -1
  30. data/lib/sup/logger.rb +1 -1
  31. data/lib/sup/maildir.rb +2 -2
  32. data/lib/sup/mbox.rb +2 -2
  33. data/lib/sup/message.rb +26 -10
  34. data/lib/sup/message_chunks.rb +7 -4
  35. data/lib/sup/mode.rb +34 -28
  36. data/lib/sup/modes/contact_list_mode.rb +1 -0
  37. data/lib/sup/modes/edit_message_mode.rb +1 -1
  38. data/lib/sup/modes/forward_mode.rb +22 -3
  39. data/lib/sup/modes/line_cursor_mode.rb +1 -1
  40. data/lib/sup/modes/reply_mode.rb +3 -1
  41. data/lib/sup/modes/text_mode.rb +6 -1
  42. data/lib/sup/modes/thread_index_mode.rb +6 -2
  43. data/lib/sup/modes/thread_view_mode.rb +63 -18
  44. data/lib/sup/person.rb +68 -61
  45. data/lib/sup/search.rb +1 -1
  46. data/lib/sup/sent.rb +1 -1
  47. data/lib/sup/source.rb +1 -1
  48. data/lib/sup/util.rb +15 -94
  49. data/lib/sup/util/axe.rb +17 -0
  50. data/lib/sup/util/locale_fiddler.rb +24 -0
  51. data/lib/sup/util/ncurses.rb +3 -3
  52. data/lib/sup/version.rb +10 -1
  53. data/sup.gemspec +12 -10
  54. data/test/{messages → fixtures}/bad-content-transfer-encoding-1.eml +0 -0
  55. data/test/{messages → fixtures}/binary-content-transfer-encoding-2.eml +0 -0
  56. data/test/fixtures/blank-header-fields.eml +71 -0
  57. data/test/fixtures/contacts.txt +1 -0
  58. data/test/fixtures/mailing-list-header.eml +80 -0
  59. data/test/fixtures/malicious-attachment-names.eml +55 -0
  60. data/test/fixtures/missing-from-to.eml +18 -0
  61. data/test/{messages → fixtures}/missing-line.eml +0 -0
  62. data/test/fixtures/multi-part-2.eml +72 -0
  63. data/test/fixtures/multi-part.eml +61 -0
  64. data/test/fixtures/no-body.eml +18 -0
  65. data/test/fixtures/simple-message.eml +29 -0
  66. data/test/fixtures/text-attachments-with-charset.eml +46 -0
  67. data/test/fixtures/zimbra-quote-with-bottom-post.eml +27 -0
  68. data/test/gnupg_test_home/gpg.conf +2 -1
  69. data/test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key +0 -0
  70. data/test/gnupg_test_home/pubring.gpg +0 -0
  71. data/test/gnupg_test_home/receiver_pubring.gpg +0 -0
  72. data/test/gnupg_test_home/receiver_secring.gpg +0 -0
  73. data/test/gnupg_test_home/regen_keys.sh +70 -16
  74. data/test/gnupg_test_home/secring.gpg +0 -0
  75. data/test/gnupg_test_home/sup-test-2@foo.bar.asc +20 -22
  76. data/test/integration/test_maildir.rb +1 -1
  77. data/test/integration/test_mbox.rb +1 -1
  78. data/test/test_crypto.rb +14 -2
  79. data/test/test_header_parsing.rb +1 -1
  80. data/test/test_helper.rb +6 -3
  81. data/test/test_message.rb +115 -341
  82. data/test/test_messages_dir.rb +4 -28
  83. data/test/test_yaml_regressions.rb +1 -1
  84. data/test/unit/test_contact.rb +33 -0
  85. data/test/unit/test_locale_fiddler.rb +15 -0
  86. data/test/unit/test_person.rb +37 -0
  87. data/test/unit/util/test_query.rb +10 -4
  88. data/test/unit/util/test_string.rb +6 -0
  89. metadata +107 -43
  90. data/test/gnupg_test_home/key1.gen +0 -15
  91. data/test/gnupg_test_home/key2.gen +0 -15
@@ -6,27 +6,9 @@ require 'stringio'
6
6
 
7
7
  require 'dummy_source'
8
8
 
9
- # override File.exists? to make it work with StringIO for testing.
10
- # FIXME: do aliasing to avoid breaking this when sup moves from
11
- # File.exists? to File.exist?
12
-
13
- class File
14
-
15
- def File.exists? file
16
- # puts "fake File::exists?"
17
-
18
- if file.is_a?(StringIO)
19
- return false
20
- end
21
- # use the different function
22
- File.exist?(file)
23
- end
24
-
25
- end
26
-
27
9
  module Redwood
28
10
 
29
- class TestMessagesDir < ::Minitest::Unit::TestCase
11
+ class TestMessagesDir < ::Minitest::Test
30
12
 
31
13
  def setup
32
14
  @path = Dir.mktmpdir
@@ -40,9 +22,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
40
22
 
41
23
  def test_binary_content_transfer_encoding
42
24
  message = ''
43
- File.open 'test/messages/binary-content-transfer-encoding-2.eml' do |f|
44
- message = f.read
45
- end
25
+ File.open('test/fixtures/binary-content-transfer-encoding-2.eml') { |f| message = f.read }
46
26
 
47
27
  source = DummySource.new("sup-test://test_messages")
48
28
  source.messages = [ message ]
@@ -74,9 +54,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
74
54
 
75
55
  def test_bad_content_transfer_encoding
76
56
  message = ''
77
- File.open 'test/messages/bad-content-transfer-encoding-1.eml' do |f|
78
- message = f.read
79
- end
57
+ File.open('test/fixtures/bad-content-transfer-encoding-1.eml') { |f| message = f.read }
80
58
 
81
59
  source = DummySource.new("sup-test://test_messages")
82
60
  source.messages = [ message ]
@@ -108,9 +86,7 @@ class TestMessagesDir < ::Minitest::Unit::TestCase
108
86
 
109
87
  def test_missing_line
110
88
  message = ''
111
- File.open 'test/messages/missing-line.eml' do |f|
112
- message = f.read
113
- end
89
+ File.open('test/fixtures/missing-line.eml') { |f| message = f.read }
114
90
 
115
91
  source = DummySource.new("sup-test://test_messages")
116
92
  source.messages = [ message ]
@@ -6,7 +6,7 @@ require 'yaml'
6
6
  require 'sup'
7
7
 
8
8
  module Redwood
9
- class TestYamlRegressions < ::Minitest::Unit::TestCase
9
+ class TestYamlRegressions < ::Minitest::Test
10
10
  def test_yamling_hash
11
11
  hsh = {:foo => 42}
12
12
  reloaded = YAML.load(hsh.to_yaml)
@@ -0,0 +1,33 @@
1
+ require 'test_helper'
2
+ require 'sup/contact'
3
+
4
+ module Redwood
5
+
6
+ class TestContact < Minitest::Test
7
+ def setup
8
+ @contact = ContactManager.init(File.expand_path("../../fixtures/contacts.txt", __FILE__))
9
+ @person = Person.new "Terrible Name", "terrible@name.com"
10
+ end
11
+
12
+ def teardown
13
+ runner = Redwood.const_get "ContactManager".to_sym
14
+ runner.deinstantiate!
15
+ end
16
+
17
+ def test_contact_manager
18
+ assert @contact
19
+ ## 1 contact is imported from the fixture file.
20
+ assert_equal 1, @contact.contacts.count
21
+ assert_equal @contact.contact_for("RC").name, "Random Contact"
22
+
23
+ assert_nil @contact.contact_for "TN"
24
+ @contact.update_alias @person, "TN"
25
+
26
+ assert @contact.is_aliased_contact?(@person)
27
+ assert_equal @person, @contact.contact_for("TN")
28
+
29
+ assert_equal "TN", @contact.alias_for(@person)
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+ require 'sup/util/locale_fiddler'
3
+
4
+ class TestFiddle < ::Minitest::Unit::TestCase
5
+ # TODO this is a silly test
6
+ def test_fiddle_set_locale
7
+ before = LocaleDummy.setlocale(6, nil).to_s
8
+ after = LocaleDummy.setlocale(6, "").to_s
9
+ assert(before != after, "Expected locale to be fiddled with")
10
+ end
11
+ end
12
+
13
+ class LocaleDummy
14
+ extend LocaleFiddler
15
+ end
@@ -0,0 +1,37 @@
1
+ require 'test_helper'
2
+ require 'sup'
3
+
4
+ module Redwood
5
+
6
+ class TestPerson < Minitest::Test
7
+ def setup
8
+ @person = Person.new("Thomassen, Bob", "bob@thomassen.com")
9
+ @no_name = Person.new(nil, "alice@alice.com")
10
+ end
11
+
12
+ def test_email_must_be_supplied
13
+ assert_raises (ArgumentError) { Person.new("Alice", nil) }
14
+ end
15
+
16
+ def test_to_string
17
+ assert_equal "Thomassen, Bob <bob@thomassen.com>", "#{@person}"
18
+ assert_equal "alice@alice.com", "#{@no_name}"
19
+ end
20
+
21
+ def test_shortname
22
+ assert_equal "Bob", @person.shortname
23
+ assert_equal "alice@alice.com", @no_name.shortname
24
+ end
25
+
26
+ def test_mediumname
27
+ assert_equal "Thomassen, Bob", @person.mediumname
28
+ assert_equal "alice@alice.com", @no_name.mediumname
29
+ end
30
+
31
+ def test_fullname
32
+ assert_equal "\"Thomassen, Bob\" <bob@thomassen.com>", @person.full_address
33
+ assert_equal "alice@alice.com", @no_name.full_address
34
+ end
35
+ end
36
+
37
+ end
@@ -24,9 +24,14 @@ describe Redwood::Util::Query do
24
24
  query = Xapian::Query.new msg
25
25
  life = 'hæi'
26
26
 
27
- # this is now possibly UTF-8 string with possibly invalid chars
28
- assert_raises Redwood::Util::Query::QueryDescriptionError do
29
- desc = Redwood::Util::Query.describe (query)
27
+ if query.description.force_encoding("UTF-8").valid_encoding?
28
+ # xapian 1.4 internally handles this bad input
29
+ assert true
30
+ else
31
+ # xapian 1.2 doesn't handle this bad input, so we do
32
+ assert_raises Redwood::Util::Query::QueryDescriptionError do
33
+ desc = Redwood::Util::Query.describe (query)
34
+ end
30
35
  end
31
36
 
32
37
  assert_raises Encoding::CompatibilityError do
@@ -40,7 +45,8 @@ describe Redwood::Util::Query do
40
45
 
41
46
  desc = Redwood::Util::Query.describe(query, "invalid query")
42
47
 
43
- assert_equal("invalid query", desc)
48
+ assert desc.force_encoding("UTF-8").valid_encoding?
49
+
44
50
  end
45
51
  end
46
52
  end
@@ -11,6 +11,8 @@ describe "Sup's String extension" do
11
11
  ['some words', 10,],
12
12
  ['中文', 4,],
13
13
  ['ä', 1,],
14
+ ['😱', 2],
15
+ #['🏳️‍🌈', 2], # Emoji ZWJ sequence not yet supported (see PR #563)
14
16
  ]
15
17
  end
16
18
 
@@ -27,6 +29,8 @@ describe "Sup's String extension" do
27
29
  ['some words', 6, 'some w'],
28
30
  ['中文', 2, '中'],
29
31
  ['älpha', 3, 'älp'],
32
+ ['😱😱', 2, '😱'],
33
+ #['🏳️‍🌈', 2, '🏳️‍🌈'], # Emoji ZWJ sequence not yet supported (see PR #563)
30
34
  ]
31
35
  end
32
36
 
@@ -45,6 +49,8 @@ describe "Sup's String extension" do
45
49
  ['中文', 2, ['中', '文']],
46
50
  ['中文', 5, ['中文']],
47
51
  ['älpha', 3, ['älp', 'ha']],
52
+ ['😱😱', 2, ['😱', '😱']],
53
+ #['🏳️‍🌈🏳️‍🌈', 2, ['🏳️‍🌈', '🏳️‍🌈']], # Emoji ZWJ sequence not yet supported (see PR #563)
48
54
  ]
49
55
  end
50
56
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: '1.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Morgan
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-10-06 00:00:00.000000000 Z
14
+ date: 2020-07-12 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: ncursesw
@@ -28,19 +28,19 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: 1.4.0
30
30
  - !ruby/object:Gem::Dependency
31
- name: rmail-sup
31
+ name: rmail
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
34
  - - "~>"
35
35
  - !ruby/object:Gem::Version
36
- version: 1.0.1
36
+ version: '1.1'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
- version: 1.0.1
43
+ version: '1.1'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: highline
46
46
  requirement: !ruby/object:Gem::Requirement
@@ -56,19 +56,19 @@ dependencies:
56
56
  - !ruby/object:Gem::Version
57
57
  version: '0'
58
58
  - !ruby/object:Gem::Dependency
59
- name: trollop
59
+ name: optimist
60
60
  requirement: !ruby/object:Gem::Requirement
61
61
  requirements:
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: '1.12'
64
+ version: '0'
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
69
  - - ">="
70
70
  - !ruby/object:Gem::Version
71
- version: '1.12'
71
+ version: '0'
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: lockfile
74
74
  requirement: !ruby/object:Gem::Requirement
@@ -87,16 +87,16 @@ dependencies:
87
87
  name: mime-types
88
88
  requirement: !ruby/object:Gem::Requirement
89
89
  requirements:
90
- - - "~>"
90
+ - - ">"
91
91
  - !ruby/object:Gem::Version
92
- version: '1.0'
92
+ version: '2.0'
93
93
  type: :runtime
94
94
  prerelease: false
95
95
  version_requirements: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - "~>"
97
+ - - ">"
98
98
  - !ruby/object:Gem::Version
99
- version: '1.0'
99
+ version: '2.0'
100
100
  - !ruby/object:Gem::Dependency
101
101
  name: locale
102
102
  requirement: !ruby/object:Gem::Requirement
@@ -115,16 +115,16 @@ dependencies:
115
115
  name: chronic
116
116
  requirement: !ruby/object:Gem::Requirement
117
117
  requirements:
118
- - - "~>"
118
+ - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 0.9.1
120
+ version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - "~>"
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
- version: 0.9.1
127
+ version: '0'
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: unicode
130
130
  requirement: !ruby/object:Gem::Requirement
@@ -139,20 +139,40 @@ dependencies:
139
139
  - - "~>"
140
140
  - !ruby/object:Gem::Version
141
141
  version: 0.4.4
142
+ - !ruby/object:Gem::Dependency
143
+ name: unicode-display_width
144
+ requirement: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ type: :runtime
150
+ prerelease: false
151
+ version_requirements: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
142
156
  - !ruby/object:Gem::Dependency
143
157
  name: bundler
144
158
  requirement: !ruby/object:Gem::Requirement
145
159
  requirements:
146
- - - "~>"
160
+ - - ">="
147
161
  - !ruby/object:Gem::Version
148
162
  version: '1.3'
163
+ - - "<"
164
+ - !ruby/object:Gem::Version
165
+ version: '3'
149
166
  type: :development
150
167
  prerelease: false
151
168
  version_requirements: !ruby/object:Gem::Requirement
152
169
  requirements:
153
- - - "~>"
170
+ - - ">="
154
171
  - !ruby/object:Gem::Version
155
172
  version: '1.3'
173
+ - - "<"
174
+ - !ruby/object:Gem::Version
175
+ version: '3'
156
176
  - !ruby/object:Gem::Dependency
157
177
  name: rake
158
178
  requirement: !ruby/object:Gem::Requirement
@@ -173,28 +193,28 @@ dependencies:
173
193
  requirements:
174
194
  - - "~>"
175
195
  - !ruby/object:Gem::Version
176
- version: '4.7'
196
+ version: 5.5.1
177
197
  type: :development
178
198
  prerelease: false
179
199
  version_requirements: !ruby/object:Gem::Requirement
180
200
  requirements:
181
201
  - - "~>"
182
202
  - !ruby/object:Gem::Version
183
- version: '4.7'
203
+ version: 5.5.1
184
204
  - !ruby/object:Gem::Dependency
185
205
  name: rr
186
206
  requirement: !ruby/object:Gem::Requirement
187
207
  requirements:
188
208
  - - "~>"
189
209
  - !ruby/object:Gem::Version
190
- version: 1.0.5
210
+ version: '1.1'
191
211
  type: :development
192
212
  prerelease: false
193
213
  version_requirements: !ruby/object:Gem::Requirement
194
214
  requirements:
195
215
  - - "~>"
196
216
  - !ruby/object:Gem::Version
197
- version: 1.0.5
217
+ version: '1.1'
198
218
  - !ruby/object:Gem::Dependency
199
219
  name: gpgme
200
220
  requirement: !ruby/object:Gem::Requirement
@@ -209,6 +229,20 @@ dependencies:
209
229
  - - ">="
210
230
  - !ruby/object:Gem::Version
211
231
  version: 2.0.2
232
+ - !ruby/object:Gem::Dependency
233
+ name: pry
234
+ requirement: !ruby/object:Gem::Requirement
235
+ requirements:
236
+ - - ">="
237
+ - !ruby/object:Gem::Version
238
+ version: '0'
239
+ type: :development
240
+ prerelease: false
241
+ version_requirements: !ruby/object:Gem::Requirement
242
+ requirements:
243
+ - - ">="
244
+ - !ruby/object:Gem::Version
245
+ version: '0'
212
246
  description: |2
213
247
  Sup is a console-based email client for people with a lot of email.
214
248
 
@@ -233,15 +267,15 @@ executables:
233
267
  extensions:
234
268
  - ext/mkrf_conf_xapian.rb
235
269
  extra_rdoc_files:
236
- - man/sup-tweak-labels.1
237
- - man/sup-sync.1
238
- - man/sup-psych-ify-config-files.1
270
+ - man/sup-add.1
239
271
  - man/sup-config.1
240
- - man/sup-import-dump.1
241
272
  - man/sup-dump.1
242
- - man/sup-sync-back-maildir.1
243
- - man/sup-add.1
273
+ - man/sup-import-dump.1
274
+ - man/sup-psych-ify-config-files.1
244
275
  - man/sup-recover-sources.1
276
+ - man/sup-sync-back-maildir.1
277
+ - man/sup-sync.1
278
+ - man/sup-tweak-labels.1
245
279
  - man/sup.1
246
280
  files:
247
281
  - ".gitignore"
@@ -266,6 +300,7 @@ files:
266
300
  - bin/sup-sync-back-maildir
267
301
  - bin/sup-tweak-labels
268
302
  - contrib/colorpicker.rb
303
+ - contrib/completion/_sup.bash
269
304
  - contrib/completion/_sup.zsh
270
305
  - devel/console.sh
271
306
  - devel/count-loc.sh
@@ -336,6 +371,8 @@ files:
336
371
  - lib/sup/undo.rb
337
372
  - lib/sup/update.rb
338
373
  - lib/sup/util.rb
374
+ - lib/sup/util/axe.rb
375
+ - lib/sup/util/locale_fiddler.rb
339
376
  - lib/sup/util/ncurses.rb
340
377
  - lib/sup/util/path.rb
341
378
  - lib/sup/util/query.rb
@@ -353,9 +390,23 @@ files:
353
390
  - man/sup.1
354
391
  - sup.gemspec
355
392
  - test/dummy_source.rb
393
+ - test/fixtures/bad-content-transfer-encoding-1.eml
394
+ - test/fixtures/binary-content-transfer-encoding-2.eml
395
+ - test/fixtures/blank-header-fields.eml
396
+ - test/fixtures/contacts.txt
397
+ - test/fixtures/mailing-list-header.eml
398
+ - test/fixtures/malicious-attachment-names.eml
399
+ - test/fixtures/missing-from-to.eml
400
+ - test/fixtures/missing-line.eml
401
+ - test/fixtures/multi-part-2.eml
402
+ - test/fixtures/multi-part.eml
403
+ - test/fixtures/no-body.eml
404
+ - test/fixtures/simple-message.eml
405
+ - test/fixtures/text-attachments-with-charset.eml
406
+ - test/fixtures/zimbra-quote-with-bottom-post.eml
407
+ - test/gnupg_test_home/.gpg-v21-migrated
356
408
  - test/gnupg_test_home/gpg.conf
357
- - test/gnupg_test_home/key1.gen
358
- - test/gnupg_test_home/key2.gen
409
+ - test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key
359
410
  - test/gnupg_test_home/pubring.gpg
360
411
  - test/gnupg_test_home/receiver_pubring.gpg
361
412
  - test/gnupg_test_home/receiver_secring.gpg
@@ -365,9 +416,6 @@ files:
365
416
  - test/integration/test_label_service.rb
366
417
  - test/integration/test_maildir.rb
367
418
  - test/integration/test_mbox.rb
368
- - test/messages/bad-content-transfer-encoding-1.eml
369
- - test/messages/binary-content-transfer-encoding-2.eml
370
- - test/messages/missing-line.eml
371
419
  - test/test_crypto.rb
372
420
  - test/test_header_parsing.rb
373
421
  - test/test_helper.rb
@@ -376,13 +424,16 @@ files:
376
424
  - test/test_yaml_migration.rb
377
425
  - test/test_yaml_regressions.rb
378
426
  - test/unit/service/test_label_service.rb
427
+ - test/unit/test_contact.rb
379
428
  - test/unit/test_horizontal_selector.rb
429
+ - test/unit/test_locale_fiddler.rb
430
+ - test/unit/test_person.rb
380
431
  - test/unit/util/test_query.rb
381
432
  - test/unit/util/test_string.rb
382
433
  - test/unit/util/test_uri.rb
383
- homepage: http://supmua.org
434
+ homepage: https://sup-heliotrope.github.io/
384
435
  licenses:
385
- - GPL-2
436
+ - GPL-2.0
386
437
  metadata: {}
387
438
  post_install_message: |
388
439
  SUP: please note that our old mailing lists have been shut down,
@@ -400,23 +451,36 @@ required_ruby_version: !ruby/object:Gem::Requirement
400
451
  requirements:
401
452
  - - ">="
402
453
  - !ruby/object:Gem::Version
403
- version: 1.9.3
454
+ version: 2.0.0
404
455
  required_rubygems_version: !ruby/object:Gem::Requirement
405
456
  requirements:
406
457
  - - ">="
407
458
  - !ruby/object:Gem::Version
408
459
  version: '0'
409
460
  requirements: []
410
- rubyforge_project:
411
- rubygems_version: 2.2.2
461
+ rubygems_version: 3.1.2
412
462
  signing_key:
413
463
  specification_version: 4
414
464
  summary: A console-based email client with the best features of GMail, mutt and Emacs
415
465
  test_files:
416
466
  - test/dummy_source.rb
467
+ - test/fixtures/bad-content-transfer-encoding-1.eml
468
+ - test/fixtures/binary-content-transfer-encoding-2.eml
469
+ - test/fixtures/blank-header-fields.eml
470
+ - test/fixtures/contacts.txt
471
+ - test/fixtures/mailing-list-header.eml
472
+ - test/fixtures/malicious-attachment-names.eml
473
+ - test/fixtures/missing-from-to.eml
474
+ - test/fixtures/missing-line.eml
475
+ - test/fixtures/multi-part-2.eml
476
+ - test/fixtures/multi-part.eml
477
+ - test/fixtures/no-body.eml
478
+ - test/fixtures/simple-message.eml
479
+ - test/fixtures/text-attachments-with-charset.eml
480
+ - test/fixtures/zimbra-quote-with-bottom-post.eml
481
+ - test/gnupg_test_home/.gpg-v21-migrated
417
482
  - test/gnupg_test_home/gpg.conf
418
- - test/gnupg_test_home/key1.gen
419
- - test/gnupg_test_home/key2.gen
483
+ - test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key
420
484
  - test/gnupg_test_home/pubring.gpg
421
485
  - test/gnupg_test_home/receiver_pubring.gpg
422
486
  - test/gnupg_test_home/receiver_secring.gpg
@@ -426,9 +490,6 @@ test_files:
426
490
  - test/integration/test_label_service.rb
427
491
  - test/integration/test_maildir.rb
428
492
  - test/integration/test_mbox.rb
429
- - test/messages/bad-content-transfer-encoding-1.eml
430
- - test/messages/binary-content-transfer-encoding-2.eml
431
- - test/messages/missing-line.eml
432
493
  - test/test_crypto.rb
433
494
  - test/test_header_parsing.rb
434
495
  - test/test_helper.rb
@@ -437,7 +498,10 @@ test_files:
437
498
  - test/test_yaml_migration.rb
438
499
  - test/test_yaml_regressions.rb
439
500
  - test/unit/service/test_label_service.rb
501
+ - test/unit/test_contact.rb
440
502
  - test/unit/test_horizontal_selector.rb
503
+ - test/unit/test_locale_fiddler.rb
504
+ - test/unit/test_person.rb
441
505
  - test/unit/util/test_query.rb
442
506
  - test/unit/util/test_string.rb
443
507
  - test/unit/util/test_uri.rb