This page should go back. If a test outputs the contents of this
page, then the test page failed to enter the page cache.
<script>
  window.addEventListener("load", function() {
    setTimeout(function() {
      history.back();
    }, 100);
  }, false);
</script>
