blob: 093349c8576c8e99dc0260e64c7ecda3945fc3b5 [file] [log] [blame]
test_filter rewrite_images inlines, compresses, and resizes.
fetch_until $URL 'grep -c data:image/png' 1 # Images inlined.
fetch_until $URL 'grep -c .pagespeed.ic' 2 # Images rewritten.
# Verify with a blocking fetch that data-pagespeed-no-transform worked and was
# stripped.
fetch_until $URL 'grep -c "images/disclosure_open_plus.png"' 1 \
'--header=X-PSA-Blocking-Rewrite:psatest'
fetch_until $URL 'grep -c "data-pagespeed-no-transform"' 0 \
'--header=X-PSA-Blocking-Rewrite:psatest'
start_test size of rewritten image
# Note: We cannot do this above because the intervening fetch_untils will
# clean up $OUTDIR.
fetch_until -save -recursive $URL 'grep -c .pagespeed.ic' 2
check_file_size "$WGET_DIR/xBikeCrashIcn*" -lt 25000 # re-encoded
check_file_size "$WGET_DIR/*256x192*Puzzle*" -lt 24126 # resized
URL=$EXAMPLE_ROOT"/rewrite_images.html?PageSpeedFilters=rewrite_images"
IMG_URL=$(egrep -o 'http://[^"]*pagespeed.[^"]*.jpg' $FETCHED | head -n1)
if [ -z "$IMG_URL" ]; then
# If PreserveUrlRelativity is on, we need to find the relative URL and
# absolutify it ourselves.
IMG_URL="$EXAMPLE_ROOT/"
IMG_URL+=$(grep -o '[^\"]*pagespeed.[^\"]*\.jpg' $FETCHED | head -n 1)
fi
start_test headers for rewritten image
echo "$IMG_URL"
IMG_HEADERS=$($WGET -O /dev/null -q -S --header='Accept-Encoding: gzip' \
$IMG_URL 2>&1)
check_200_http_response "$IMG_HEADERS"
# Make sure we have some valid headers.
check_from "$IMG_HEADERS" fgrep -qi 'Content-Type: image/jpeg'
# Make sure the response was not gzipped.
start_test Images are not gzipped.
check_not_from "$IMG_HEADERS" fgrep -i 'Content-Encoding: gzip'
# Make sure there is no vary-encoding
start_test Vary is not set for images.
check_not_from "$IMG_HEADERS" fgrep -i 'Vary: Accept-Encoding'
# Make sure there is an etag
start_test Etags is present.
check_from "$IMG_HEADERS" egrep -qi '(Etag: W/"0")|(Etag: W/"0-gzip")'
# Make sure an extra header is propagated from input resource to output
# resource. X-Extra-Header is added in debug.conf.template.
start_test Extra header is present
check_from "$IMG_HEADERS" fgrep -qi 'X-Extra-Header'
# Make sure there is a last-modified tag
start_test Last-modified is present.
check_from "$IMG_HEADERS" fgrep -qi 'Last-Modified'