import os import tempfile import unittest import ara import internet SAYFA = '''
''' class AraTest(unittest.TestCase): def test_results_are_parsed_and_ads_skipped(self): self.assertEqual(ara.sonuclari_coz(SAYFA), [("Bir başlık", "https://ornek.com/bir?a=1", "Kısa & öz özet"), ("İkinci", "https://ornek.org/iki", "")]) self.assertEqual(len(ara.sonuclari_coz(SAYFA, adet=1)), 1) def test_search_output_and_empty_result(self): metin = ara.ara("x", indirici=lambda adres: (SAYFA, "text/html")) self.assertIn("1. Bir başlık\n https://ornek.com/bir?a=1", metin) self.assertIn("Sonuç bulunamadı", ara.ara("x", indirici=lambda adres: ("", "text/html"))) def test_page_is_turned_into_text_and_cut(self): sayfa = "Bir & iki
" + "a" * 50 + "
", "text/html")) self.assertTrue(uzun.startswith("a" * 10 + "\n[... kesildi: 50")) def test_main_reports_errors_without_raising(self): self.assertEqual(ara.main(["oku", "http://127.0.0.1:9/yok"]), 1) class InternetTest(unittest.TestCase): def test_note_names_both_commands_and_is_added_once(self): with tempfile.TemporaryDirectory() as d: betik = os.path.join(d, "ara.py") open(betik, "w").close() metin = internet.talimat(None, betik, python="py.exe") self.assertIn(f'"py.exe" "{betik}" ara "sorgu"', metin) self.assertIn(f'"py.exe" "{betik}" oku