mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
718ceb5476
level 1. * lib/net/imap.rb (max_flag_count=): new methods to set the max number of flags interned to symbols. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
54 lines
1.3 KiB
Ruby
54 lines
1.3 KiB
Ruby
require "net/imap"
|
|
require "test/unit"
|
|
|
|
class IMAPResponseParserTest < Test::Unit::TestCase
|
|
def setup
|
|
@do_not_reverse_lookup = Socket.do_not_reverse_lookup
|
|
Socket.do_not_reverse_lookup = true
|
|
@max_flag_count = Net::IMAP.max_flag_count
|
|
Net::IMAP.max_flag_count = 3
|
|
end
|
|
|
|
def teardown
|
|
Socket.do_not_reverse_lookup = @do_not_reverse_lookup
|
|
Net::IMAP.max_flag_count = @max_flag_count
|
|
end
|
|
|
|
def test_flag_list_safe
|
|
parser = Net::IMAP::ResponseParser.new
|
|
response = lambda {
|
|
$SAFE = 1
|
|
parser.parse(<<EOF.gsub(/\n/, "\r\n").taint)
|
|
* LIST (\\HasChildren) "." "INBOX"
|
|
EOF
|
|
}.call
|
|
assert_equal [:Haschildren], response.data.attr
|
|
end
|
|
|
|
def test_flag_list_too_many_flags
|
|
parser = Net::IMAP::ResponseParser.new
|
|
assert_nothing_raised do
|
|
3.times do |i|
|
|
parser.parse(<<EOF.gsub(/\n/, "\r\n").taint)
|
|
* LIST (\\Foo#{i}) "." "INBOX"
|
|
EOF
|
|
end
|
|
end
|
|
assert_raise(Net::IMAP::FlagCountError) do
|
|
parser.parse(<<EOF.gsub(/\n/, "\r\n").taint)
|
|
* LIST (\\Foo3) "." "INBOX"
|
|
EOF
|
|
end
|
|
end
|
|
|
|
def test_flag_list_many_same_flags
|
|
parser = Net::IMAP::ResponseParser.new
|
|
assert_nothing_raised do
|
|
100.times do
|
|
parser.parse(<<EOF.gsub(/\n/, "\r\n").taint)
|
|
* LIST (\\Foo) "." "INBOX"
|
|
EOF
|
|
end
|
|
end
|
|
end
|
|
end
|