This tests that modifying location.hash works as it should
PASS: window.history.length == originalHistoryLength should be true and is.
PASS: window.location.hash should be and is.
PASS: window.location.hash should be #foo and is.
PASS: window.location == originalLocation + '#foo' should be true and is.
PASS: window.history.length == originalHistoryLength + 1 should be true and is.
PASS: window.location.hash should be #bar and is.
PASS: window.location == originalLocation + '#bar' should be true and is.
PASS: window.history.length == originalHistoryLength + 2 should be true and is.
PASS: window.location.hash should be #bar and is.
PASS: window.location == originalLocation + '#bar' should be true and is.
PASS: window.history.length == originalHistoryLength + 2 should be true and is.
PASS: window.location.hash should be #bar and is.
PASS: window.location == originalLocation + '#bar' should be true and is.
PASS: window.location.hash should be #bar and is.
PASS: window.location == originalLocation + '#bar' should be true and is.
PASS: window.location.hash should be #foo and is.
PASS: window.location == originalLocation + '#foo' should be true and is.
PASS: window.location.hash should be #foo and is.
PASS: window.location == originalLocation + '#foo' should be true and is.
PASS: window.location.hash should be and is.
PASS: window.location == originalLocation should be true and is.
PASS: window.location.hash should be and is.
PASS: window.location == originalLocation should be true and is.
PASS: window.location.hash should be #foo and is.
PASS: window.location == originalLocation + '#foo' should be true and is.
PASS: window.location.hash should be and is.
PASS: window.location == originalLocation + '#' should be true and is.
PASS: window.location.hash should be and is.
PASS: window.location == originalLocation + '#' should be true and is.
SUCCESS!