tor-browser

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

test_show_chat_entrypoint.js (1514B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 const { GenAI } = ChromeUtils.importESModule(
      5  "resource:///modules/GenAI.sys.mjs"
      6 );
      7 
      8 registerCleanupFunction(() => {
      9  Services.prefs.clearUserPref("browser.ml.chat.enabled");
     10  Services.prefs.clearUserPref("browser.ml.chat.provider");
     11  Services.prefs.clearUserPref("sidebar.main.tools");
     12  Services.prefs.clearUserPref("sidebar.revamp");
     13 });
     14 
     15 /**
     16 * Check various prefs for showing chat
     17 */
     18 add_task(async function test_show_chat() {
     19  // Test should start with sidebar.revamp set to false
     20  Services.prefs.setBoolPref("sidebar.revamp", false);
     21 
     22  Assert.ok(!GenAI.canShowChatEntrypoint, "Default no");
     23 
     24  Services.prefs.setBoolPref("browser.ml.chat.enabled", true);
     25 
     26  Assert.ok(!GenAI.canShowChatEntrypoint, "Not enough to just enable");
     27 
     28  Services.prefs.setStringPref(
     29    "browser.ml.chat.provider",
     30    "http://mochi.test:8888"
     31  );
     32 
     33  Assert.ok(GenAI.canShowChatEntrypoint, "Can show with provider");
     34 
     35  Services.prefs.setStringPref("sidebar.main.tools", "aichat");
     36  Services.prefs.setBoolPref("sidebar.revamp", true);
     37 
     38  Assert.ok(
     39    GenAI.canShowChatEntrypoint,
     40    "Can show with revamp and aichat tool"
     41  );
     42 
     43  Services.prefs.setStringPref("sidebar.main.tools", "history");
     44 
     45  Assert.ok(!GenAI.canShowChatEntrypoint, "Not shown without chatbot tool");
     46 
     47  Services.prefs.setBoolPref("sidebar.revamp", false);
     48 
     49  Assert.ok(GenAI.canShowChatEntrypoint, "Ignore tools without revamp");
     50 });