Tests for getting the content of Fetch requests.


== Running test suite: Network.getResponseBody.Fetch
-- Running test case: Network.getResponseBody.Fetch.Text
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'text/plain'.
PASS: Content should not be base64Encoded.
PASS: Text content should match data.txt.

-- Running test case: Network.getResponseBody.Fetch.HTML
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'text/html'.
PASS: Content should not be base64Encoded.
PASS: Text content should match data.html.

-- Running test case: Network.getResponseBody.Fetch.JSON
PASS: Resource should be Fetch type.
FAIL: MIMEType should be 'application/octet-stream'.
    Expected: "application/octet-stream"
    Actual: "application/json"
FAIL: Content should be base64Encoded.
    Expected: true
    Actual: false
PASS: JSON content should match data.json.

-- Running test case: Network.getResponseBody.Fetch.JSON2
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'application/json'.
PASS: Content should not be base64Encoded.
PASS: JSON content should match specified content.

-- Running test case: Network.getResponseBody.Fetch.JSON3
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'application/vnd.api+json'.
PASS: Content should not be base64Encoded.
PASS: JSON content should match specified content.

-- Running test case: Network.getResponseBody.Fetch.SVG
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'image/svg+xml'.
PASS: Content should not be base64Encoded.
PASS: SVG content should be text.

-- Running test case: Network.getResponseBody.Fetch.PNG
PASS: Resource should be Fetch type.
PASS: MIMEType should be 'image/png'.
PASS: Content should be base64Encoded.
PASS: Image content should be a Blob.

