70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | import mock | ||
|  | from searx.testing import SearxTestCase | ||
|  | from searx import utils | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestUtils(SearxTestCase): | ||
|  | 
 | ||
|  |     def test_gen_useragent(self): | ||
|  |         self.assertIsInstance(utils.gen_useragent(), str) | ||
|  |         self.assertIsNotNone(utils.gen_useragent()) | ||
|  |         self.assertTrue(utils.gen_useragent().startswith('Mozilla')) | ||
|  | 
 | ||
|  |     def test_highlight_content(self): | ||
|  |         self.assertEqual(utils.highlight_content(0, None), None) | ||
|  |         self.assertEqual(utils.highlight_content(None, None), None) | ||
|  |         self.assertEqual(utils.highlight_content('', None), None) | ||
|  |         self.assertEqual(utils.highlight_content(False, None), None) | ||
|  | 
 | ||
|  |         contents = [ | ||
|  |             '<html></html>' | ||
|  |             'not<' | ||
|  |         ] | ||
|  |         for content in contents: | ||
|  |             self.assertEqual(utils.highlight_content(content, None), content) | ||
|  | 
 | ||
|  |         content = 'a' | ||
|  |         query = 'test' | ||
|  |         self.assertEqual(utils.highlight_content(content, query), content) | ||
|  |         query = 'a test' | ||
|  |         self.assertEqual(utils.highlight_content(content, query), content) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestHTMLTextExtractor(SearxTestCase): | ||
|  | 
 | ||
|  |     def setUp(self): | ||
|  |         self.html_text_extractor = utils.HTMLTextExtractor() | ||
|  | 
 | ||
|  |     def test__init__(self): | ||
|  |         self.assertEqual(self.html_text_extractor.result, []) | ||
|  | 
 | ||
|  |     def test_handle_charref(self): | ||
|  |         self.html_text_extractor.handle_charref('xF') | ||
|  |         self.assertIn(u'\x0f', self.html_text_extractor.result) | ||
|  |         self.html_text_extractor.handle_charref('XF') | ||
|  |         self.assertIn(u'\x0f', self.html_text_extractor.result) | ||
|  | 
 | ||
|  |         self.html_text_extractor.handle_charref('97') | ||
|  |         self.assertIn(u'a', self.html_text_extractor.result) | ||
|  | 
 | ||
|  |     def test_handle_entityref(self): | ||
|  |         entity = 'test' | ||
|  |         self.html_text_extractor.handle_entityref(entity) | ||
|  |         self.assertIn(entity, self.html_text_extractor.result) | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestUnicodeWriter(SearxTestCase): | ||
|  | 
 | ||
|  |     def setUp(self): | ||
|  |         self.unicode_writer = utils.UnicodeWriter(mock.MagicMock()) | ||
|  | 
 | ||
|  |     def test_write_row(self): | ||
|  |         row = [1, 2, 3] | ||
|  |         self.assertEqual(self.unicode_writer.writerow(row), None) | ||
|  | 
 | ||
|  |     def test_write_rows(self): | ||
|  |         self.unicode_writer.writerow = mock.MagicMock() | ||
|  |         rows = [1, 2, 3] | ||
|  |         self.unicode_writer.writerows(rows) | ||
|  |         self.assertEqual(self.unicode_writer.writerow.call_count, len(rows)) |