curb 0.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of curb might be problematic. Click here for more details.

@@ -0,0 +1,141 @@
1
+ require File.join(File.dirname(__FILE__), 'helper')
2
+
3
+ class TestCurbCurlPostfield < Test::Unit::TestCase
4
+ def test_private_new
5
+ assert_raise(NoMethodError) { Curl::PostField.new }
6
+ end
7
+
8
+ def test_new_content_01
9
+ pf = Curl::PostField.content('foo', 'bar')
10
+
11
+ assert_equal 'foo', pf.name
12
+ assert_equal 'bar', pf.content
13
+ assert_nil pf.content_type
14
+ assert_nil pf.local_file
15
+ assert_nil pf.remote_file
16
+ assert_nil pf.set_content_proc
17
+ end
18
+
19
+ def test_new_content_02
20
+ pf = Curl::PostField.content('foo', 'bar', 'text/html')
21
+
22
+ assert_equal 'foo', pf.name
23
+ assert_equal 'bar', pf.content
24
+ assert_equal 'text/html', pf.content_type
25
+ assert_nil pf.local_file
26
+ assert_nil pf.remote_file
27
+ assert_nil pf.set_content_proc
28
+ end
29
+
30
+ def test_new_content_03
31
+ l = lambda { |field| "never gets run" }
32
+ pf = Curl::PostField.content('foo', &l)
33
+
34
+ assert_equal 'foo', pf.name
35
+ assert_nil pf.content
36
+ assert_nil pf.content_type
37
+ assert_nil pf.local_file
38
+ assert_nil pf.remote_file
39
+
40
+ # N.B. This doesn't just get the proc, but also removes it.
41
+ assert_equal l, pf.set_content_proc
42
+ end
43
+
44
+ def test_new_content_04
45
+ l = lambda { |field| "never gets run" }
46
+ pf = Curl::PostField.content('foo', 'text/html', &l)
47
+
48
+ assert_equal 'foo', pf.name
49
+ assert_nil pf.content
50
+ assert_equal 'text/html', pf.content_type
51
+ assert_nil pf.local_file
52
+ assert_nil pf.remote_file
53
+
54
+ # N.B. This doesn't just get the proc, but also removes it.
55
+ assert_equal l, pf.set_content_proc
56
+ end
57
+
58
+
59
+ def test_new_file_01
60
+ pf = Curl::PostField.file('foo', 'localname')
61
+
62
+ assert_equal 'foo', pf.name
63
+ assert_equal 'localname', pf.local_file
64
+ assert_equal 'localname', pf.remote_file
65
+ assert_nil pf.content_type
66
+ assert_nil pf.content
67
+ assert_nil pf.set_content_proc
68
+ end
69
+
70
+ def test_new_file_02
71
+ pf = Curl::PostField.file('foo', 'localname', 'remotename')
72
+
73
+ assert_equal 'foo', pf.name
74
+ assert_equal 'localname', pf.local_file
75
+ assert_equal 'remotename', pf.remote_file
76
+ assert_nil pf.content_type
77
+ assert_nil pf.content
78
+ assert_nil pf.set_content_proc
79
+ end
80
+
81
+ def test_new_file_03
82
+ l = lambda { |field| "never gets run" }
83
+ pf = Curl::PostField.file('foo', 'remotename', &l)
84
+
85
+ assert_equal 'foo', pf.name
86
+ assert_equal 'remotename', pf.remote_file
87
+ assert_nil pf.local_file
88
+ assert_nil pf.content_type
89
+ assert_nil pf.content
90
+
91
+ # N.B. This doesn't just get the proc, but also removes it.
92
+ assert_equal l, pf.set_content_proc
93
+ end
94
+
95
+ def test_new_file_04
96
+ assert_raise(ArgumentError) do
97
+ # no local name, no block
98
+ Curl::PostField.file('foo')
99
+ end
100
+
101
+ assert_raise(ArgumentError) do
102
+ # no remote name with block
103
+ Curl::PostField.file('foo') { |field| "never runs" }
104
+ end
105
+ end
106
+
107
+ def test_new_file_05
108
+ # local gets ignored when supplying a block, but remote
109
+ # is still set up properly.
110
+ l = lambda { |field| "never runs" }
111
+ pf = Curl::PostField.file('foo', 'local', 'remote', &l)
112
+
113
+ assert_equal 'foo', pf.name
114
+ assert_equal 'remote', pf.remote_file
115
+ assert_nil pf.local_file
116
+ assert_nil pf.content_type
117
+ assert_nil pf.content
118
+
119
+ assert_equal l, pf.set_content_proc
120
+ end
121
+
122
+ def test_to_s_01
123
+ pf = Curl::PostField.content('foo', 'bar')
124
+ assert_equal "foo=bar", pf.to_s
125
+ end
126
+
127
+ def test_to_s_02
128
+ pf = Curl::PostField.content('foo', 'bar ton')
129
+ assert_equal "foo=bar%20ton", pf.to_s
130
+ end
131
+
132
+ def test_to_s_03
133
+ pf = Curl::PostField.content('foo') { |field| field.name.upcase + "BAR" }
134
+ assert_equal "foo=FOOBAR", pf.to_s
135
+ end
136
+
137
+ def test_to_s_04
138
+ pf = Curl::PostField.file('foo.file', 'bar.file')
139
+ assert_raise(Curl::Err::InvalidPostFieldError) { pf.to_s }
140
+ end
141
+ end
@@ -0,0 +1,2 @@
1
+ $: << $TESTDIR = File.expand_path(File.dirname(__FILE__))
2
+ Dir[File.join($TESTDIR, 'tc_*.rb')].each { |lib| require lib }
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.0
3
+ specification_version: 1
4
+ name: curb
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.1.0
7
+ date: 2006-12-23 00:00:00 +00:00
8
+ summary: Ruby bindings for the libcurl(3) URL transfer library.
9
+ require_paths:
10
+ - lib
11
+ email: curb-devel@rubyforge.org
12
+ homepage: http://curb.rubyforge.org
13
+ rubyforge_project: curb
14
+ description: C-language Ruby bindings for the libcurl(3) URL transfer library.
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Ross Bamford
31
+ files:
32
+ - ext/curl.rb
33
+ - ext/extconf.rb
34
+ - ext/curb.rb
35
+ - ext/curb.c
36
+ - ext/curb_easy.c
37
+ - ext/curb_errors.c
38
+ - ext/curb_postfield.c
39
+ - ext/curb_macros.h
40
+ - ext/curb_postfield.h
41
+ - ext/curb.h
42
+ - ext/curb_errors.h
43
+ - ext/curb_easy.h
44
+ - tests/bug_require_last_or_segfault.rb
45
+ - tests/tc_curl_easy.rb
46
+ - tests/helper.rb
47
+ - tests/alltests.rb
48
+ - tests/bug_instance_post_differs_from_class_post.rb
49
+ - tests/unittests.rb
50
+ - tests/tc_curl_postfield.rb
51
+ - tests/require_last_or_segfault_script.rb
52
+ - samples/gmail.rb
53
+ - doc.rb
54
+ - Rakefile
55
+ - README
56
+ - LICENSE
57
+ test_files:
58
+ - tests/tc_curl_easy.rb
59
+ - tests/tc_curl_postfield.rb
60
+ rdoc_options:
61
+ - --title
62
+ - Curb API
63
+ - --main
64
+ - README
65
+ extra_rdoc_files:
66
+ - ext/curb.c
67
+ - ext/curb_easy.c
68
+ - ext/curb_errors.c
69
+ - ext/curb_postfield.c
70
+ - ext/curb.rb
71
+ - README
72
+ - LICENSE
73
+ executables: []
74
+
75
+ extensions:
76
+ - ext/extconf.rb
77
+ requirements: []
78
+
79
+ dependencies: []
80
+