| test_filter combine_css combines 4 CSS files into 1. |
| fetch_until $URL 'fgrep -c text/css' 1 |
| check run_wget_with_args $URL |
| #test_resource_ext_corruption $URL $combine_css_filename |
| |
| start_test combine_css without hash field should 404 |
| URL=$REWRITTEN_ROOT/styles/yellow.css+blue.css.pagespeed.cc..css |
| echo run_wget_with_args $URL |
| check_not run_wget_with_args $URL |
| check fgrep "404 Not Found" $WGET_OUTPUT |
| |
| # Note: this large URL can only be processed by Apache if |
| # ap_hook_map_to_storage is called to bypass the default |
| # handler that maps URLs to filenames. |
| start_test Fetch large css_combine URL |
| LARGE_URL="$REWRITTEN_ROOT/styles/yellow.css+blue.css+big.css+\ |
| bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+bold.css+yellow.css+blue.css+\ |
| big.css+bold.css+yellow.css+blue.css+big.css+\ |
| bold.css.pagespeed.cc.46IlzLf_NK.css" |
| echo "$WGET --save-headers -q -O - $LARGE_URL | check_200_http_response" |
| OUT=$($WGET --save-headers -q -O - $LARGE_URL) |
| check_200_http_response "$OUT" |
| LARGE_URL_LINE_COUNT=$($WGET -q -O - $LARGE_URL | wc -l) |
| echo Checking that response body is at least 900 lines -- it should be 954 |
| check [ $LARGE_URL_LINE_COUNT -gt 900 ] |
| |
| test_filter combine_javascript combines 2 JS files into 1. |
| fetch_until $URL 'fgrep -c src=' 1 |
| check run_wget_with_args $URL |
| |
| start_test combine_javascript with long URL still works |
| URL=$TEST_ROOT/combine_js_very_many.html?PageSpeedFilters=combine_javascript |
| fetch_until $URL 'fgrep -c src=' 4 |
| |
| test_filter combine_heads combines 2 heads into 1 |
| check run_wget_with_args $URL |
| check [ $(fgrep -c '<head>' $FETCHED) = 1 ] |
| |
| start_test "combine_css debug filter" |
| URL=$EXAMPLE_ROOT/combine_css_debug.html?PageSpeedFilters=combine_css,debug |
| fetch_until -save "$URL" \ |
| "fgrep -c styles/yellow.css+blue.css+big.css+bold.css.pagespeed.cc" 1 |
| check fgrep "potentially non-combinable attribute: 'id'" $FETCH_FILE |
| check fgrep \ |
| "potentially non-combinable attributes: 'data-foo' and 'data-bar'" \ |
| $FETCH_FILE |
| check fgrep \ |
| "attributes: 'data-foo', 'data-bar' and 'data-baz'" \ |
| $FETCH_FILE |
| check fgrep "looking for media '' but found media='print'." \ |
| $FETCH_FILE |
| check fgrep "looking for media 'print' but found media=''." \ |
| $FETCH_FILE |
| check fgrep "Could not combine over barrier: noscript" $FETCH_FILE |
| check fgrep "Could not combine over barrier: inline style" $FETCH_FILE |
| check fgrep "Could not combine over barrier: IE directive" $FETCH_FILE |