././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1738577345.5096748 webtest-3.0.4/0000755000175000017500000000000014750112702012212 5ustar00gawelgawel././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/.coveragerc0000644000175000017500000000045414750112700014334 0ustar00gawelgawel[run] include = */webtest/*.py omit = */tests* */docs/*.py */site-packages* */lib/python* */lib-python* */lib_pypy* */src* [report] exclude_lines = pragma: no cover def __repr__ raise NotImplementedError if __name__ == .__main__.: def parse_args ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1738577345.5056748 webtest-3.0.4/.github/0000755000175000017500000000000014750112702013552 5ustar00gawelgawel././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1738577345.5056748 webtest-3.0.4/.github/ISSUE_TEMPLATE/0000755000175000017500000000000014750112702015735 5ustar00gawelgawel././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/.github/ISSUE_TEMPLATE/bug_report.md0000644000175000017500000000135414750112700020430 0ustar00gawelgawel--- name: Bug Report about: Create a report to help us improve --- ## Get Support To get help or technical support, see [Get Support](https://pylonsproject.org/community-support.html). ## Bug Report Please [search the issue tracker](https://github.com/Pylons/webtest/issues) for similar issues before submitting a new issue. **Describe the bug** A clear and concise description of the bug. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' 4. See error **Expected behavior** A clear and concise description of what you expected to happen. **Screenshots** If applicable, add screenshots to help explain the issue. **Additional context** Add any other context about the issue here. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/.github/ISSUE_TEMPLATE/documentation.md0000644000175000017500000000136114750112700021127 0ustar00gawelgawel--- name: Documentation Suggestion about: Create an issue to improve our documentation --- ## Get Support To get help or technical support, see [Get Support](https://pylonsproject.org/community-support.html). ## Documentation Suggestion Please [search the issue tracker](https://github.com/Pylons/webtest/issues) for similar issues before submitting a new issue. **Describe the issue** A clear and concise description of the issue. **Include references** 1. Go to the URL '...' 2. Click on '....' 3. Scroll down to '....' **Describe the improvement** A clear and concise description of your suggestion. **Screenshots** If applicable, add screenshots to help explain the issue. **Additional context** Add any other context about the issue here. ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/.github/ISSUE_TEMPLATE/feature_request.md0000644000175000017500000000146714750112700021470 0ustar00gawelgawel--- name: Feature Request about: Suggest an idea for this project --- ## Get Support To get help or technical support, see [Get Support](https://pylonsproject.org/community-support.html). ## Feature Request Please [search the issue tracker](https://github.com/Pylons/webtest/issues) for similar issues before submitting a new issue. **Is your feature request related to an issue? Please describe.** A clear and concise description of the issue. Example: "I'm always frustrated when [...]". **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. ././@PaxHeader0000000000000000000000000000003400000000000010212 xustar0028 mtime=1738577345.5056748 webtest-3.0.4/.github/workflows/0000755000175000017500000000000014750112702015607 5ustar00gawelgawel././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/.github/workflows/ci-tests.yml0000644000175000017500000000420514750112700020064 0ustar00gawelgawelname: Build and test on: # Build on pushes to main push: branches: - main tags: # Build pull requests pull_request: jobs: test: strategy: matrix: py: - "3.9" - "3.10" - "3.11" - "3.12" os: - "ubuntu-latest" - "windows-latest" # - "macos-latest" pip crash on macos architecture: - x64 - x86 exclude: # Linux and macOS don't have x86 python - os: "ubuntu-latest" architecture: x86 - os: "macos-latest" architecture: x86 name: "Python: ${{ matrix.py }}-${{ matrix.architecture }} on ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Setup python uses: actions/setup-python@v5 with: python-version: ${{ matrix.py }} architecture: ${{ matrix.architecture }} - run: pip install tox - name: Running tox run: tox -e py coverage: runs-on: ubuntu-latest name: Validate coverage # Assume coverage is identical across supported versions of Python. # Choose the latest Python. steps: - uses: actions/checkout@v4 - name: Setup python uses: actions/setup-python@v5 with: python-version: 3.12 architecture: x64 - run: pip install tox - run: tox -e py312,coverage docs: runs-on: ubuntu-latest name: Build the documentation steps: - uses: actions/checkout@v4 - name: Setup python uses: actions/setup-python@v5 with: python-version: 3.12 architecture: x64 - run: pip install tox - run: tox -e docs ././@PaxHeader0000000000000000000000000000002600000000000010213 xustar0022 mtime=1738577344.0 webtest-3.0.4/CHANGELOG.rst0000644000175000017500000004106414750112700014236 0ustar00gawelgawelNews ==== 3.0.4 (2025-02-03) ------------------ - Ensure BeautifulSoup 4.13+ compatibility 3.0.3 (2025-01-16) ------------------ - Minor release to fix metadata on pypi 3.0.2 (2024-11-27) ------------------ - Bump waitress min version to 3.0.2 3.0.1 (2024-08-30) ------------------ - Multiple file input support. - Drop support for Python 3.8 and bellow - Allows the TestResponse to follow customised onclick buttons - Response.pyquery object now use the html parser. - You can use the Response.PyQuery method to customize pyquery init. - Various docs / testing improvments - Rename "master" git branch to "main". 3.0.0 (2021-08-19) ------------------ - Dropped support for Python 2.7 and 3.5. - Added support for Python 3.9. - Clean up dependencies and requirements. - Switch from Travis to GitHub Actions for building and testing. - Prevent PytestCollectionWarning for TestApp 2.0.35 (2020-04-27) ------------------- - python3.8 compat - Remove use of deprecated splittype and splithost 2.0.34 (2020-01-29) ------------------- - Fix the test ``length == 0`` in ``check_content_type``. - Treat ```` like ````. - Handle query parameters for the ``head`` method. 2.0.33 (2019-02-09) ------------------- - Fixed #210. Allow to reset select multiple with `field.value = []` - Support for PYTHONOPTIMIZE=2, fix tests on PYTHONOPTIMIZE=1, 2 - Fixed #196. Fix deprecation warnings for ``collections`` to use ``collections.abc`` for ``Iterable`` on Python 3. 2.0.32 (2018-10-05) ------------------- - remove invalid email from setup.py 2.0.31 (2018-10-05) ------------------- - py33 is no longer supported. It may works but has been removed from tox config - Fixed #205: Use empty string as default value for submit and button - tests use pytest - docs use the standard Pylons template on RTD 2.0.30 (2018-06-23) ------------------- - Add ``Email`` class for input fields with type "email". - Documentation bearer token and JWT authorization 2.0.29 (2017-10-21) ------------------- - Bugfix: Preserve submit order for radio inputs. - Fixed #186: avoid UnicodeDecodeError in linter with py2 when a header contain non ascii chars 2.0.28 (2017-08-01) ------------------- - Fixed #185: Fix strict cookie policy - Fixed #146: Improve fields value checking when enctype is multipart - Fixed #119: Assertion error should be raised when you have non-string response header - Bugfix: Allow to set an int value to form fields when enctype is multipart - Added py36 to tox.ini / .travis.yaml 2.0.27 (2017-03-15) ------------------- - Bugfix: Allow to use set_cookie when HTTP_HOST is set - Fix #177: resp.json now always decode body as utf8 2.0.26 (2017-03-05) ------------------- - Added JWT auth support - Always show response body when response status is invalid 2.0.25 (2017-02-05) ------------------- - Fix #173: Do not omit file uploads without a file from post. [Michael Howitz] 2.0.24 (2016-12-16) ------------------- - Drop python 2.6 support. Newer versions may still work if you use waitress < 1.0 - Remove bs4 warnings - Docs improvments - Tets are WebOb 1.7.x compatible 2.0.23 (2016-07-21) ------------------- - Create universal wheels. 2.0.22 (2016-07-21) ------------------- - Fix #160: Do not guess encoding if response's charset is set. 2.0.21 (2016-04-12) ------------------- - PR #154 Allow Bearer auth - PR #147,#148 Take care of REFERER when using form.submit(), .click() and .clickbutton() - PR #145 Allow to override content-type when using json methods 2.0.20 (2015-11-03) ------------------- - nothing new release. just try to make wheel available on pypi 2.0.19 (2015-11-01) ------------------- - fixed #131 prevent passing HTML parameters that conflict with Field kwargs - fixed #135 Document that WSGIProxy2 is required for "using webtest with a real url" - fixed #136 reset values of select multiple - drop py32 support (still work but test dependencies fail) 2.0.18 (2015-02-05) ------------------- - Avoid deprecation warning with py3.4 2.0.17 (2014-12-20) ------------------- - Properly check for default cookiejar arguments [Julian Berman] - Avoid raising encoding errors from debugapp (needed to use with WSGIProxy2) [Laurence Rowe] 2.0.16 (2014-09-19) ------------------- - Fixed #110. Forced values for Radio inputs are no longer ignored by value property on get. [bayprogrammer] - Added method TestApp.set_parser_features to change the parser_features used by BeautifulSoup. [tomasmoreyra] - Added app.set_cookie [luhn] 2.0.15 (2014-04-17) ------------------- - Fixed #73. Python < 2.6.5 does not support unicode as keyword arguments names. [Stepan Kolesnik] - Fixed #84 Application cookies for localhost are no longer ignored [gawel] - Fixed #89 remove WSGIWarning: You are not supposed to send a body in a DELETE request because we now have a good reason for that. See https://stackoverflow.com/questions/299628/is-an-entity-body-allowed-for-an-http-delete-request/299701#299701 [gawel] - Fixed #92 You can now override TestApp.JSONEncoder to use a custom encoder [gawel] - Fixed #93 Support basic authentication [gawel] - Fixed #103 Broken "Edit me on GitHub" links in documentation [gawel] - Fixed #106 Make wrapping the app in the lint middleware optional [dmlayton] - Fixed #107 Explicit error message when WSGIProxy2 is not installer [gawel] - Fixed #108 cgi.parse_qsl is pending deprecation [gawel] 2.0.14 (2014-01-23) ------------------- - Allow `.select()` on s. [Markus Bertheau] 2.0.13 (2014-01-23) ------------------- - Allow selecting [Marius Gedminas] 2.0.4 (2013-03-28) ------------------ * Correctly handle