email_address 0.1.20 → 0.2.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.
@@ -1,22 +1,20 @@
1
- # encoding: UTF-8
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
- %Q{prettyandsimple},
9
- %Q{very.common},
10
- %Q{disposable.style.email.with+symbol},
11
- %Q{other.email-with-dash},
12
- %Q{"much.more unusual"},
13
- %Q{"(comment)very.unusual.@.unusual.com"},
14
- %Q{#!$%&'*+-/=?^_`{}|~},
15
- %Q{" "},
16
- %Q{"very.(),:;<>[]\\".VERY.\\"very@\\ \\"very\\".unusual"},
17
- %Q{"()<>[]:,;@\\\"!#$%&'*+-/=?^_`{}| ~.a"},
18
- %Q{token." ".token},
19
- %Q{abc."defghi".xyz},
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
- %Q{A@b@c},
28
- %Q{a"b(c)d,e:f;g<h>i[j\k]l},
29
- %Q{just"not"right},
30
- %Q{this is"not\allowed},
31
- %Q{this\ still\"not\\allowed},
32
- %Q{john..doe},
33
- %Q{ invalid},
34
- %Q{invalid },
35
- %Q{abc"defghi"xyz},
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
@@ -46,22 +44,21 @@ class TestLocal < MiniTest::Test
46
44
  end
47
45
 
48
46
  def test_unicode
49
- assert ! EmailAddress::Local.new("üñîçøðé1", local_encoding: :ascii).standard?, "not üñîçøðé1"
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
49
  assert EmailAddress::Local.new("test", local_encoding: :unicode).valid?, "unicode should include ascii"
52
- assert ! EmailAddress::Local.new("üñîçøðé3").valid?, "üñîçøðé3 valid"
50
+ assert !EmailAddress::Local.new("üñîçøðé3").valid?, "üñîçøðé3 valid"
53
51
  end
54
52
 
55
-
56
53
  def test_valid_conventional
57
- %w( first.last first First+Tag o'brien).each do |local|
54
+ %w[first.last first First+Tag o'brien].each do |local|
58
55
  assert EmailAddress::Local.new(local).conventional?, local
59
56
  end
60
57
  end
61
58
 
62
59
  def test_invalid_conventional
63
- (%w( first;.last +leading trailing+ o%brien) + ["first space"]).each do |local|
64
- assert ! EmailAddress::Local.new(local, local_fix:false).conventional?, local
60
+ (%w[first;.last +leading trailing+ o%brien] + ["first space"]).each do |local|
61
+ assert !EmailAddress::Local.new(local, local_fix: false).conventional?, local
65
62
  end
66
63
  end
67
64
 
@@ -72,8 +69,8 @@ class TestLocal < MiniTest::Test
72
69
 
73
70
  def test_format
74
71
  assert_equal :conventional, EmailAddress::Local.new("can1").format?
75
- assert_equal :standard, EmailAddress::Local.new(%Q{"can1"}).format?
76
- assert_equal "can1", EmailAddress::Local.new(%Q{"can1(commment)"}).format(:conventional)
72
+ assert_equal :standard, EmailAddress::Local.new(%("can1")).format?
73
+ assert_equal "can1", EmailAddress::Local.new(%{"can1(commment)"}).format(:conventional)
77
74
  end
78
75
 
79
76
  def test_redacted
@@ -84,9 +81,9 @@ class TestLocal < MiniTest::Test
84
81
 
85
82
  def test_matches
86
83
  a = EmailAddress.new("User+tag@gmail.com")
87
- assert_equal false, a.matches?('user')
88
- assert_equal false, a.matches?('user@')
89
- assert_equal 'user*@', a.matches?('user*@')
84
+ assert_equal false, a.matches?("user")
85
+ assert_equal false, a.matches?("user@")
86
+ assert_equal "user*@", a.matches?("user*@")
90
87
  end
91
88
 
92
89
  def test_munge
@@ -108,5 +105,4 @@ class TestLocal < MiniTest::Test
108
105
  def test_tag_punctuation
109
106
  assert EmailAddress.valid?("first.last+foo.bar@gmail.com")
110
107
  end
111
-
112
108
  end
@@ -1,14 +1,11 @@
1
- #encoding: utf-8
2
- require_relative '../test_helper'
1
+ require_relative "../test_helper"
3
2
 
4
3
  class TestRewriter < Minitest::Test
5
-
6
4
  def test_srs
7
- ea= "first.LAST+tag@gmail.com"
5
+ ea = "first.LAST+tag@gmail.com"
8
6
  e = EmailAddress.new(ea)
9
7
  s = e.srs("example.com")
10
8
  assert s.match(EmailAddress::Address::SRS_FORMAT_REGEX)
11
9
  assert EmailAddress.new(s).to_s == e.to_s
12
10
  end
13
-
14
11
  end
@@ -1,5 +1,4 @@
1
- # encoding: UTF-8
2
- require_relative 'test_helper'
1
+ require_relative "test_helper"
3
2
 
4
3
  class TestAliasing < MiniTest::Test
5
4
  def setup
@@ -1,44 +1,41 @@
1
- # encoding: UTF-8
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('user@example.com')
8
- assert_equal 'user', a.local.to_s
9
- assert_equal 'example.com', a.host.to_s
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('First.Last+TAG@gmail.com')
14
- a = EmailAddress.new_canonical('First.Last+TAG@gmail.com')
15
- assert_equal 'firstlast', a.local.to_s
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 'user+tag@gmail.com', EmailAddress.normal('USER+TAG@GMAIL.com')
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?('user@yahoo.com')
24
- assert_equal true, EmailAddress.valid?('a@yahoo.com')
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 'yahoo.', EmailAddress.matches?('user@yahoo.com', 'yahoo.')
26
+ assert_equal "yahoo.", EmailAddress.matches?("user@yahoo.com", "yahoo.")
29
27
  end
30
28
 
31
29
  def test_reference
32
- assert_equal 'dfeafc750cecde54f9a4775f5713bf01', EmailAddress.reference('user@yahoo.com')
30
+ assert_equal "dfeafc750cecde54f9a4775f5713bf01", EmailAddress.reference("user@yahoo.com")
33
31
  end
34
32
 
35
33
  def test_redact
36
- assert_equal '{e037b6c476357f34f92b8f35b25d179a4f573f1e}@yahoo.com', EmailAddress.redact('user@yahoo.com')
34
+ assert_equal "{e037b6c476357f34f92b8f35b25d179a4f573f1e}@yahoo.com", EmailAddress.redact("user@yahoo.com")
37
35
  end
38
36
 
39
37
  def test_cases
40
- %w( miles.o'brien@yahoo.com first.last@gmail.com a-b.c_d+e@f.gx
41
- ).each do |address|
38
+ %w[miles.o'brien@yahoo.com first.last@gmail.com a-b.c_d+e@f.gx].each do |address|
42
39
  assert EmailAddress.valid?(address, host_validation: :syntax), "valid?(#{address})"
43
40
  end
44
41
  end
@@ -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__), '..', 'lib'))
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
2
2
 
3
- require 'simplecov'
3
+ require "pry"
4
+ require "simplecov"
4
5
  SimpleCov.start
5
6
 
6
- require 'active_record'
7
- require 'rubygems'
8
- require 'minitest/autorun'
9
- require 'minitest/unit'
10
- require 'minitest/pride'
11
- require 'email_address'
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.1.20
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Allen Fair
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-11 00:00:00.000000000 Z
11
+ date: 2021-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 5.2.4
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: 5.2.4
68
+ version: 6.1.4
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sqlite3
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -95,13 +95,13 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: simpleidn
98
+ name: pry
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
- type: :runtime
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
@@ -109,25 +109,33 @@ dependencies:
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
- name: netaddr
112
+ name: standard
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 2.0.4
118
- - - "<"
117
+ version: 1.1.1
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
119
123
  - !ruby/object:Gem::Version
120
- version: '3'
124
+ version: 1.1.1
125
+ - !ruby/object:Gem::Dependency
126
+ name: simpleidn
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
121
132
  type: :runtime
122
133
  prerelease: false
123
134
  version_requirements: !ruby/object:Gem::Requirement
124
135
  requirements:
125
136
  - - ">="
126
137
  - !ruby/object:Gem::Version
127
- version: 2.0.4
128
- - - "<"
129
- - !ruby/object:Gem::Version
130
- version: '3'
138
+ version: '0'
131
139
  description: The EmailAddress Gem to work with and validate email addresses.
132
140
  email:
133
141
  - allen.fair@gmail.com
@@ -135,8 +143,8 @@ executables: []
135
143
  extensions: []
136
144
  extra_rdoc_files: []
137
145
  files:
146
+ - ".github/workflows/ci.yml"
138
147
  - ".gitignore"
139
- - ".travis.yml"
140
148
  - Gemfile
141
149
  - LICENSE.txt
142
150
  - README.md
@@ -177,14 +185,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
185
  requirements:
178
186
  - - ">="
179
187
  - !ruby/object:Gem::Version
180
- version: '0'
188
+ version: '2.5'
189
+ - - "<"
190
+ - !ruby/object:Gem::Version
191
+ version: '4'
181
192
  required_rubygems_version: !ruby/object:Gem::Requirement
182
193
  requirements:
183
194
  - - ">="
184
195
  - !ruby/object:Gem::Version
185
196
  version: '0'
186
197
  requirements: []
187
- rubygems_version: 3.1.4
198
+ rubygems_version: 3.2.15
188
199
  signing_key:
189
200
  specification_version: 4
190
201
  summary: This gem provides a ruby language library for working with and validating
data/.travis.yml DELETED
@@ -1,9 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.7.0
4
- - 2.3.0
5
- - jruby-9.2.9.0
6
-
7
- addons:
8
- code_climate:
9
- repo_token: 729b2d0e2cc94f63b7da91042da0b6d77bbe30c2024dba04881f46caf702636f