ruby-net-nntp 0.2.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +145 -128
- data/CHANGELOG.debian +5 -0
- data/Manifest.txt +37 -0
- data/README.txt +69 -0
- data/Rakefile +28 -0
- data/build-stamp +0 -0
- data/lib/net/nntp.rb +261 -327
- data/lib/net/nntp/request.rb +840 -0
- data/lib/net/nntp/response.rb +731 -0
- data/lib/net/nntp/version.rb +2 -1
- data/script/console +12 -0
- data/spec/net/nntp/request_spec.rb +771 -0
- data/spec/net/nntp/response_spec.rb +994 -0
- data/spec/net/nntp_spec.rb +634 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +28 -0
- data/spec/stories/all.rb +2 -0
- data/spec/stories/helper.rb +17 -0
- data/spec/stories/net/nntp.rb +7 -0
- data/spec/stories/net/nntp.story +12 -0
- data/spec/stories/steps/nntp.rb +18 -0
- data/tasks/ann.rake +81 -0
- data/tasks/bones.rake +21 -0
- data/tasks/gem.rake +126 -0
- data/tasks/git.rake +41 -0
- data/tasks/manifest.rake +49 -0
- data/tasks/mercurial.rake +6 -0
- data/tasks/notes.rake +28 -0
- data/tasks/pallet.rake +17 -0
- data/tasks/post_load.rake +39 -0
- data/tasks/rdoc.rake +51 -0
- data/tasks/rubyforge.rake +57 -0
- data/tasks/setup.rb +268 -0
- data/tasks/spec.rake +55 -0
- data/tasks/svn.rake +48 -0
- data/tasks/test.rake +38 -0
- metadata +57 -33
- data/README +0 -46
- data/lib/net/nntp/article.rb +0 -188
- data/lib/net/nntp/group.rb +0 -83
- data/test/functional/test_nntp.rb +0 -288
- data/test/mock/mock_socket.rb +0 -359
- data/test/unit/test_nntp_article.rb +0 -98
- data/test/unit/test_nntp_group.rb +0 -60
@@ -1,98 +0,0 @@
|
|
1
|
-
class TestNNTPArticle < Test::Unit::TestCase
|
2
|
-
|
3
|
-
def setup
|
4
|
-
@article = Net::NNTP::Article.new
|
5
|
-
@article.overview_format = "215 Order of fields in overview database.\r\nSubject:\r\nFrom:\r\nDate:\r\nMessage-ID:\r\nReferences:\r\nBytes:\r\nLines:\r\nXref:full\r\n.\r\n"
|
6
|
-
end
|
7
|
-
|
8
|
-
def test_article_new
|
9
|
-
a = Net::NNTP::Article.new
|
10
|
-
end
|
11
|
-
|
12
|
-
def test_article_number
|
13
|
-
@article.number = 1
|
14
|
-
assert_equal 1, @article.number
|
15
|
-
end
|
16
|
-
|
17
|
-
def test_article_messageid
|
18
|
-
m = '<bla.foo@some.host>'
|
19
|
-
@article.messageid = m
|
20
|
-
assert_equal m, @article.messageid
|
21
|
-
end
|
22
|
-
|
23
|
-
def test_article_subject
|
24
|
-
s = 'bla'
|
25
|
-
@article.subject = s
|
26
|
-
assert_equal s, @article.subject
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_from_xover
|
30
|
-
over = "1\tTesting\t\"abc\" abc@ide.invalid\t17 Aug 2004 14:00:00 GMT\t<this.post@is.invalid>\t\t200\t2\tXref: this.host.invalid alt.test:1"
|
31
|
-
@article.overview(over)
|
32
|
-
assert_equal '1', @article.number
|
33
|
-
assert_equal '<this.post@is.invalid>', @article.messageid
|
34
|
-
assert_equal 'Testing', @article.subject
|
35
|
-
assert_equal 200, @article.bytes.to_i
|
36
|
-
assert_equal 2, @article.lines.to_i
|
37
|
-
assert_equal '17 Aug 2004 14:00:00 GMT', @article.date
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_overview_fmt=
|
41
|
-
@article.overview_format = "215 Order of fields in overview database.\r\nSubject:\r\nFrom:\r\nDate:\r\nMessage-ID:\r\nReferences:\r\nBytes:\r\nLines:\r\nXref:full\r\n.\r\n"
|
42
|
-
assert_equal 'number', @article.overview_format[0]
|
43
|
-
assert_equal 'subject', @article.overview_format[1]
|
44
|
-
assert_equal 'from', @article.overview_format[2]
|
45
|
-
assert_equal 'date', @article.overview_format[3]
|
46
|
-
assert_equal 'messageid', @article.overview_format[4]
|
47
|
-
assert_equal 'references', @article.overview_format[5]
|
48
|
-
assert_equal 'bytes', @article.overview_format[6]
|
49
|
-
assert_equal 'lines', @article.overview_format[7]
|
50
|
-
assert_equal 'xref', @article.overview_format[8]
|
51
|
-
end
|
52
|
-
|
53
|
-
def test_set_header
|
54
|
-
@article.set_header('Subject: Test')
|
55
|
-
assert_equal 'Test', @article.headers.subject
|
56
|
-
@article.set_header('Message-ID: <this.post@is.invalid>')
|
57
|
-
assert_equal '<this.post@is.invalid>', @article.headers.message_id
|
58
|
-
@article.set_header('References: <this.is.a.reference.test@invalid>')
|
59
|
-
@article.set_header(' <this.is.another.reference.test@invalid>')
|
60
|
-
assert_kind_of Array, @article.headers.references
|
61
|
-
assert_equal 2, @article.headers.references.size
|
62
|
-
assert_equal '<this.is.a.reference.test@invalid>', @article.headers.references[0]
|
63
|
-
assert_equal '<this.is.another.reference.test@invalid>', @article.headers.references[1]
|
64
|
-
end
|
65
|
-
|
66
|
-
def test_parse
|
67
|
-
article = Net::NNTP::Article.parse(["220 1 article retrieved - text follows",
|
68
|
-
"Date: 17 Aug 2004 14:00:00 GMT",
|
69
|
-
"From: \"abc\" abc@ide.invalid",
|
70
|
-
"Message-ID: <this.post@is.invalid>",
|
71
|
-
"Subject: ignore test",
|
72
|
-
"",
|
73
|
-
"test please ignore",
|
74
|
-
"test ",
|
75
|
-
"\t",
|
76
|
-
"."])
|
77
|
-
assert_equal '17 Aug 2004 14:00:00 GMT', article.headers.date
|
78
|
-
assert_equal '"abc" abc@ide.invalid', article.headers.from
|
79
|
-
assert_equal '<this.post@is.invalid>', article.headers.message_id
|
80
|
-
assert_equal 'ignore test', article.headers.subject
|
81
|
-
assert_equal 3, article.body.size
|
82
|
-
assert_equal 'test please ignore', article.body[0]
|
83
|
-
assert_equal 'test ', article.body[1]
|
84
|
-
assert_equal "\t", article.body[2]
|
85
|
-
article = Net::NNTP::Article.parse(["221 1 article retrieved - head follows", "Date: 17 Aug 2004 14:00:00 GMT", "From: \"abc\" abc@ide.invalid",
|
86
|
-
"Message-ID: <this.post@is.invalid>", "Subject: ignore test", "."])
|
87
|
-
assert_equal '17 Aug 2004 14:00:00 GMT', article.headers.date
|
88
|
-
assert_equal '"abc" abc@ide.invalid', article.headers.from
|
89
|
-
assert_equal '<this.post@is.invalid>', article.headers.message_id
|
90
|
-
assert_equal 'ignore test', article.headers.subject
|
91
|
-
assert_equal 0, article.body.size
|
92
|
-
article = Net::NNTP::Article.parse(["222 1 article retrieved - body follows", "test please ignore", "test ", "."])
|
93
|
-
assert_equal 2, article.body.size
|
94
|
-
assert_equal 'test please ignore', article.body[0]
|
95
|
-
assert_equal 'test ', article.body[1]
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'test/unit'
|
3
|
-
require 'net/nntp'
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
class TestNNTPGroup< Test::Unit::TestCase
|
8
|
-
|
9
|
-
def setup
|
10
|
-
@group = Net::NNTP::Group.new 'at.test'
|
11
|
-
@group = Net::NNTP::Group.new 'at.test'
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_init
|
15
|
-
assert_nothing_raised do
|
16
|
-
setup
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_name
|
21
|
-
assert_equal 'at.test', @group.name
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_first
|
25
|
-
@group.article_info = [100, 1, 101]
|
26
|
-
assert_equal 100, @group.article_count
|
27
|
-
assert_equal 1, @group.article_first
|
28
|
-
assert_equal 101, @group.article_last
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_listinfo
|
32
|
-
assert_nothing_raised do
|
33
|
-
@group.listinfo(10,20,'y')
|
34
|
-
assert_equal 10, @group.hi
|
35
|
-
assert_equal 20, @group.lo
|
36
|
-
assert_equal 'y', @group.postingmode
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def test_article
|
41
|
-
assert_equal 0, @group.articles.length
|
42
|
-
over = "1\tTesting\t\"abc\" abc@ide.invalid\t17 Aug 2004 14:00:00 GMT\t<this.post@is.invalid>\t\t200\t2\tXref: this.host.invalid alt.test:1"
|
43
|
-
@group.articles << Net::NNTP::Article.new
|
44
|
-
assert_equal 1, @group.articles.length
|
45
|
-
overview_format = "215 Order of fields in overview database.\r\nSubject:\r\nFrom:\r\nDate:\r\nMessage-ID:\r\nReferences:\r\nBytes:\r\nLines:\r\nXref:full\r\n.\r\n"
|
46
|
-
@group.articles.build_from_over(over, overview_format)
|
47
|
-
@group.articles = []
|
48
|
-
assert_equal 0, @group.articles.size
|
49
|
-
end
|
50
|
-
|
51
|
-
def test_create
|
52
|
-
assert_kind_of Net::NNTP::Article, @group.articles.create
|
53
|
-
end
|
54
|
-
|
55
|
-
def test_inspect
|
56
|
-
assert_kind_of String, @group.inspect
|
57
|
-
end
|
58
|
-
|
59
|
-
|
60
|
-
end
|