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.
- checksums.yaml +5 -5
- data/.gitignore +2 -1
- data/.travis.yml +11 -6
- data/CONTRIBUTORS +27 -15
- data/Gemfile +2 -1
- data/History.txt +84 -0
- data/README.md +26 -5
- data/Rakefile +0 -1
- data/ReleaseNotes +7 -0
- data/bin/sup +17 -30
- data/bin/sup-add +15 -16
- data/bin/sup-config +30 -45
- data/bin/sup-dump +2 -3
- data/bin/sup-import-dump +5 -6
- data/bin/sup-sync +3 -4
- data/bin/sup-sync-back-maildir +3 -4
- data/bin/sup-tweak-labels +6 -7
- data/contrib/colorpicker.rb +0 -2
- data/contrib/completion/_sup.bash +102 -0
- data/devel/profile.rb +0 -1
- data/ext/mkrf_conf_xapian.rb +1 -1
- data/lib/sup.rb +8 -8
- data/lib/sup/colormap.rb +5 -2
- data/lib/sup/contact.rb +4 -2
- data/lib/sup/crypto.rb +58 -16
- data/lib/sup/draft.rb +8 -8
- data/lib/sup/hook.rb +9 -9
- data/lib/sup/index.rb +20 -7
- data/lib/sup/label.rb +1 -1
- data/lib/sup/logger.rb +1 -1
- data/lib/sup/maildir.rb +2 -2
- data/lib/sup/mbox.rb +2 -2
- data/lib/sup/message.rb +26 -10
- data/lib/sup/message_chunks.rb +7 -4
- data/lib/sup/mode.rb +34 -28
- data/lib/sup/modes/contact_list_mode.rb +1 -0
- data/lib/sup/modes/edit_message_mode.rb +1 -1
- data/lib/sup/modes/forward_mode.rb +22 -3
- data/lib/sup/modes/line_cursor_mode.rb +1 -1
- data/lib/sup/modes/reply_mode.rb +3 -1
- data/lib/sup/modes/text_mode.rb +6 -1
- data/lib/sup/modes/thread_index_mode.rb +6 -2
- data/lib/sup/modes/thread_view_mode.rb +63 -18
- data/lib/sup/person.rb +68 -61
- data/lib/sup/search.rb +1 -1
- data/lib/sup/sent.rb +1 -1
- data/lib/sup/source.rb +1 -1
- data/lib/sup/util.rb +15 -94
- data/lib/sup/util/axe.rb +17 -0
- data/lib/sup/util/locale_fiddler.rb +24 -0
- data/lib/sup/util/ncurses.rb +3 -3
- data/lib/sup/version.rb +10 -1
- data/sup.gemspec +12 -10
- data/test/{messages → fixtures}/bad-content-transfer-encoding-1.eml +0 -0
- data/test/{messages → fixtures}/binary-content-transfer-encoding-2.eml +0 -0
- data/test/fixtures/blank-header-fields.eml +71 -0
- data/test/fixtures/contacts.txt +1 -0
- data/test/fixtures/mailing-list-header.eml +80 -0
- data/test/fixtures/malicious-attachment-names.eml +55 -0
- data/test/fixtures/missing-from-to.eml +18 -0
- data/test/{messages → fixtures}/missing-line.eml +0 -0
- data/test/fixtures/multi-part-2.eml +72 -0
- data/test/fixtures/multi-part.eml +61 -0
- data/test/fixtures/no-body.eml +18 -0
- data/test/fixtures/simple-message.eml +29 -0
- data/test/fixtures/text-attachments-with-charset.eml +46 -0
- data/test/fixtures/zimbra-quote-with-bottom-post.eml +27 -0
- data/test/gnupg_test_home/gpg.conf +2 -1
- data/test/gnupg_test_home/private-keys-v1.d/306D2EE90FF0014B5B9FD07E265C751791674140.key +0 -0
- data/test/gnupg_test_home/pubring.gpg +0 -0
- data/test/gnupg_test_home/receiver_pubring.gpg +0 -0
- data/test/gnupg_test_home/receiver_secring.gpg +0 -0
- data/test/gnupg_test_home/regen_keys.sh +70 -16
- data/test/gnupg_test_home/secring.gpg +0 -0
- data/test/gnupg_test_home/sup-test-2@foo.bar.asc +20 -22
- data/test/integration/test_maildir.rb +1 -1
- data/test/integration/test_mbox.rb +1 -1
- data/test/test_crypto.rb +14 -2
- data/test/test_header_parsing.rb +1 -1
- data/test/test_helper.rb +6 -3
- data/test/test_message.rb +115 -341
- data/test/test_messages_dir.rb +4 -28
- data/test/test_yaml_regressions.rb +1 -1
- data/test/unit/test_contact.rb +33 -0
- data/test/unit/test_locale_fiddler.rb +15 -0
- data/test/unit/test_person.rb +37 -0
- data/test/unit/util/test_query.rb +10 -4
- data/test/unit/util/test_string.rb +6 -0
- metadata +107 -43
- data/test/gnupg_test_home/key1.gen +0 -15
- data/test/gnupg_test_home/key2.gen +0 -15
data/test/test_messages_dir.rb
CHANGED
@@ -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::
|
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
|
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
|
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
|
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 ]
|
@@ -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
|
-
|
28
|
-
|
29
|
-
|
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
|
-
|
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:
|
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:
|
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
|
31
|
+
name: rmail
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
34
|
- - "~>"
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 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.
|
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:
|
59
|
+
name: optimist
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
61
61
|
requirements:
|
62
62
|
- - ">="
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: '
|
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: '
|
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: '
|
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: '
|
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
|
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
|
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:
|
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:
|
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.
|
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.
|
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-
|
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-
|
243
|
-
- man/sup-
|
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/
|
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:
|
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:
|
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
|
-
|
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/
|
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
|