jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1049916?usp=email )

Change subject: [tests] Simplify TestCaseBase._get_gen_pages() method
......................................................................

[tests] Simplify TestCaseBase._get_gen_pages() method

- remove count parameter of TestCaseBase._get_gen_pages() because it was
  never used within the last 9 years
- update the calling methods accordingly

Change-Id: I3bb43a1eb07784ea525511cafdd1dfbb30ebaa2d
---
M tests/aspects.py
1 file changed, 27 insertions(+), 42 deletions(-)

Approvals:
  jenkins-bot: Verified
  Xqt: Looks good to me, approved




diff --git a/tests/aspects.py b/tests/aspects.py
index 18da72f..3b22a58 100644
--- a/tests/aspects.py
+++ b/tests/aspects.py
@@ -12,7 +12,6 @@
 from __future__ import annotations

 import inspect
-import itertools
 import os
 import re
 import sys
@@ -27,7 +26,7 @@

 import pywikibot
 from pywikibot import Site, config
-from pywikibot.backports import removeprefix, removesuffix
+from pywikibot.backports import Iterable, Iterator, removeprefix, removesuffix
 from pywikibot.comms import http
 from pywikibot.data.api import Request as _original_Request
 from pywikibot.exceptions import (
@@ -133,33 +132,21 @@
         self.assertIn(page.namespace(), namespaces,
                       f'{page} not in namespace {namespaces!r}')

-    def _get_gen_pages(self, gen, count: int = None, site=None):
-        """
-        Get pages from gen, asserting they are Page from site.
+    def _get_gen_pages(self,
+                       gen: Iterable[pywikibot.Page],
+                       site: pywikibot.site.APISite = None) -> None:
+        """Get pages from gen, asserting they are Page from site.

-        Iterates at most two greater than count, including the
-        Page after count if it exists, and then a Page with title '...'
-        if additional items are in the iterator.
+        .. versionchanged:: 9.3
+           the *count* parameter was dropped; all pages from *gen* are
+           tested.

         :param gen: Page generator
-        :type gen: typing.Iterable[pywikibot.Page]
-        :param count: number of pages to get
         :param site: Site of expected pages
-        :type site: pywikibot.site.APISite
+        :meta public:
         """
-        original_iter = iter(gen)
-
-        gen = itertools.islice(original_iter, 0, count)
-
         gen_pages = list(gen)

-        with suppress(StopIteration):
-            gen_pages.append(next(original_iter))
-            next(original_iter)
-            if not site:
-                site = gen_pages[0].site
-            gen_pages.append(pywikibot.Page(site, '...'))
-
         for page in gen_pages:
             self.assertIsInstance(page, pywikibot.Page)
             if site:
@@ -167,9 +154,9 @@

         return gen_pages

-    def _get_gen_titles(self, gen, count: int, site=None) -> list[str]:
+    def _get_gen_titles(self, gen, site=None) -> list[str]:
         """Return a list of page titles of given iterable."""
-        return [page.title() for page in self._get_gen_pages(gen, count, site)]
+        return [page.title() for page in self._get_gen_pages(gen, site)]

     @staticmethod
     def _get_canonical_titles(titles, site=None):
@@ -220,38 +207,36 @@

         self.assertEqual(page_namespaces, namespaces)

-    def assertPageTitlesEqual(self, gen, titles, site=None):
-        """
-        Test that pages in gen match expected titles.
-
-        Only iterates to the length of titles plus two.
+    def assertPageTitlesEqual(
+        self,
+        gen: Iterable[pywikibot.Page],
+        titles: Iterator[str],
+        site: pywikibot.site.APISite | None = None
+    ) -> None:
+        """Test that pages in gen match expected titles.

         :param gen: Page generator
-        :type gen: typing.Iterable[pywikibot.Page]
         :param titles: Expected titles
-        :type titles: iterator
         :param site: Site of expected pages
-        :type site: pywikibot.site.APISite
         """
         titles = self._get_canonical_titles(titles, site)
-        gen_titles = self._get_gen_titles(gen, len(titles), site)
+        gen_titles = self._get_gen_titles(gen, site)
         self.assertEqual(gen_titles, titles)

-    def assertPageTitlesCountEqual(self, gen, titles, site=None):
-        """
-        Test that pages in gen match expected titles, regardless of order.
-
-        Only iterates to the length of titles plus two.
+    def assertPageTitlesCountEqual(
+        self,
+        gen: Iterable[pywikibot.Page],
+        titles: Iterator[str],
+        site: pywikibot.site.APISite | None = None
+    ) -> None:
+        """Test that pages in gen match expected titles, regardless of order.

         :param gen: Page generator
-        :type gen: typing.Iterable[pywikibot.Page]
         :param titles: Expected titles
-        :type titles: iterator
         :param site: Site of expected pages
-        :type site: pywikibot.site.APISite
         """
         titles = self._get_canonical_titles(titles, site)
-        gen_titles = self._get_gen_titles(gen, len(titles), site)
+        gen_titles = self._get_gen_titles(gen, site)
         self.assertCountEqual(gen_titles, titles)

     def assertAPIError(self, code, info=None, callable_obj=None, *args,

--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1049916?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I3bb43a1eb07784ea525511cafdd1dfbb30ebaa2d
Gerrit-Change-Number: 1049916
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to