email_address 0.1.2 → 0.2.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.
- checksums.yaml +5 -5
- data/.github/workflows/ci.yml +18 -0
- data/Gemfile +1 -1
- data/README.md +257 -123
- data/Rakefile +2 -3
- data/email_address.gemspec +28 -22
- data/lib/email_address/active_record_validator.rb +10 -11
- data/lib/email_address/address.rb +130 -80
- data/lib/email_address/canonical_email_address_type.rb +16 -12
- data/lib/email_address/config.rb +111 -51
- data/lib/email_address/email_address_type.rb +17 -13
- data/lib/email_address/exchanger.rb +44 -33
- data/lib/email_address/host.rb +227 -105
- data/lib/email_address/local.rb +129 -87
- data/lib/email_address/messages.yaml +21 -0
- data/lib/email_address/rewriter.rb +144 -0
- data/lib/email_address/version.rb +1 -1
- data/lib/email_address.rb +48 -53
- data/test/activerecord/test_ar.rb +17 -13
- data/test/activerecord/user.rb +31 -30
- data/test/email_address/test_address.rb +87 -21
- data/test/email_address/test_config.rb +10 -10
- data/test/email_address/test_exchanger.rb +6 -7
- data/test/email_address/test_host.rb +79 -21
- data/test/email_address/test_local.rb +53 -36
- data/test/email_address/test_rewriter.rb +11 -0
- data/test/test_aliasing.rb +53 -0
- data/test/test_email_address.rb +15 -19
- data/test/test_helper.rb +9 -8
- metadata +57 -21
- data/.travis.yml +0 -10
@@ -1,22 +1,20 @@
|
|
1
|
-
|
2
|
-
require_relative '../test_helper'
|
1
|
+
require_relative "../test_helper"
|
3
2
|
|
4
3
|
class TestLocal < MiniTest::Test
|
5
|
-
|
6
4
|
def test_valid_standard
|
7
5
|
[ # Via https://en.wikipedia.org/wiki/Email_address
|
8
|
-
%
|
9
|
-
%
|
10
|
-
%
|
11
|
-
%
|
12
|
-
%
|
13
|
-
%
|
14
|
-
%
|
15
|
-
%
|
16
|
-
%
|
17
|
-
%
|
18
|
-
%
|
19
|
-
%
|
6
|
+
%(prettyandsimple),
|
7
|
+
%(very.common),
|
8
|
+
%(disposable.style.email.with+symbol),
|
9
|
+
%(other.email-with-dash),
|
10
|
+
%("much.more unusual"),
|
11
|
+
%{"(comment)very.unusual.@.unusual.com"},
|
12
|
+
%(#!$%&'*+-/=?^_`{}|~),
|
13
|
+
%(" "),
|
14
|
+
%{"very.(),:;<>[]\\".VERY.\\"very@\\ \\"very\\".unusual"},
|
15
|
+
%{"()<>[]:,;@\\\"!#$%&'*+-/=?^_`{}| ~.a"},
|
16
|
+
%(token." ".token),
|
17
|
+
%(abc."defghi".xyz)
|
20
18
|
].each do |local|
|
21
19
|
assert EmailAddress::Local.new(local, local_fix: false).standard?, local
|
22
20
|
end
|
@@ -24,15 +22,15 @@ class TestLocal < MiniTest::Test
|
|
24
22
|
|
25
23
|
def test_invalid_standard
|
26
24
|
[ # Via https://en.wikipedia.org/wiki/Email_address
|
27
|
-
%
|
28
|
-
%
|
29
|
-
%
|
30
|
-
%
|
31
|
-
%
|
32
|
-
%
|
33
|
-
%
|
34
|
-
%
|
35
|
-
%
|
25
|
+
%(A@b@c),
|
26
|
+
%{a"b(c)d,e:f;g<h>i[j\k]l},
|
27
|
+
%(just"not"right),
|
28
|
+
%(this is"not\allowed),
|
29
|
+
%(this\ still\"not\\allowed),
|
30
|
+
%(john..doe),
|
31
|
+
%( invalid),
|
32
|
+
%(invalid ),
|
33
|
+
%(abc"defghi"xyz)
|
36
34
|
].each do |local|
|
37
35
|
assert_equal false, EmailAddress::Local.new(local, local_fix: false).standard?, local
|
38
36
|
end
|
@@ -42,25 +40,25 @@ class TestLocal < MiniTest::Test
|
|
42
40
|
assert EmailAddress::Local.new("first..last", local_format: :relaxed).valid?, "relax.."
|
43
41
|
assert EmailAddress::Local.new("first.-last", local_format: :relaxed).valid?, "relax.-"
|
44
42
|
assert EmailAddress::Local.new("a", local_format: :relaxed).valid?, "relax single"
|
45
|
-
assert
|
43
|
+
assert EmailAddress::Local.new("firstlast_", local_format: :relaxed).valid?, "last_"
|
46
44
|
end
|
47
45
|
|
48
46
|
def test_unicode
|
49
|
-
assert !
|
47
|
+
assert !EmailAddress::Local.new("üñîçøðé1", local_encoding: :ascii).standard?, "not üñîçøðé1"
|
50
48
|
assert EmailAddress::Local.new("üñîçøðé2", local_encoding: :unicode).standard?, "üñîçøðé2"
|
51
|
-
assert
|
49
|
+
assert EmailAddress::Local.new("test", local_encoding: :unicode).valid?, "unicode should include ascii"
|
50
|
+
assert !EmailAddress::Local.new("üñîçøðé3").valid?, "üñîçøðé3 valid"
|
52
51
|
end
|
53
52
|
|
54
|
-
|
55
53
|
def test_valid_conventional
|
56
|
-
%w
|
54
|
+
%w[first.last first First+Tag o'brien].each do |local|
|
57
55
|
assert EmailAddress::Local.new(local).conventional?, local
|
58
56
|
end
|
59
57
|
end
|
60
58
|
|
61
59
|
def test_invalid_conventional
|
62
|
-
(%w
|
63
|
-
assert !
|
60
|
+
(%w[first;.last +leading trailing+ o%brien] + ["first space"]).each do |local|
|
61
|
+
assert !EmailAddress::Local.new(local, local_fix: false).conventional?, local
|
64
62
|
end
|
65
63
|
end
|
66
64
|
|
@@ -71,8 +69,8 @@ class TestLocal < MiniTest::Test
|
|
71
69
|
|
72
70
|
def test_format
|
73
71
|
assert_equal :conventional, EmailAddress::Local.new("can1").format?
|
74
|
-
assert_equal :standard, EmailAddress::Local.new(%
|
75
|
-
assert_equal "can1", EmailAddress::Local.new(%
|
72
|
+
assert_equal :standard, EmailAddress::Local.new(%("can1")).format?
|
73
|
+
assert_equal "can1", EmailAddress::Local.new(%{"can1(commment)"}).format(:conventional)
|
76
74
|
end
|
77
75
|
|
78
76
|
def test_redacted
|
@@ -83,13 +81,32 @@ class TestLocal < MiniTest::Test
|
|
83
81
|
|
84
82
|
def test_matches
|
85
83
|
a = EmailAddress.new("User+tag@gmail.com")
|
86
|
-
assert_equal false,
|
87
|
-
assert_equal false,
|
88
|
-
assert_equal
|
84
|
+
assert_equal false, a.matches?("user")
|
85
|
+
assert_equal false, a.matches?("user@")
|
86
|
+
assert_equal "user*@", a.matches?("user*@")
|
89
87
|
end
|
90
88
|
|
91
89
|
def test_munge
|
92
90
|
assert_equal "us*****", EmailAddress::Local.new("User+tag").munge
|
93
91
|
end
|
94
92
|
|
93
|
+
def test_hosted
|
94
|
+
assert EmailAddress.valid?("x@exposure.co")
|
95
|
+
assert EmailAddress.error("xxxx+subscriber@gmail.com")
|
96
|
+
assert EmailAddress.valid?("xxxxx+subscriber@gmail.com")
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_ending_underscore
|
100
|
+
assert EmailAddress.valid?("name_@icloud.com")
|
101
|
+
assert EmailAddress.valid?("username_@gmail.com")
|
102
|
+
assert EmailAddress.valid?("username_____@gmail.com")
|
103
|
+
end
|
104
|
+
|
105
|
+
def test_tag_punctuation
|
106
|
+
assert EmailAddress.valid?("first.last+foo.bar@gmail.com")
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_relaxed_tag
|
110
|
+
assert EmailAddress.valid? "foo+abc@example.com", host_validation: :syntax, local_format: :relaxed
|
111
|
+
end
|
95
112
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require_relative "../test_helper"
|
2
|
+
|
3
|
+
class TestRewriter < Minitest::Test
|
4
|
+
def test_srs
|
5
|
+
ea = "first.LAST+tag@gmail.com"
|
6
|
+
e = EmailAddress.new(ea)
|
7
|
+
s = e.srs("example.com")
|
8
|
+
assert s.match(EmailAddress::Address::SRS_FORMAT_REGEX)
|
9
|
+
assert EmailAddress.new(s).to_s == e.to_s
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require_relative "test_helper"
|
2
|
+
|
3
|
+
class TestAliasing < MiniTest::Test
|
4
|
+
def setup
|
5
|
+
Object.send(:const_set, :EmailAddressValidator, EmailAddress)
|
6
|
+
Object.send(:remove_const, :EmailAddress)
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_email_address_not_defined
|
10
|
+
assert_nil defined?(EmailAddress)
|
11
|
+
assert_nil defined?(EmailAddress::Address)
|
12
|
+
assert_nil defined?(EmailAddress::Config)
|
13
|
+
assert_nil defined?(EmailAddress::Exchanger)
|
14
|
+
assert_nil defined?(EmailAddress::Host)
|
15
|
+
assert_nil defined?(EmailAddress::Local)
|
16
|
+
assert_nil defined?(EmailAddress::Rewriter)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_alias_defined
|
20
|
+
assert_equal defined?(EmailAddressValidator), "constant"
|
21
|
+
assert_equal defined?(EmailAddressValidator::Address), "constant"
|
22
|
+
assert_equal defined?(EmailAddressValidator::Config), "constant"
|
23
|
+
assert_equal defined?(EmailAddressValidator::Exchanger), "constant"
|
24
|
+
assert_equal defined?(EmailAddressValidator::Host), "constant"
|
25
|
+
assert_equal defined?(EmailAddressValidator::Local), "constant"
|
26
|
+
assert_equal defined?(EmailAddressValidator::Rewriter), "constant"
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_alias_class_methods
|
30
|
+
assert_equal true, EmailAddressValidator.valid?("user@yahoo.com")
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_alias_host_methods
|
34
|
+
assert_equal true, EmailAddressValidator::Host.new("yahoo.com").valid?
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_alias_address_methods
|
38
|
+
assert_equal true, EmailAddressValidator::Address.new("user@yahoo.com").valid?
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_alias_config_methods
|
42
|
+
assert Hash, EmailAddressValidator::Config.new.to_h
|
43
|
+
end
|
44
|
+
|
45
|
+
def test_alias_local_methods
|
46
|
+
assert_equal true, EmailAddressValidator::Local.new("user").valid?
|
47
|
+
end
|
48
|
+
|
49
|
+
def teardown
|
50
|
+
Object.send(:const_set, :EmailAddress, EmailAddressValidator)
|
51
|
+
Object.send(:remove_const, :EmailAddressValidator)
|
52
|
+
end
|
53
|
+
end
|
data/test/test_email_address.rb
CHANGED
@@ -1,45 +1,42 @@
|
|
1
|
-
|
2
|
-
require_relative 'test_helper'
|
1
|
+
require_relative "test_helper"
|
3
2
|
|
4
3
|
class TestEmailAddress < MiniTest::Test
|
5
|
-
|
6
4
|
def test_new
|
7
|
-
a = EmailAddress.new(
|
8
|
-
assert_equal
|
9
|
-
assert_equal
|
5
|
+
a = EmailAddress.new("user@example.com")
|
6
|
+
assert_equal "user", a.local.to_s
|
7
|
+
assert_equal "example.com", a.host.to_s
|
10
8
|
end
|
11
9
|
|
12
10
|
def test_canonical
|
13
|
-
assert_equal "firstlast@gmail.com", EmailAddress.canonical(
|
14
|
-
a = EmailAddress.new_canonical(
|
15
|
-
assert_equal
|
11
|
+
assert_equal "firstlast@gmail.com", EmailAddress.canonical("First.Last+TAG@gmail.com")
|
12
|
+
a = EmailAddress.new_canonical("First.Last+TAG@gmail.com")
|
13
|
+
assert_equal "firstlast", a.local.to_s
|
16
14
|
end
|
17
15
|
|
18
16
|
def test_normal
|
19
|
-
assert_equal
|
17
|
+
assert_equal "user+tag@gmail.com", EmailAddress.normal("USER+TAG@GMAIL.com")
|
20
18
|
end
|
21
19
|
|
22
20
|
def test_valid
|
23
|
-
assert_equal true, EmailAddress.valid?(
|
24
|
-
assert_equal true, EmailAddress.valid?(
|
21
|
+
assert_equal true, EmailAddress.valid?("user@yahoo.com")
|
22
|
+
assert_equal true, EmailAddress.valid?("a@yahoo.com")
|
25
23
|
end
|
26
24
|
|
27
25
|
def test_matches
|
28
|
-
assert_equal
|
26
|
+
assert_equal "yahoo.", EmailAddress.matches?("user@yahoo.com", "yahoo.")
|
29
27
|
end
|
30
28
|
|
31
29
|
def test_reference
|
32
|
-
assert_equal
|
30
|
+
assert_equal "dfeafc750cecde54f9a4775f5713bf01", EmailAddress.reference("user@yahoo.com")
|
33
31
|
end
|
34
32
|
|
35
33
|
def test_redact
|
36
|
-
assert_equal
|
34
|
+
assert_equal "{e037b6c476357f34f92b8f35b25d179a4f573f1e}@yahoo.com", EmailAddress.redact("user@yahoo.com")
|
37
35
|
end
|
38
36
|
|
39
37
|
def test_cases
|
40
|
-
%w
|
41
|
-
|
42
|
-
assert EmailAddress.valid?(address, dns_lookup: :off), "valid?(#{address})"
|
38
|
+
%w[miles.o'brien@yahoo.com first.last@gmail.com a-b.c_d+e@f.gx].each do |address|
|
39
|
+
assert EmailAddress.valid?(address, host_validation: :syntax), "valid?(#{address})"
|
43
40
|
end
|
44
41
|
end
|
45
42
|
|
@@ -47,5 +44,4 @@ class TestEmailAddress < MiniTest::Test
|
|
47
44
|
assert_equal "", EmailAddress.normal("")
|
48
45
|
assert_equal "", EmailAddress.normal(" ")
|
49
46
|
end
|
50
|
-
|
51
47
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__),
|
1
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
2
2
|
|
3
|
-
require
|
3
|
+
require "pry"
|
4
|
+
require "simplecov"
|
4
5
|
SimpleCov.start
|
5
6
|
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
11
|
-
require
|
7
|
+
require "active_record"
|
8
|
+
require "rubygems"
|
9
|
+
require "minitest/autorun"
|
10
|
+
require "minitest/unit"
|
11
|
+
require "minitest/pride"
|
12
|
+
require "email_address"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_address
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allen Fair
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -30,42 +30,42 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 5.
|
33
|
+
version: '5.11'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 5.
|
40
|
+
version: '5.11'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: activerecord
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 6.1.4
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 6.1.4
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sqlite3
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,7 +81,21 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: standard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 1.5.0
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 1.5.0
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: net-smtp
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - ">="
|
@@ -95,13 +109,27 @@ dependencies:
|
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: simplecov
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
|
-
type: :
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: pry
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
105
133
|
prerelease: false
|
106
134
|
version_requirements: !ruby/object:Gem::Requirement
|
107
135
|
requirements:
|
@@ -109,7 +137,7 @@ dependencies:
|
|
109
137
|
- !ruby/object:Gem::Version
|
110
138
|
version: '0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
140
|
+
name: simpleidn
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
114
142
|
requirements:
|
115
143
|
- - ">="
|
@@ -129,8 +157,8 @@ executables: []
|
|
129
157
|
extensions: []
|
130
158
|
extra_rdoc_files: []
|
131
159
|
files:
|
160
|
+
- ".github/workflows/ci.yml"
|
132
161
|
- ".gitignore"
|
133
|
-
- ".travis.yml"
|
134
162
|
- Gemfile
|
135
163
|
- LICENSE.txt
|
136
164
|
- README.md
|
@@ -145,6 +173,8 @@ files:
|
|
145
173
|
- lib/email_address/exchanger.rb
|
146
174
|
- lib/email_address/host.rb
|
147
175
|
- lib/email_address/local.rb
|
176
|
+
- lib/email_address/messages.yaml
|
177
|
+
- lib/email_address/rewriter.rb
|
148
178
|
- lib/email_address/version.rb
|
149
179
|
- test/activerecord/test_ar.rb
|
150
180
|
- test/activerecord/user.rb
|
@@ -153,13 +183,15 @@ files:
|
|
153
183
|
- test/email_address/test_exchanger.rb
|
154
184
|
- test/email_address/test_host.rb
|
155
185
|
- test/email_address/test_local.rb
|
186
|
+
- test/email_address/test_rewriter.rb
|
187
|
+
- test/test_aliasing.rb
|
156
188
|
- test/test_email_address.rb
|
157
189
|
- test/test_helper.rb
|
158
190
|
homepage: https://github.com/afair/email_address
|
159
191
|
licenses:
|
160
192
|
- MIT
|
161
193
|
metadata: {}
|
162
|
-
post_install_message:
|
194
|
+
post_install_message:
|
163
195
|
rdoc_options: []
|
164
196
|
require_paths:
|
165
197
|
- lib
|
@@ -167,16 +199,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
167
199
|
requirements:
|
168
200
|
- - ">="
|
169
201
|
- !ruby/object:Gem::Version
|
170
|
-
version: '
|
202
|
+
version: '2.5'
|
203
|
+
- - "<"
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '4'
|
171
206
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
207
|
requirements:
|
173
208
|
- - ">="
|
174
209
|
- !ruby/object:Gem::Version
|
175
210
|
version: '0'
|
176
211
|
requirements: []
|
177
|
-
|
178
|
-
|
179
|
-
signing_key:
|
212
|
+
rubygems_version: 3.3.7
|
213
|
+
signing_key:
|
180
214
|
specification_version: 4
|
181
215
|
summary: This gem provides a ruby language library for working with and validating
|
182
216
|
email addresses. By default, it validates against conventional usage, the format
|
@@ -190,5 +224,7 @@ test_files:
|
|
190
224
|
- test/email_address/test_exchanger.rb
|
191
225
|
- test/email_address/test_host.rb
|
192
226
|
- test/email_address/test_local.rb
|
227
|
+
- test/email_address/test_rewriter.rb
|
228
|
+
- test/test_aliasing.rb
|
193
229
|
- test/test_email_address.rb
|
194
230
|
- test/test_helper.rb
|