sup 0.20.0 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|