tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

traverseTo-same-document.html (1970B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script>
      5 async_test(t => {
      6  let start_length = navigation.entries().length;
      7  let start_index = navigation.currentEntry.index;
      8  // Wait for after the load event so that the navigation doesn't get converted
      9  // into a replace navigation.
     10  window.onload = () => t.step_timeout(() => {
     11    assert_equals(navigation.entries().length, start_length);
     12 
     13    let onnavigate_count = 0;
     14    navigation.onnavigate = () => onnavigate_count++;
     15 
     16    let key = navigation.currentEntry.key;
     17    navigation.navigate("#").committed
     18      .then(t.step_func(() => {
     19        assert_equals(navigation.entries().length, start_length + 1);
     20        assert_equals(navigation.currentEntry, navigation.entries()[start_index + 1]);
     21        assert_not_equals(key, navigation.currentEntry.key);
     22        return navigation.traverseTo(key).committed;
     23      }))
     24      .then(t.step_func(() => {
     25        assert_equals(navigation.entries().length, start_length + 1);
     26        assert_equals(navigation.currentEntry, navigation.entries()[start_index]);
     27        assert_equals(key, navigation.currentEntry.key);
     28        assert_true(navigation.canGoForward);
     29        return navigation.forward().committed;
     30      }))
     31      .then(t.step_func(() => {
     32        assert_equals(navigation.entries().length, start_length + 1);
     33        assert_equals(navigation.currentEntry, navigation.entries()[start_index + 1]);
     34        assert_true(navigation.canGoBack);
     35        return navigation.back().committed;
     36      }))
     37      .then(t.step_func_done(() => {
     38        assert_equals(navigation.entries().length, start_length + 1);
     39        assert_equals(navigation.currentEntry, navigation.entries()[start_index]);
     40        assert_equals(key, navigation.currentEntry.key);
     41        assert_equals(onnavigate_count, 4);
     42      }));
     43  }, 0);
     44 }, "same-document navigate.traverseTo(), back(), and forward()");
     45 </script>