fix: improve audiences message pagination

This commit is contained in:
jxxghp
2026-05-20 21:30:14 +08:00
parent 0fb9d18b30
commit 284c272001
2 changed files with 206 additions and 5 deletions

View File

@@ -181,3 +181,62 @@ def test_audiences_readpm_row_is_not_unread_message():
parser._parse_message_unread_links(html_text, msg_links)
assert msg_links == []
def test_audiences_unread_mailbox_first_page_omits_page_param():
"""
Audiences 私信首页不传 pagepage=1 实际表示第二页。
"""
parser = NexusAudiencesSiteUserInfo(
site_name="Audiences",
url="https://audiences.me/",
site_cookie="",
apikey=None,
token=None,
)
assert parser._user_mail_unread_page == "messages.php?action=viewmailbox&box=1&unread=yes"
assert parser._sys_mail_unread_page == "messages.php?action=viewmailbox&box=-2&unread=yes"
def test_audiences_unread_links_follow_icon_next_page():
"""
Audiences 新版分页可能只有图标和 aria-label不能只依赖中文下一页文本。
"""
parser = NexusAudiencesSiteUserInfo(
site_name="Audiences",
url="https://audiences.me/",
site_cookie="",
apikey=None,
token=None,
)
html_text = """
<html>
<body>
<table>
<tr>
<td class="rowfollow" align="center">
<img class="unreadpm" src="pic/trans.gif" alt="Unread" title="未读">
</td>
<td class="rowfollow" align="left">
<a href="messages.php?action=viewmessage&amp;id=4318225">种子被删除</a>
</td>
</tr>
</table>
<nav class="pagination">
<a class="page-link disabled" href="messages.php?action=viewmailbox&amp;box=1">Prev</a>
<a class="page-link active" href="messages.php?action=viewmailbox&amp;box=1">1</a>
<a class="page-link" href="messages.php?action=viewmailbox&amp;box=1&amp;page=1"
aria-label="Next">
<i class="fas fa-angle-right"></i>
</a>
</nav>
</body>
</html>
"""
msg_links = []
next_page = parser._parse_message_unread_links(html_text, msg_links)
assert msg_links == ["messages.php?action=viewmessage&id=4318225"]
assert next_page == "messages.php?action=viewmailbox&box=1&page=1&unread=yes"