mirror of
https://github.com/searxng/searxng.git
synced 2025-08-02 18:12:21 +02:00
tests for _fetch_supported_languages in engines
and refactor method to make it testable without making requests
This commit is contained in:
parent
e0c270bd72
commit
af35eee10b
27 changed files with 387 additions and 3388 deletions
|
@ -164,3 +164,96 @@ class TestWikipediaEngine(SearxTestCase):
|
|||
self.assertEqual(len(results), 2)
|
||||
self.assertEqual(results[1]['infobox'], u'披頭四樂隊')
|
||||
self.assertIn(u'披头士乐队...', results[1]['content'])
|
||||
|
||||
def test_fetch_supported_languages(self):
|
||||
html = u"""<html></html>"""
|
||||
response = mock.Mock(text=html)
|
||||
languages = wikipedia._fetch_supported_languages(response)
|
||||
self.assertEqual(type(languages), dict)
|
||||
self.assertEqual(len(languages), 0)
|
||||
|
||||
html = u"""
|
||||
<html>
|
||||
<body>
|
||||
<div>
|
||||
<div>
|
||||
<h3>Table header</h3>
|
||||
<table class="sortable jquery-tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>N</th>
|
||||
<th>Language</th>
|
||||
<th>Language (local)</th>
|
||||
<th>Wiki</th>
|
||||
<th>Articles</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td><a>Swedish</a></td>
|
||||
<td><a>Svenska</a></td>
|
||||
<td><a>sv</a></td>
|
||||
<td><a><b>3000000</b></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td><a>Cebuano</a></td>
|
||||
<td><a>Sinugboanong Binisaya</a></td>
|
||||
<td><a>ceb</a></td>
|
||||
<td><a><b>3000000</b></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3>Table header</h3>
|
||||
<table class="sortable jquery-tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>N</th>
|
||||
<th>Language</th>
|
||||
<th>Language (local)</th>
|
||||
<th>Wiki</th>
|
||||
<th>Articles</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td><a>Norwegian (Bokmål)</a></td>
|
||||
<td><a>Norsk (Bokmål)</a></td>
|
||||
<td><a>no</a></td>
|
||||
<td><a><b>100000</b></a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
"""
|
||||
response = mock.Mock(text=html)
|
||||
languages = wikipedia._fetch_supported_languages(response)
|
||||
self.assertEqual(type(languages), dict)
|
||||
self.assertEqual(len(languages), 3)
|
||||
|
||||
self.assertIn('sv', languages)
|
||||
self.assertIn('ceb', languages)
|
||||
self.assertIn('no', languages)
|
||||
|
||||
self.assertEqual(type(languages['sv']), dict)
|
||||
self.assertEqual(type(languages['ceb']), dict)
|
||||
self.assertEqual(type(languages['no']), dict)
|
||||
|
||||
self.assertIn('name', languages['sv'])
|
||||
self.assertIn('english_name', languages['sv'])
|
||||
self.assertIn('articles', languages['sv'])
|
||||
|
||||
self.assertEqual(languages['sv']['name'], 'Svenska')
|
||||
self.assertEqual(languages['sv']['english_name'], 'Swedish')
|
||||
self.assertEqual(languages['sv']['articles'], 3000000)
|
||||
self.assertEqual(languages['ceb']['name'], 'Sinugboanong Binisaya')
|
||||
self.assertEqual(languages['ceb']['english_name'], 'Cebuano')
|
||||
self.assertEqual(languages['ceb']['articles'], 3000000)
|
||||
self.assertEqual(languages['no']['name'], u'Norsk (Bokmål)')
|
||||
self.assertEqual(languages['no']['english_name'], u'Norwegian (Bokmål)')
|
||||
self.assertEqual(languages['no']['articles'], 100000)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue