Download tests/unit/test_engine_github_code.py from Openyx/xcdv: direct link, hf CLI and curl.
- Browser
- Download file 7 kB
-
https://huggingface.co/spaces/Openyx/xcdv/resolve/main/tests/unit/test_engine_github_code.py
- Command line
-
hf download hf://spaces/Openyx/xcdv/tests/unit/test_engine_github_code.py
-
curl -L -o test_engine_github_code.py https://huggingface.co/spaces/Openyx/xcdv/resolve/main/tests/unit/test_engine_github_code.py
7 kB
| # SPDX-License-Identifier: AGPL-3.0-or-later | |
| # pylint: disable=missing-module-docstring,disable=missing-class-docstring | |
| import logging | |
| from unittest.mock import Mock | |
| from urllib.parse import urlparse | |
| from parameterized import parameterized | |
| import searx.engines | |
| from tests import SearxTestCase | |
| from searx.result_types import EngineResults | |
| class GithubCodeTests(SearxTestCase): | |
| TEST_SETTINGS = "test_github_code.yml" | |
| def setUp(self): | |
| super().setUp() | |
| self.ghc = searx.engines.engines['github code'] | |
| self.ghc.logger.setLevel(logging.INFO) | |
| def tearDown(self): | |
| searx.search.load_engines([]) | |
| def test_code_extraction(self, code_matches, expected_code, expected_highlighted_lines): | |
| code, highlights = self.ghc.extract_code(code_matches=code_matches) | |
| self.assertEqual(code, expected_code) | |
| self.assertEqual(highlights, expected_highlighted_lines) | |
| def test_transforms_response(self): | |
| response = Mock() | |
| response.json.return_value = { | |
| "items": [ | |
| { | |
| "name": "TODO.md", | |
| "path": "TODO.md", | |
| "html_url": "https://github.com/folke/dot/blob/3140f4f5720c3cc6b5034c624eb7706f8533a82c/TODO.md", | |
| "repository": { | |
| "full_name": "folke/dot", | |
| "html_url": "https://github.com/folke/dot", | |
| "description": "☕️ My Dot Files", | |
| }, | |
| "text_matches": [ | |
| { | |
| "object_type": "FileContent", | |
| "property": "content", | |
| "fragment": "- [x] windows picker\n" | |
| "- [x] toggle cwd / root (LazyVim)\n" | |
| "- [x] dynamic workspace symbol", | |
| "matches": [{"indices": [46, 53], "text": "LazyVim"}], | |
| }, | |
| { | |
| "object_type": "FileContent", | |
| "property": "content", | |
| "fragment": "- [x] smart stops working after custom\n" | |
| "- [x] edit in empty buffer\n" | |
| "- [x] support toggling line nr for preview", | |
| "matches": [{"indices": [59, 65], "text": "buffer"}, {"indices": [89, 93], "text": "line"}], | |
| }, | |
| ], | |
| } | |
| ] | |
| } | |
| response.status_code = 200 | |
| results = self.ghc.response(response) | |
| expected_results = EngineResults() | |
| expected_results.add( | |
| expected_results.types.Code( | |
| url="https://github.com/folke/dot/blob/3140f4f5720c3cc6b5034c624eb7706f8533a82c/TODO.md", | |
| title="folke/dot · TODO.md", | |
| content="☕️ My Dot Files", | |
| repository="https://github.com/folke/dot", | |
| codelines=[ | |
| (1, "- [x] windows picker"), | |
| (2, "- [x] toggle cwd / root (LazyVim)"), | |
| (3, "- [x] dynamic workspace symbol"), | |
| (4, "- [x] smart stops working after custom"), | |
| (5, "- [x] edit in empty buffer"), | |
| (6, "- [x] support toggling line nr for preview"), | |
| ], | |
| hl_lines={2, 5, 6}, | |
| code_language="markdown", | |
| strip_whitespace=False, | |
| strip_new_lines=True, | |
| parsed_url=urlparse( | |
| "https://github.com/folke/dot/blob/3140f4f5720c3cc6b5034c624eb7706f8533a82c/TODO.md" | |
| ), | |
| ) | |
| ) | |
| self.assertEqual(results, expected_results) | |