wiki-api 0.0.2 → 0.1.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.
@@ -0,0 +1,262 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'test/unit'
5
+ require File.expand_path(File.dirname(__FILE__) + "/../../lib/wiki/api")
6
+
7
+ #
8
+ # Testing the parsing of URI (with a predownloaded HTML file):
9
+ # /files/Wiktionary_Welcome,_newcomers.html (2013-03-27)
10
+ #
11
+ # Online equivalent:
12
+ # https://en.wiktionary.org/wiki/Wiktionary:Welcome,_newcomers
13
+ #
14
+
15
+ class WikiPageOfflinePage < Test::Unit::TestCase
16
+
17
+ # this global is required to resolve URIs (MediaWiki uses relative paths in their links)
18
+ URI_CONFIG = { uri: "http://en.wiktionary.org" }
19
+ # use local file for test loading
20
+ PAGE_CONFIG = { file: File.expand_path(File.dirname(__FILE__) + "/files/Wiktionary_program.html") }
21
+
22
+ def setup
23
+ # NOTE: comment Page.config, to use the online MediaWiki instance
24
+ Wiki::Api::Connect.config = URI_CONFIG
25
+ Wiki::Api::Connect.config.merge! PAGE_CONFIG
26
+ end
27
+
28
+ def teardown
29
+ end
30
+
31
+ # test simple page invocation
32
+ def test_headlines_nested
33
+
34
+ # load page
35
+ page = Wiki::Api::Page.new name: "program"
36
+ assert page.is_a?(Wiki::Api::Page), "expected Page object"
37
+ headline = page.root_headline
38
+ assert headline.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
39
+ assert headline.name == "program", "expected developer headline"
40
+
41
+ # search nested headline: english
42
+ english = headline.headline("english").first
43
+ assert english.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
44
+
45
+ # search nested headline: noun
46
+ noun = english.headline("noun").first
47
+ assert noun.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
48
+
49
+ # get block
50
+ block = noun.block
51
+ assert block.is_a?(Wiki::Api::PageBlock), "expected PageBlock object"
52
+
53
+ # list items
54
+ block.list_items.each do |list_item|
55
+ assert list_item.is_a?(Wiki::Api::PageListItem), "expected PageListItem object"
56
+ # links
57
+ list_item.links.each do |link|
58
+ assert link.is_a?(Wiki::Api::PageLink), "expected PageListItem object"
59
+ end
60
+ end
61
+
62
+ # links
63
+ block.links.each do |link|
64
+ assert link.is_a?(Wiki::Api::PageLink), "expected PageListItem object"
65
+ end
66
+ end
67
+
68
+
69
+ # def test_headlines_verify_tree_objects
70
+ # page = Wiki::Api::Page.new name: "program"
71
+ # assert page.is_a?(Wiki::Api::Page), "expected Page object"
72
+
73
+ # # get root headline
74
+ # headline = page.root_headline
75
+ # assert headline.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
76
+ # assert headline.name == "program", "expected program headline"
77
+
78
+ # # search in depth on headline noun
79
+ # nouns = headline.headline_by_name "noun", 1
80
+
81
+ # nouns.each do |noun|
82
+ # assert noun.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
83
+
84
+ # # get block
85
+ # block = noun.block
86
+ # assert block.is_a?(Wiki::Api::PageBlock), "expected PageBlock object"
87
+
88
+ # # list items
89
+ # block.list_items.each do |list_item|
90
+ # assert list_item.is_a?(Wiki::Api::PageListItem), "expected PageListItem object"
91
+ # # links
92
+ # list_item.links.each do |link|
93
+ # assert link.is_a?(Wiki::Api::PageLink), "expected PageListItem object"
94
+ # end
95
+ # end
96
+
97
+ # # links
98
+ # block.links.each do |link|
99
+ # assert link.is_a?(Wiki::Api::PageLink), "expected PageListItem object"
100
+ # end
101
+ # end
102
+ # end
103
+
104
+
105
+ def test_headlines_verify_tree_data
106
+ page = Wiki::Api::Page.new name: "program"
107
+ headline = page.root_headline
108
+ # get root
109
+ assert headline.name == "program", "expected program name"
110
+
111
+ # iterate one deep and verify headline index names
112
+ headline.headlines.each do |name, headline|
113
+ assert headline.name == name
114
+ end
115
+ headlines = headline.headlines.values
116
+
117
+ # English
118
+ english_headlines = headlines[0]
119
+ assert english_headlines.name == "English"
120
+ english_headlines = english_headlines.headlines.values
121
+ assert english_headlines[0].name == "Alternative_forms"
122
+ assert english_headlines[1].name == "Etymology"
123
+ assert english_headlines[2].name == "Pronunciation"
124
+ assert english_headlines[3].name == "Noun"
125
+ noun_english_headlines = english_headlines[3].headlines.values
126
+ assert noun_english_headlines[0].name == "Usage_notes"
127
+ assert noun_english_headlines[1].name == "Synonyms"
128
+ assert noun_english_headlines[2].name == "Translations"
129
+ assert english_headlines[4].name == "Verb"
130
+ verb_english_headlines = english_headlines[4].headlines.values
131
+ assert verb_english_headlines[0].name == "Related_terms"
132
+ assert verb_english_headlines[1].name == "Translations_2"
133
+ assert english_headlines[5].name == "External_links"
134
+
135
+ # Czech
136
+ czech_headlines = headlines[1]
137
+ assert czech_headlines.name == "Czech"
138
+ czech_headlines = czech_headlines.headlines.values
139
+ assert czech_headlines[0].name == "Pronunciation_2"
140
+ assert czech_headlines[1].name == "Noun_2"
141
+
142
+ # Hungarian
143
+ hungarian_headlines = headlines[2]
144
+ assert hungarian_headlines.name == "Hungarian"
145
+ hungarian_headlines = hungarian_headlines.headlines.values
146
+ assert hungarian_headlines[0].name == "Pronunciation_3"
147
+ assert hungarian_headlines[1].name == "Noun_3"
148
+ noun_hungarian_headlines = hungarian_headlines[1].headlines.values
149
+ assert noun_hungarian_headlines[0].name == "Declension"
150
+ assert noun_hungarian_headlines[1].name == "Derived_terms"
151
+
152
+ # Norwegian
153
+ norwegian_headlines = headlines[3]
154
+ assert norwegian_headlines.name == "Norwegian_Bokm.C3.A5l"
155
+ norwegian_headlines = norwegian_headlines.headlines.values
156
+ assert norwegian_headlines[0].name == "Noun_4"
157
+
158
+ # Romanian
159
+ romanian_headlines = headlines[4]
160
+ assert romanian_headlines.name == "Romanian"
161
+ romanian_headlines = romanian_headlines.headlines.values
162
+ assert romanian_headlines[0].name == "Etymology_2"
163
+ assert romanian_headlines[1].name == "Noun_5"
164
+ noun_romanian_headlines = romanian_headlines[1].headlines.values
165
+ assert noun_romanian_headlines[0].name == "Declension_2"
166
+ assert noun_romanian_headlines[1].name == "Related_terms_2"
167
+
168
+ # Serbo-Croatian
169
+ serb_croatian_headlines = headlines[5]
170
+ assert serb_croatian_headlines.name == "Serbo-Croatian"
171
+ serb_croatian_headlines = serb_croatian_headlines.headlines.values
172
+ assert serb_croatian_headlines[0].name == "Noun_6"
173
+ noun_serb_croatian_headlines = serb_croatian_headlines[0].headlines.values
174
+ assert noun_serb_croatian_headlines[0].name == "Declension_3"
175
+
176
+ # Slovak
177
+ slovak_headlines = headlines[6]
178
+ assert slovak_headlines.name == "Slovak"
179
+ slovak_headlines = slovak_headlines.headlines.values
180
+ assert slovak_headlines[0].name == "Noun_7"
181
+
182
+ # Swedish
183
+ swedish_headlines = headlines[7]
184
+ assert swedish_headlines.name == "Swedish"
185
+ swedish_headlines = swedish_headlines.headlines.values
186
+ assert swedish_headlines[0].name == "Etymology_3"
187
+ assert swedish_headlines[1].name == "Noun_8"
188
+ noun_swedish_headlines = swedish_headlines[1].headlines.values
189
+ assert noun_swedish_headlines[0].name == "Declension_4"
190
+
191
+ # Turkish
192
+ turkish_headlines = headlines[8]
193
+ assert turkish_headlines.name == "Turkish"
194
+ turkish_headlines = turkish_headlines.headlines.values
195
+ assert turkish_headlines[0].name == "Etymology_4"
196
+ assert turkish_headlines[1].name == "Noun_9"
197
+ noun_turkish_headlines = turkish_headlines[1].headlines.values
198
+ assert noun_turkish_headlines[0].name == "Declension_5"
199
+
200
+ end
201
+
202
+
203
+ def test_headlines_search
204
+ page = Wiki::Api::Page.new name: "program"
205
+ headline = page.root_headline
206
+ # get root
207
+ assert headline.name == "program", "expected program name"
208
+
209
+ headlines = headline.headline "english"
210
+ assert !headlines.empty?, "expected a headline"
211
+
212
+ # iterate english
213
+ headlines.each do |headline|
214
+ assert headline.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
215
+ assert headline.name == "English", "expected English"
216
+ noun_headlines = headline.headline "noun"
217
+ assert !noun_headlines.empty?, "exptected a headline"
218
+ # iterate nouns
219
+ noun_headlines.each do |noun_headline|
220
+ assert noun_headline.is_a?(Wiki::Api::PageHeadline), "expected PageHeadline object"
221
+ assert noun_headline.name == "Noun", "expected Noun"
222
+
223
+ #list_item.links.each do |link|
224
+ end
225
+ end
226
+ end
227
+
228
+ def test_headlines_has_headline
229
+ # load page
230
+ page = Wiki::Api::Page.new name: "program"
231
+
232
+ # get root
233
+ root_headline = page.root_headline
234
+ assert root_headline.name == "program", "expected program name"
235
+ headline = root_headline.headline("english").first
236
+
237
+ # verify existence english headlines
238
+ assert headline.has_headline?("alternative forms")
239
+ assert headline.has_headline?("etymology")
240
+ assert headline.has_headline?("pronunciation")
241
+ assert headline.has_headline?("noun")
242
+ assert headline.has_headline?("verb")
243
+ assert headline.has_headline?("external links")
244
+ assert !headline.has_headline?("alternative12 forms")
245
+ assert !headline.has_headline?("etymolfaogy")
246
+ assert !headline.has_headline?("pronunciafaation")
247
+ assert !headline.has_headline?("nounia")
248
+ assert !headline.has_headline?("verbaf")
249
+ assert !headline.has_headline?("externalaf links")
250
+
251
+ # verify existence czech headlines
252
+ headline = root_headline.headline("czech").first
253
+ assert headline.has_headline?("pronunciation")
254
+ assert headline.has_headline?("noun")
255
+ assert !headline.has_headline?("pronunciation82")
256
+ assert !headline.has_headline?("nouan")
257
+
258
+ #TODO: add other headlines here as well!
259
+
260
+ end
261
+
262
+ end
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Wiki::Api::VERSION
9
9
  spec.authors = ["Dennis Blommesteijn"]
10
10
  spec.email = ["dennis@blommesteijn.com"]
11
- spec.description = %q{MediaWiki API and Page content parser for Headlines, Blocks, Elements, ListItems, and Links.}
12
- spec.summary = %q{MediaWiki API and Page content parser for Headlines, Blocks, Elements, ListItems, and Links.}
11
+ spec.description = %q{MediaWiki API and Page content parser for Headlines (nested), TextBlocks, ListItems, and Links.}
12
+ spec.summary = %q{MediaWiki API and Page content parser for Headlines (nested), TextBlocks, ListItems, and Links.}
13
13
  spec.homepage = "https://github.com/dblommesteijn/wiki-api"
14
14
  spec.license = "MIT"
15
15
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wiki-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Blommesteijn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-03 00:00:00.000000000 Z
11
+ date: 2013-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -80,7 +80,7 @@ dependencies:
80
80
  version: 2.0.0
81
81
  prerelease: false
82
82
  type: :development
83
- description: MediaWiki API and Page content parser for Headlines, Blocks, Elements, ListItems, and Links.
83
+ description: MediaWiki API and Page content parser for Headlines (nested), TextBlocks, ListItems, and Links.
84
84
  email:
85
85
  - dennis@blommesteijn.com
86
86
  executables: []
@@ -103,9 +103,9 @@ files:
103
103
  - lib/wiki/api/version.rb
104
104
  - test/test_helper.rb
105
105
  - test/unit/files/Wiktionary_Welcome,_newcomers.html
106
+ - test/unit/files/Wiktionary_program.html
106
107
  - test/unit/wiki_connect.rb
107
- - test/unit/wiki_page_config.rb
108
- - test/unit/wiki_page_object.rb
108
+ - test/unit/wiki_page_offline.rb
109
109
  - wiki-api.gemspec
110
110
  homepage: https://github.com/dblommesteijn/wiki-api
111
111
  licenses:
@@ -130,10 +130,10 @@ rubyforge_project:
130
130
  rubygems_version: 2.0.3
131
131
  signing_key:
132
132
  specification_version: 4
133
- summary: MediaWiki API and Page content parser for Headlines, Blocks, Elements, ListItems, and Links.
133
+ summary: MediaWiki API and Page content parser for Headlines (nested), TextBlocks, ListItems, and Links.
134
134
  test_files:
135
135
  - test/test_helper.rb
136
136
  - test/unit/files/Wiktionary_Welcome,_newcomers.html
137
+ - test/unit/files/Wiktionary_program.html
137
138
  - test/unit/wiki_connect.rb
138
- - test/unit/wiki_page_config.rb
139
- - test/unit/wiki_page_object.rb
139
+ - test/unit/wiki_page_offline.rb
@@ -1,45 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'test/unit'
5
- require File.expand_path(File.dirname(__FILE__) + "/../../lib/wiki/api")
6
-
7
- #
8
- # Testing the parsing of URI by passing a uri variable to Page:
9
- # https://en.wiktionary.org/wiki/Wiktionary:Welcome,_newcomers
10
- #
11
-
12
- class WikiPageConfig < Test::Unit::TestCase
13
-
14
- def setup
15
- # NOTE: comment Page.config, to use the online MediaWiki instance
16
- # Wiki::Api::Page.config = PAGE_CONFIG
17
- # Wiki::Api::Connect.config = GLB_CONFIG
18
- # @page_name = "Wiktionary:Welcome,_newcomers"
19
- end
20
-
21
- def teardown
22
- end
23
-
24
- # test simple page invocation
25
- def test_page_invocation_with_uri
26
- page = Wiki::Api::Page.new name: "Wiktionary:Welcome,_newcomers", uri: "http://en.wiktionary.org"
27
- headlines = page.headlines
28
- assert !headlines.empty?, "expected headlines"
29
- assert headlines.size < 1, "expected more than one headline"
30
- headlines.each do |headline|
31
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
32
- end
33
- end
34
-
35
- def test_wrong_page_invocation_with_uri
36
- begin
37
- page = Wiki::Api::Page.new name: "A_Wrong_Page_Name", uri: "http://en.wiktionary.org"
38
- assert false, "expected a failiure"
39
- rescue Exception => e
40
- assert true, "expected a failiure"
41
- end
42
- end
43
-
44
- end
45
-
@@ -1,229 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require 'rubygems'
4
- require 'test/unit'
5
- require File.expand_path(File.dirname(__FILE__) + "/../../lib/wiki/api")
6
-
7
- #
8
- # Testing the parsing of URI (with a predownloaded HTML file):
9
- # /files/Wiktionary_Welcome,_newcomers.html (2013-03-27)
10
- #
11
- # Online equivalent:
12
- # https://en.wiktionary.org/wiki/Wiktionary:Welcome,_newcomers
13
- #
14
-
15
- class WikiPageObject < Test::Unit::TestCase
16
-
17
- # this global is required to resolve URIs (MediaWiki uses relative paths in their links)
18
- GLB_CONFIG = { uri: "http://en.wiktionary.org" }
19
-
20
- # use local file for test loading
21
- PAGE_CONFIG = { file: File.expand_path(File.dirname(__FILE__) + "/files/Wiktionary_Welcome,_newcomers.html") }
22
-
23
- def setup
24
- # NOTE: comment Page.config, to use the online MediaWiki instance
25
- Wiki::Api::Page.config = PAGE_CONFIG
26
- Wiki::Api::Connect.config = GLB_CONFIG
27
- @page_name = "Wiktionary:Welcome,_newcomers"
28
- end
29
-
30
- def teardown
31
- end
32
-
33
- # test simple page invocation
34
- def test_page_invocation
35
- page = Wiki::Api::Page.new name: @page_name
36
- headlines = page.headlines
37
- assert !headlines.empty?, "expected headlines"
38
- headlines.each do |headline|
39
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
40
- end
41
- end
42
-
43
- # test nokogiri elements per headline
44
- def test_page_elements
45
- page = Wiki::Api::Page.new name: @page_name
46
- headlines = page.headlines
47
- assert !headlines.empty?, "expected headlines"
48
- assert headlines.size > 1, "expected more than one headline"
49
- headlines.each do |headline|
50
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
51
- elements = headline.elements.flatten
52
- assert !elements.empty?, "expected elements"
53
- elements.each do |element|
54
- assert element.is_a?(Nokogiri::XML::Element) ||
55
- element.is_a?(Nokogiri::XML::Text) ||
56
- element.is_a?(Nokogiri::XML::Comment), "expected nokogiri internals"
57
- end
58
- end
59
- end
60
-
61
- # test pageblocks for each headline
62
- def test_page_blocks
63
- page = Wiki::Api::Page.new name: @page_name
64
- headlines = page.headlines
65
- assert !headlines.empty?, "expected headlines"
66
- assert headlines.size > 1, "expected more than one headline"
67
- headlines.each do |headline|
68
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
69
- block = headline.block
70
- assert block.is_a?(Wiki::Api::PageBlock), "expected block object"
71
- end
72
- end
73
-
74
- # test string text from page block
75
- def test_page_block_string_text
76
- page = Wiki::Api::Page.new name: @page_name
77
- headlines = page.headlines
78
- assert !headlines.empty?, "expected headlines"
79
- assert headlines.size > 1, "expected more than one headline"
80
- headlines.each do |headline|
81
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
82
- block = headline.block
83
- assert block.is_a?(Wiki::Api::PageBlock), "expected block object"
84
- texts = block.to_texts
85
- assert texts.is_a?(Array) && !texts.empty?, "expected array"
86
- texts.each do |text|
87
- assert text.is_a?(String), "expected string"
88
- end
89
- end
90
- end
91
-
92
- # test list items from page blocks
93
- def test_page_block_list_items
94
- page = Wiki::Api::Page.new name: @page_name
95
- headlines = page.headlines
96
- assert !headlines.empty?, "expected headlines"
97
- assert headlines.size > 1, "expected more than one headline"
98
- headlines.each do |headline|
99
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
100
- block = headline.block
101
- assert block.is_a?(Wiki::Api::PageBlock), "expected block object"
102
- list_items = block.list_items
103
- assert list_items.is_a?(Array), "expected array"
104
- list_items.each do |list_item|
105
- assert list_item.is_a?(Wiki::Api::PageListItem), "expected list item object"
106
- end
107
- end
108
- end
109
-
110
- # test links within page blocks
111
- def test_page_block_links
112
- page = Wiki::Api::Page.new name: @page_name
113
- headlines = page.headlines
114
- assert !headlines.empty?, "expected headlines"
115
- assert headlines.size > 1, "expected more than one headline"
116
- headlines.each do |headline|
117
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
118
- block = headline.block
119
- assert block.is_a?(Wiki::Api::PageBlock), "expected block object"
120
- links = block.links
121
- assert links.is_a?(Array), "expected array"
122
- links.each do |link|
123
- assert link.is_a?(Wiki::Api::PageLink), "expected link object"
124
- assert link.uri.is_a?(URI), "expected uri object"
125
- end
126
- end
127
- end
128
-
129
- # test links within list items
130
- def test_page_block_list_inner_links
131
- page = Wiki::Api::Page.new name: @page_name
132
- headlines = page.headlines
133
- assert !headlines.empty?, "expected headlines"
134
- assert headlines.size > 1, "expected more than one headline"
135
- headlines.each do |headline|
136
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
137
- block = headline.block
138
- assert block.is_a?(Wiki::Api::PageBlock), "expected block object"
139
- list_items = block.list_items
140
- assert list_items.is_a?(Array), "expected array"
141
- list_items.each do |list_item|
142
- assert list_item.is_a?(Wiki::Api::PageListItem), "expected list item object"
143
- links = list_item.links
144
- links.each do |link|
145
- assert link.is_a?(Wiki::Api::PageLink), "expected link object"
146
- assert link.uri.is_a?(URI), "expected uri object"
147
- end
148
- end
149
- end
150
- end
151
-
152
- # test single headline invocation
153
- def test_page_invocation_single
154
- page = Wiki::Api::Page.new name: @page_name
155
- headlines = page.headlines
156
- assert !headlines.empty?, "expected headlines"
157
- assert headlines.size > 1, "expected more than one headline"
158
-
159
- # collect headline names
160
- hs = []
161
- headlines.each do |headline|
162
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
163
- hs << headline.name
164
- end
165
-
166
- # query every headline manually
167
- hs.each do |h|
168
- # test headline query
169
- headlines = page.headline h
170
- # test for at least one (many indicates multiple headlines with the same name)
171
- assert !headlines.empty?, "expected a list of headlines"
172
- assert headlines.size == 1, "expected one headline"
173
- headlines.each do |headline|
174
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
175
- end
176
- end
177
- end
178
-
179
- def test_page_headline_search_downcase
180
- page = Wiki::Api::Page.new name: @page_name
181
-
182
- headlines = page.headline "Editing_Wiktionary"
183
- assert !headlines.empty?, "expected headlines"
184
- assert headlines.size == 1, "expected one headline"
185
-
186
-
187
- # iterate headlines
188
- headlines.each do |headline|
189
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
190
- end
191
-
192
- # search downcase
193
- headlines = page.headline "editing_wiktionary"
194
- assert !headlines.empty?, "expected headlines"
195
-
196
- # iterate headlines
197
- headlines.each do |headline|
198
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
199
- end
200
-
201
- end
202
-
203
- def test_page_headline_search_regular
204
- page = Wiki::Api::Page.new name: @page_name
205
-
206
- headlines = page.headline "Editing_Wiktionary"
207
- assert !headlines.empty?, "expected headlines"
208
- assert headlines.size == 1, "expected one headline"
209
-
210
- # iterate headlines
211
- headlines.each do |headline|
212
- assert headline.is_a?(Wiki::Api::PageHeadline), "expected headline object"
213
- end
214
-
215
- # search downcase
216
- headlines = page.headline "editing_wiktionary"
217
- assert headlines.size == 1, "expected one headline"
218
-
219
- # search downcase with spaces
220
- headlines = page.headline "editing wiktionary"
221
- assert headlines.size == 1, "expected one headline"
222
-
223
- # search idiot case with spaces
224
- headlines = page.headline "eDiTinG wiKtiOnarY"
225
- assert headlines.size == 1, "expected one headline"
226
-
227
- end
228
-
229
- end