From d64241bed9a258c02419edfd7f8915ddcfee704b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 9 Sep 2016 16:58:39 +0200 Subject: [PATCH] Add a test for a download without content-size --- tests/end2end/features/downloads.feature | 8 ++++++++ tests/end2end/fixtures/webserver_sub.py | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/tests/end2end/features/downloads.feature b/tests/end2end/features/downloads.feature index 18a4b9a95..fae41a428 100644 --- a/tests/end2end/features/downloads.feature +++ b/tests/end2end/features/downloads.feature @@ -304,3 +304,11 @@ Feature: Downloading things from a website. And I run :prompt-accept (tmpdir)/subdir And I open data/downloads/download2.bin Then the download prompt should be shown with "{downloaddir}/download2.bin" + + ## Other + + Scenario: Download without a content-size + When I set storage -> prompt-download-directory to false + When I run :download http://localhost:(port)/custom/content-size + And I wait until the download is finished + Then the downloaded file content-size should exist diff --git a/tests/end2end/fixtures/webserver_sub.py b/tests/end2end/fixtures/webserver_sub.py index 596464b26..7014a3220 100644 --- a/tests/end2end/fixtures/webserver_sub.py +++ b/tests/end2end/fixtures/webserver_sub.py @@ -84,6 +84,22 @@ def redirect_later_continue(): return flask.Response(b'Continued redirect.') +@app.route('/custom/content-size') +def content_size(): + """Send two bytes of data without a content-size.""" + + def generate_bytes(): + yield b'*' + time.sleep(0.2) + yield b'*' + + response = flask.Response(generate_bytes(), headers={ + "Content-Type": "application/octet-stream", + }) + response.status_code = 200 + return response + + @app.after_request def log_request(response): """Log a webserver request."""