tor-browser

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

current-basic.html (4994B)


      1 <!doctype html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="resources/is_uuid.js"></script>
      5 <script>
      6 test(() => {
      7  let start_length = navigation.entries().length;
      8  let first_entry = navigation.currentEntry;
      9  let start_index = first_entry.index;
     10  assert_not_equals(first_entry, null);
     11  assert_not_equals(first_entry.key, null);
     12  assert_true(isUUID(first_entry.key));
     13  assert_not_equals(first_entry.id, null);
     14  assert_true(isUUID(first_entry.id));
     15  assert_equals(first_entry.url, location.href);
     16  assert_true(first_entry.sameDocument);
     17  assert_equals(navigation.entries().length, start_length);
     18  assert_equals(first_entry, navigation.entries()[start_index]);
     19 
     20  history.replaceState(2, "", "#2");
     21  let second_entry = navigation.currentEntry;
     22  assert_not_equals(second_entry, first_entry);
     23  assert_equals(second_entry.key, first_entry.key);
     24  assert_true(isUUID(second_entry.key));
     25  assert_not_equals(second_entry.id, first_entry.id);
     26  assert_true(isUUID(second_entry.id));
     27  assert_equals(second_entry.url, location.href);
     28  assert_true(second_entry.sameDocument);
     29  assert_equals(navigation.entries().length, start_length);
     30  assert_equals(second_entry, navigation.entries()[start_index]);
     31 
     32  history.pushState(3, "", "#3");
     33  let third_entry = navigation.currentEntry;
     34  assert_not_equals(third_entry, second_entry);
     35  assert_not_equals(third_entry.key, second_entry.key);
     36  assert_true(isUUID(third_entry.key));
     37  assert_not_equals(third_entry.id, second_entry.id);
     38  assert_true(isUUID(third_entry.id));
     39  assert_equals(third_entry.url, location.href);
     40  assert_true(third_entry.sameDocument);
     41  assert_equals(navigation.entries().length, start_length + 1);
     42  assert_equals(third_entry, navigation.entries()[start_index + 1]);
     43 
     44  history.pushState(4, "");
     45  let fourth_entry = navigation.currentEntry;
     46  assert_not_equals(fourth_entry, third_entry);
     47  assert_not_equals(fourth_entry.key, third_entry.key);
     48  assert_true(isUUID(fourth_entry.key));
     49  assert_not_equals(fourth_entry.id, third_entry.id);
     50  assert_true(isUUID(fourth_entry.id));
     51  assert_equals(fourth_entry.url, third_entry.url);
     52  assert_true(fourth_entry.sameDocument);
     53  assert_equals(navigation.entries().length, start_length + 2);
     54  assert_equals(fourth_entry, navigation.entries()[start_index + 2]);
     55 
     56  history.replaceState(5, "");
     57  let fifth_entry = navigation.currentEntry;
     58  assert_not_equals(fifth_entry, fourth_entry);
     59  assert_equals(fifth_entry.key, fourth_entry.key);
     60  assert_true(isUUID(fifth_entry.key));
     61  assert_not_equals(fifth_entry.id, fourth_entry.id);
     62  assert_true(isUUID(fifth_entry.id));
     63  assert_equals(fifth_entry.url, fourth_entry.url);
     64  assert_true(fifth_entry.sameDocument);
     65  assert_equals(navigation.entries().length, start_length + 2);
     66  assert_equals(fifth_entry, navigation.entries()[start_index + 2]);
     67 
     68  history.pushState(5, "");
     69  let fifth_entry_after_push = navigation.currentEntry;
     70  assert_not_equals(fifth_entry_after_push, fifth_entry);
     71  assert_not_equals(fifth_entry_after_push.key, fifth_entry.key);
     72  assert_true(isUUID(fifth_entry_after_push.key));
     73  assert_not_equals(fifth_entry_after_push.id, fifth_entry.id);
     74  assert_true(isUUID(fifth_entry_after_push.id));
     75  assert_equals(fifth_entry_after_push.url, fifth_entry.url);
     76  assert_true(fifth_entry_after_push.sameDocument);
     77  assert_equals(navigation.entries().length, start_length + 3);
     78  assert_equals(fifth_entry_after_push, navigation.entries()[start_index + 3]);
     79 
     80  history.replaceState(5, "");
     81  let fifth_entry_after_replace = navigation.currentEntry;
     82  assert_not_equals(fifth_entry_after_replace, fifth_entry_after_push);
     83  assert_equals(fifth_entry_after_replace.key, fifth_entry_after_push.key);
     84  assert_true(isUUID(fifth_entry_after_replace.key));
     85  assert_not_equals(fifth_entry_after_replace.id, fifth_entry_after_push.id);
     86  assert_true(isUUID(fifth_entry_after_replace.id));
     87  assert_equals(fifth_entry_after_replace.url, fifth_entry_after_push.url);
     88  assert_true(fifth_entry_after_replace.sameDocument);
     89  assert_equals(navigation.entries().length, start_length + 3);
     90  assert_equals(fifth_entry_after_replace, navigation.entries()[start_index + 3]);
     91 
     92  location.hash = "6";
     93  let sixth_entry = navigation.currentEntry;
     94  assert_not_equals(sixth_entry, fifth_entry_after_replace);
     95  assert_equals(sixth_entry.key, fifth_entry_after_replace.key);
     96  assert_true(isUUID(sixth_entry.key));
     97  assert_not_equals(sixth_entry.id, fifth_entry_after_replace.id);
     98  assert_true(isUUID(sixth_entry.id));
     99  assert_not_equals(sixth_entry.url, fifth_entry_after_replace.url);
    100  assert_true(sixth_entry.sameDocument);
    101  assert_equals(navigation.entries().length, start_length + 3);
    102  assert_equals(sixth_entry, navigation.entries()[start_index + 3]);
    103 
    104  navigation.entries().forEach(entry => {
    105    assert_true(isUUID(entry.id));
    106    assert_true(isUUID(entry.key));
    107  });
    108 }, "Basic tests for navigation.currentEntry");
    109 </script>