# coding: utf-8 import sys try: import unittest2 as unittest except: import unittest import setup py_major_version = sys.version_info[0] htmls = [] cases = [] html = ( '\n\n \n Links for frida\n ' ' \n \n

Links for frida

\n frida-1.4.1-py2.6-macosx-10.9-' 'intel.egg
\nfrida-9.1.9.t' 'ar.gz
\n \n\n' ) htmls.append(html) cases.extend([ ( setup.PEP503PageParser("frida", "15.1.1", "win-amd64"), html, [] ), ( setup.PEP503PageParser("frida", "1.4.1", "macosx-10.9-intel"), html, [ setup.ParsedUrlInfo( url='../../packages/5d/80/3b140c5998df9d81e40169f188a2347b6c705156a2b556ff308e2f8b7e0a/frida-1.4.1-py2.6-macosx-10.9-intel.egg#sha256=eef92210084ef083b34f8972078550c6ef45255e444905f95495792c7f709546', filename='frida-1.4.1-py2.6-macosx-10.9-intel.egg', major=2, minor=6, micro=None ) ] ), ( setup.PEP503PageParser("frida", "1.4.1", "macosx-11.0-arm64"), html, [] ), ]) html = ( 'frida-15.0.7-py2.7-linux-i686.egg
' 'frida-15.0.7-py2.7-linux-x86_64.egg
' 'frida-15.0.7-py2.7-macosx-10.9-x86_64.egg
' 'frida-15.0.7-py2.7-macosx-11.0-fat64.egg
' 'frida-15.0.7-py2.7-win-amd64.egg
' 'frida-15.0.7-py2.7-win32.egg
' 'frida-15.0.7-py3.8-android-aarch64.egg
' 'frida-15.0.7-py3.8-linux-i686.egg
' 'frida-15.0.7-py3.8-linux-x86_64.egg
' 'frida-15.0.7-py3.8-macosx-10.9-x86_64.egg
' 'frida-15.0.7-py3.8-macosx-11.0-arm64.egg
' 'frida-15.0.7-py3.8-win-amd64.egg
' 'frida-15.0.7-py3.8-win32.egg
' 'frida-15.0.7.tar.gz
' 'frida-15.0.8-py2.7-linux-aarch64.egg
' 'frida-15.0.8-py2.7-linux-armv7l.egg
' 'frida-15.0.8-py2.7-linux-i686.egg
' 'frida-15.0.8-py2.7-linux-x86_64.egg
' 'frida-15.0.8-py2.7-macosx-10.9-x86_64.egg
' 'frida-15.0.8-py2.7-macosx-11.0-fat64.egg
' 'frida-15.0.8-py2.7-win-amd64.egg
' 'frida-15.0.8-py2.7-win32.egg
' 'frida-15.0.8-py3.6-linux-aarch64.egg
' 'frida-15.0.8-py3.6-linux-armv7l.egg
' 'frida-15.0.8-py3.8-android-aarch64.egg
' 'frida-15.0.8-py3.8-linux-i686.egg
' 'frida-15.0.8-py3.8-linux-x86_64.egg
' 'frida-15.0.8-py3.8-macosx-10.9-x86_64.egg
' 'frida-15.0.8-py3.8-macosx-11.0-arm64.egg
' 'frida-15.0.8-py3.8-win-amd64.egg
' 'frida-15.0.8-py3.8-win32.egg
' 'frida-15.0.8.tar.gz
' ) htmls.append(html) cases.extend([ ( setup.PEP503PageParser("frida", "15.1.0", "win-amd64"), html, [] ), ( setup.PEP503PageParser("frida", "15.0.7", "win-amd64"), html, [ setup.ParsedUrlInfo( url='../../packages/e0/5c/b45c8f27482d81179eb640726b703f95c624cc4f32ae3ed3f8bc858ae5d9/frida-15.0.7-py2.7-win-amd64.egg#sha256=eb696528b9c19f1895123e731b094363a87a4412d7ea4fcb54ef71841f7b3c1e', filename='frida-15.0.7-py2.7-win-amd64.egg', major=2, minor=7, micro=None ), setup.ParsedUrlInfo( url='../../packages/77/34/6ebaea697f3df72818e60c6494a716c51f7f13b3da323598c1711d21779c/frida-15.0.7-py3.8-win-amd64.egg#sha256=a9964cc6dd4e3ea71c42b1800c79571c670905dc82cd769302b066499fff7bf4', filename='frida-15.0.7-py3.8-win-amd64.egg', major=3, minor=8, micro=None ), ] ), ( setup.PEP503PageParser("frida", "15.0.7", "linux-i686"), html, [ setup.ParsedUrlInfo( url='../../packages/e3/21/da75f6207f76750799d68938707a74d46512e666293eb550247bf5314613/frida-15.0.7-py2.7-linux-i686.egg#sha256=444246bad3b2222efec301e96c2d6ac5da039d41acd655f6d5b6e548637cae09', filename='frida-15.0.7-py2.7-linux-i686.egg', major=2, minor=7, micro=None ), setup.ParsedUrlInfo( url='../../packages/19/d3/a4a1980005e232399575aeb2ae973d2087a94ec7dbaf6d7a481612979fc7/frida-15.0.7-py3.8-linux-i686.egg#sha256=ed922ec0258e95f39b4004066b72fb48546041d28602e55d44ca12effa80e8bf', filename='frida-15.0.7-py3.8-linux-i686.egg', major=3, minor=8, micro=None ), ] ), ( setup.PEP503PageParser("frida", "15.0.8", "linux-x86_64"), html, [ setup.ParsedUrlInfo( url='../../packages/64/4a/1e1735a8c2f606c953cccfb9d7086c15d19b5151ebd6e0cbcab2e817d6e2/frida-15.0.8-py2.7-linux-x86_64.egg#sha256=e5b29da8394ef5643fc42877856859d544cd2aba0a874a4a700f2ce4521d9780', filename='frida-15.0.8-py2.7-linux-x86_64.egg', major=2, minor=7, micro=None ), setup.ParsedUrlInfo( url='../../packages/0b/20/11101c2cc053bbe3695c8778ffb239e49c0bc24066257bc3246ef67770d9/frida-15.0.8-py3.8-linux-x86_64.egg#sha256=6b3f42225c22a1f149107f963abe9f7b5f32eb4915fe8fa8286e5657a7b6c789', filename='frida-15.0.8-py3.8-linux-x86_64.egg', major=3, minor=8, micro=None ), ] ), ( setup.PEP503PageParser("frida", "15.0.7", "linux-amd64"), html, [] ), ( setup.PEP503PageParser("frida", "15.0.8", "macosx-11.0-fat64"), html, [ setup.ParsedUrlInfo( url='../../packages/d1/20/a65170d6a898541839acb03a16d1dd26499928c937350078765fe1e4beb3/frida-15.0.8-py2.7-macosx-11.0-fat64.egg#sha256=f9e58ff7f6d53640a991d3e77711b0095927103d7bdfef55268b58091938f72e', filename='frida-15.0.8-py2.7-macosx-11.0-fat64.egg', major=2, minor=7, micro=None ), ] ), ]) html = ( '

frida-15.1.1-py3.8-linux-x86_64.egg

' 'frida-15.1.1-py3.8-' 'linux-x86_64.egg
' ) htmls.append(html) cases.extend([ ( setup.PEP503PageParser("frida", "15.1.1", "linux-x86_64"), html, [ setup.ParsedUrlInfo( url='../../packages/e4/c1/82e361bbaa535b334f5b1b432b4573a7871fa973edeb3aab9dbb6b3b4cdc/frida-15.1.1-py3.8-linux-x86_64.egg#sha256=505f4ffa34cc7d68664fcd00d469f5d832e6778800d112aadb8a13692f984b40', filename='frida-15.1.1-py3.8-linux-x86_64.egg', major=3, minor=8, micro=None ), ] ), ]) html = ( 'frida-15.0.1-py3.8-android-aarch64.egg' 'frida-15.0.1-py3' '.8-android-aarch64.egg
' ) htmls.append(html) cases.extend([ ( setup.PEP503PageParser("frida", "15.0.1", "android-aarch64"), html, [ setup.ParsedUrlInfo( url='../../packages/3e/80/78fa3ed5fd636b606dc06157069b37eb677652cd985739cde35a86d7a362/frida-15.0.1-py3.8-android-aarch64.egg#sha256=d44bc341590dd8cf2623089b54aa16d697536fb016fde0ecd6df5262723c652b', filename='frida-15.0.1-py3.8-android-aarch64.egg', major=3, minor=8, micro=None ), ] ), ]) class TestPEP503PageParser(unittest.TestCase): def test_parse_html(self): for parser, html, result in cases: for _ in range(2): parser.reset() parser.feed(html) assert parser.urls == result, (parser.urls, result)