summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb b/vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb
new file mode 100644
index 0000000..71ed584
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/eventmachine-1.2.7/tests/test_smtpclient.rb
@@ -0,0 +1,75 @@
+require 'em_test_helper'
+
+class TestSmtpClient < Test::Unit::TestCase
+
+ Localhost = "127.0.0.1"
+ Localport = 9801
+
+ def setup
+ end
+
+ def teardown
+ end
+
+ def test_a
+ # No real tests until we have a server implementation to test against.
+ # This is what the call looks like, though:
+ err = nil
+ EM.run {
+ d = EM::Protocols::SmtpClient.send :domain=>"example.com",
+ :host=>Localhost,
+ :port=>Localport, # optional, defaults 25
+ :starttls=>true,
+ :from=>"sender@example.com",
+ :to=> ["to_1@example.com", "to_2@example.com"],
+ :header=> {"Subject" => "This is a subject line"},
+ :body=> "This is the body of the email",
+ :verbose=>true
+ d.errback {|e|
+ err = e
+ EM.stop
+ }
+ }
+ assert(err)
+ end
+
+ def test_content
+ err = nil
+ EM.run {
+ d = EM::Protocols::SmtpClient.send :domain=>"example.com",
+ :host=>Localhost,
+ :port=>Localport, # optional, defaults 25
+ :starttls=>true,
+ :from=>"sender@example.com",
+ :to=> ["to_1@example.com", "to_2@example.com"],
+ :content => ["Subject: xxx\r\n\r\ndata\r\n.\r\n"],
+ :verbose=>true
+ d.errback {|e|
+ err = e
+ EM.stop
+ }
+ }
+ assert(err)
+ end
+
+
+ EM::Protocols::SmtpClient.__send__(:public, :escape_leading_dots)
+
+ def test_escaping
+ smtp = EM::Protocols::SmtpClient.new :domain => "example.com"
+
+ expectations = {
+ "Hello\r\n" => "Hello\r\n",
+ "\r\n.whatever\r\n" => "\r\n..whatever\r\n",
+ "\r\n.\r\n" => "\r\n..\r\n",
+ "\r\n.\r\n." => "\r\n..\r\n..",
+ ".\r\n.\r\n" => "..\r\n..\r\n",
+ "..\r\n" => "...\r\n"
+ }
+
+ expectations.each do |input, output|
+ assert_equal output, smtp.escape_leading_dots(input)
+ end
+ end
+
+end