Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/third_party/rust/suggest/src/testing/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 17 kB image not shown  

Quelle  data.rs   Sprache: unbekannt

 
Untersuchungsergebnis.rs Download desUnknown {[0] [0] [0]}zum Wurzelverzeichnis wechseln

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

//! Test data that we use in many tests

use crate::{suggestion::FtsMatchInfo, testing::MockIcon, Suggestion};
use serde_json::json;
use serde_json::Value as JsonValue;

pub fn los_pollos_amp() -> JsonValue {
    json!({
        "id": 100,
        "advertiser": "Los Pollos Hermanos",
        "iab_category": "8 - Food & Drink",
        "keywords": ["lo", "los", "los p", "los pollos", "los pollos h", "los pollos hermanos"],
        "title": "Los Pollos Hermanos - Albuquerque",
        "url": "https://www.lph-nm.biz",
        "icon": "los-pollos-favicon",
        "impression_url": "https://example.com/impression_url",
        "click_url": "https://example.com/click_url",
        "score": 0.3
    })
}

pub fn los_pollos_icon() -> MockIcon {
    MockIcon {
        id: "los-pollos-favicon",
        data: "los-pollos-icon-data",
        mimetype: "image/png",
    }
}

pub fn los_pollos_suggestion(
    full_keyword: &str,
    fts_match_info: Option<FtsMatchInfo>,
) -> Suggestion {
    Suggestion::Amp {
        title: "Los Pollos Hermanos - Albuquerque".into(),
        url: "https://www.lph-nm.biz".into(),
        raw_url: "https://www.lph-nm.biz".into(),
        icon: Some("los-pollos-icon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/png".into()),
        block_id: 100,
        advertiser: "Los Pollos Hermanos".into(),
        iab_category: "8 - Food & Drink".into(),
        impression_url: "https://example.com/impression_url".into(),
        click_url: "https://example.com/click_url".into(),
        raw_click_url: "https://example.com/click_url".into(),
        score: 0.3,
        full_keyword: full_keyword.to_string(),
        fts_match_info,
    }
}

pub fn good_place_eats_amp() -> JsonValue {
    json!({
        "id": 101,
        "advertiser": "Good Place Eats",
        "iab_category": "8 - Food & Drink",
        "keywords": ["la", "las", "lasa", "lasagna", "lasagna come out tomorrow"],
        "title": "Lasagna Come Out Tomorrow",
        "url": "https://www.lasagna.restaurant",
        "icon": "good-place-eats-favicon",
        "impression_url": "https://example.com/impression_url",
        "click_url": "https://example.com/click_url"
    })
}

pub fn good_place_eats_icon() -> MockIcon {
    MockIcon {
        id: "good-place-eats-favicon",
        data: "good-place-eats-icon-data",
        mimetype: "image/gif",
    }
}

pub fn good_place_eats_suggestion(
    full_keyword: &str,
    fts_match_info: Option<FtsMatchInfo>,
) -> Suggestion {
    Suggestion::Amp {
        title: "Lasagna Come Out Tomorrow".into(),
        url: "https://www.lasagna.restaurant".into(),
        raw_url: "https://www.lasagna.restaurant".into(),
        icon: Some("good-place-eats-icon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/gif".into()),
        full_keyword: full_keyword.into(),
        block_id: 101,
        advertiser: "Good Place Eats".into(),
        iab_category: "8 - Food & Drink".into(),
        impression_url: "https://example.com/impression_url".into(),
        click_url: "https://example.com/click_url".into(),
        raw_click_url: "https://example.com/click_url".into(),
        score: 0.2,
        fts_match_info,
    }
}

pub fn california_wiki() -> JsonValue {
    json!({
        "id": 200,
        "advertiser": "Wikipedia",
        "iab_category": "5 - Education",
        "keywords": ["cal", "cali", "california"],
        "title": "California",
        "url": "https://wikipedia.org/California",
        "icon": "california-favicon",
    })
}

pub fn california_icon() -> MockIcon {
    MockIcon {
        id: "california-favicon",
        data: "california-icon-data",
        mimetype: "image/png",
    }
}

pub fn california_suggestion(full_keyword: &str) -> Suggestion {
    Suggestion::Wikipedia {
        title: "California".into(),
        url: "https://wikipedia.org/California".into(),
        icon: Some("california-icon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/png".into()),
        full_keyword: full_keyword.into(),
    }
}

pub fn caltech_wiki() -> JsonValue {
    json!({
        "id": 2001,
        "advertiser": "Wikipedia",
        "iab_category": "5 - Education",
        "keywords": ["cal", "cali", "california", "institute", "technology"],
        "title": "California Institute of Technology",
        "url": "https://wikipedia.org/California_Institute_of_Technology",
        "icon": "caltech-favicon"
    })
}

pub fn caltech_icon() -> MockIcon {
    MockIcon {
        id: "caltech-favicon",
        data: "caltech-icon-data",
        mimetype: "image/png",
    }
}

pub fn caltech_suggestion(full_keyword: &str) -> Suggestion {
    Suggestion::Wikipedia {
        title: "California Institute of Technology".into(),
        url: "https://wikipedia.org/California_Institute_of_Technology".into(),
        icon: Some("caltech-icon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/png".into()),
        full_keyword: full_keyword.into(),
    }
}

pub fn a1a_amp_mobile() -> JsonValue {
    json!({
        "id": 300,
        "advertiser": "A1A Car Wash",
        "iab_category": "2 - Auto",
        "keywords": ["a1a", "ca", "car", "car wash"],
        "title": "A1A Car Wash",
        "url": "https://www.a1a-wash.biz",
        "icon": "200",
        "impression_url": "https://example.com/impression_url",
        "click_url": "https://example.com/click_url",
        "score": 0.3
    })
}

pub fn a1a_suggestion(full_keyword: &str, fts_match_info: Option<FtsMatchInfo>) -> Suggestion {
    Suggestion::Amp {
        title: "A1A Car Wash".into(),
        url: "https://www.a1a-wash.biz".into(),
        raw_url: "https://www.a1a-wash.biz".into(),
        icon: None,
        icon_mimetype: None,
        block_id: 300,
        advertiser: "A1A Car Wash".into(),
        iab_category: "2 - Auto".into(),
        impression_url: "https://example.com/impression_url".into(),
        click_url: "https://example.com/click_url".into(),
        raw_click_url: "https://example.com/click_url".into(),
        score: 0.3,
        full_keyword: full_keyword.to_string(),
        fts_match_info,
    }
}

pub fn relay_amo() -> JsonValue {
    json!({
        "title": "Firefox Relay",
        "description": "Firefox Relay -- Email masking",
        "url": "https://example.org/amo-suggestion-1",
        "guid": "{b9db16a4-6edc-47ec-a1f4-b86292ed211d}",
        "keywords": ["relay", "spam", "masking email", "alias"],
        "icon": "https://example.org/amo-suggestion-1/icon.png",
        "rating": "4.9",
        "number_of_ratings": 800,
        "score": 0.25
    })
}

pub fn dark_mode_amo() -> JsonValue {
    json!({
        "title": "Dark Mode",
        "description": "Ease your eyes",
        "url": "https://example.org/amo-suggestion-2",
        "guid": "{6d24e3b8-1400-4d37-9440-c798f9b79b1a}",
        "keywords": ["dark mode", "dark theme", "night mode"],
        "icon": "https://example.org/amo-suggestion-2/icon.png",
        "rating": "4.6",
        "number_of_ratings": 750,
        "score": 0.25
    })
}

pub fn foxy_guestures_amo() -> JsonValue {
    json!({
        "title": "Foxy Guestures",
        "description": "Mouse gestures for Firefox",
        "url": "https://example.org/amo-suggestion-3",
        "guid": "{1e9d493b-0498-48bb-9b9a-8b45a44df146}",
        "keywords": ["grammar", "spelling", "edit"],
        "icon": "https://example.org/amo-suggestion-3/icon.png",
        "rating": "4.8",
        "number_of_ratings": 900,
        "score": 0.25
    })
}

pub fn new_tab_override_amo() -> JsonValue {
    json!({
        "title": "New Tab Override",
        "description": "New Tab Override allows you to set the page that shows whenever you open a new tab",
        "url": "https://example.org/amo-suggestion-4",
        "guid": "{1ea82ebd-a1ba-4f57-b8bb-3824ead837bd}",
        "keywords": ["image search", "visual search"],
        "icon": "https://example.org/amo-suggestion-4/icon.png",
        "rating": "5.0",
        "number_of_ratings": 100,
        "score": 0.25
    })
}

pub fn relay_suggestion() -> Suggestion {
    Suggestion::Amo {
        title: "Firefox Relay".into(),
        url: "https://example.org/amo-suggestion-1".into(),
        icon_url: "https://example.org/amo-suggestion-1/icon.png".into(),
        description: "Firefox Relay -- Email masking".into(),
        rating: Some("4.9".into()),
        number_of_ratings: 800,
        guid: "{b9db16a4-6edc-47ec-a1f4-b86292ed211d}".into(),
        score: 0.25,
    }
}

pub fn dark_mode_suggestion() -> Suggestion {
    Suggestion::Amo {
        title: "Dark Mode".into(),
        url: "https://example.org/amo-suggestion-2".into(),
        icon_url: "https://example.org/amo-suggestion-2/icon.png".into(),
        description: "Ease your eyes".into(),
        rating: Some("4.6".into()),
        number_of_ratings: 750,
        guid: "{6d24e3b8-1400-4d37-9440-c798f9b79b1a}".into(),
        score: 0.25,
    }
}

pub fn foxy_guestures_suggestion() -> Suggestion {
    Suggestion::Amo {
        title: "Foxy Guestures".into(),
        url: "https://example.org/amo-suggestion-3".into(),
        icon_url: "https://example.org/amo-suggestion-3/icon.png".into(),
        description: "Mouse gestures for Firefox".into(),
        rating: Some("4.8".into()),
        number_of_ratings: 900,
        guid: "{1e9d493b-0498-48bb-9b9a-8b45a44df146}".into(),
        score: 0.25,
    }
}

pub fn new_tab_override_suggestion() -> Suggestion {
    Suggestion::Amo {
        title: "New Tab Override".into(),
        url: "https://example.org/amo-suggestion-4".into(),
        icon_url: "https://example.org/amo-suggestion-4/icon.png".into(),
        description:
            "New Tab Override allows you to set the page that shows whenever you open a new tab"
                .into(),
        rating: Some("5.0".into()),
        number_of_ratings: 100,
        guid: "{1ea82ebd-a1ba-4f57-b8bb-3824ead837bd}".into(),
        score: 0.25,
    }
}

pub fn burnout_pocket() -> JsonValue {
    json!({
        "description": "pocket suggestion",
        "url": "https://getpocket.com/collections/its-not-just-burnout-how-grind-culture-failed-women",
        "lowConfidenceKeywords": ["soft life", "workaholism", "toxic work culture", "work-life balance"],
        "highConfidenceKeywords": ["burnout women", "grind culture", "women burnout"],
        "title": "‘It’s Not Just Burnout:’ How Grind Culture Fails Women",
        "score": 0.25
    })
}

pub fn burnout_suggestion(is_top_pick: bool) -> Suggestion {
    Suggestion::Pocket {
        title: "‘It’s Not Just Burnout:’ How Grind Culture Fails Women".into(),
        url:
            "https://getpocket.com/collections/its-not-just-burnout-how-grind-culture-failed-women"
                .into(),
        score: 0.25,
        is_top_pick,
    }
}

pub fn ramen_yelp() -> JsonValue {
    json!({
        "subjects": ["ramen", "spicy ramen", "spicy random ramen", "rats", "raven", "raccoon", "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789Z"],
        "preModifiers": ["best", "super best", "same_modifier"],
        "postModifiers": ["delivery", "super delivery", "same_modifier"],
        "locationSigns": [
            { "keyword": "in", "needLocation": true },
            { "keyword": "near", "needLocation": true },
            { "keyword": "near by", "needLocation": false },
            { "keyword": "near me", "needLocation": false },
        ],
        "yelpModifiers": ["yelp", "yelp keyword"],
        "icon": "yelp-favicon",
        "score": 0.5
    })
}

pub fn ramen_suggestion(title: &str, url: &str) -> Suggestion {
    Suggestion::Yelp {
        title: title.into(),
        url: url.into(),
        icon: Some("yelp-favicon-data".into()),
        icon_mimetype: Some("image/svg+xml".into()),
        score: 0.5,
        has_location_sign: true,
        subject_exact_match: true,
        location_param: "find_loc".into(),
    }
}

pub fn yelp_favicon() -> MockIcon {
    MockIcon {
        id: "yelp-favicon",
        data: "yelp-favicon-data",
        mimetype: "image/svg+xml",
    }
}

pub fn array_mdn() -> JsonValue {
    json!({
        "description": "Javascript Array",
        "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
        "keywords": ["array javascript", "javascript array", "wildcard"],
        "title": "Array",
        "score": 0.24
    })
}

pub fn array_suggestion() -> Suggestion {
    Suggestion::Mdn {
        title: "Array".into(),
        url:
            "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array"
                .into(),
        description: "Javascript Array".into(),
        score: 0.24,
    }
}

pub fn multimatch_wiki() -> JsonValue {
    json!({
        "id": 0,
        "advertiser": "Wikipedia",
        "iab_category": "5 - Education",
        "keywords": ["multimatch"],
        "title": "Multimatch",
        "url": "https://wikipedia.org/Multimatch",
        "icon": "multimatch-wiki-favicon"
    })
}

pub fn multimatch_amo() -> JsonValue {
    json!({
        "description": "amo suggestion multi-match",
        "url": "https://addons.mozilla.org/en-US/firefox/addon/multimatch",
        "guid": "{b9db16a4-6edc-47ec-a1f4-b86292ed211d}",
        "keywords": ["multimatch"],
        "title": "Firefox Multimatch",
        "icon": "https://addons.mozilla.org/user-media/addon_icons/2633/2633704-64.png?modified=2c11a80b",
        "rating": "4.9",
        "number_of_ratings": 888,
        "score": 0.25
    })
}

pub fn multimatch_pocket() -> JsonValue {
    json!({
        "description": "pocket suggestion multi-match",
        "url": "https://getpocket.com/collections/multimatch",
        "lowConfidenceKeywords": [],
        "highConfidenceKeywords": ["multimatch"],
        "title": "Multimatching",
        "score": 0.88
    })
}

pub fn multimatch_wiki_icon() -> MockIcon {
    MockIcon {
        id: "multimatch-wiki-favicon",
        data: "multimatch-wiki-icon-data",
        mimetype: "image/png",
    }
}

pub fn multimatch_pocket_suggestion(is_top_pick: bool) -> Suggestion {
    Suggestion::Pocket {
        title: "Multimatching".into(),
        url: "https://getpocket.com/collections/multimatch".into(),
        score: 0.88,
        is_top_pick,
    }
}

pub fn multimatch_amo_suggestion() -> Suggestion {
    Suggestion::Amo {
        title: "Firefox Multimatch".into(),
        url: "https://addons.mozilla.org/en-US/firefox/addon/multimatch".into(),
        icon_url: "https://addons.mozilla.org/user-media/addon_icons/2633/2633704-64.png?modified=2c11a80b".into(),
        description: "amo suggestion multi-match".into(),
        rating: Some("4.9".into()),
        number_of_ratings: 888,
        guid: "{b9db16a4-6edc-47ec-a1f4-b86292ed211d}".into(),
        score: 0.25,
    }
}

pub fn multimatch_wiki_suggestion() -> Suggestion {
    Suggestion::Wikipedia {
        title: "Multimatch".into(),
        url: "https://wikipedia.org/Multimatch".into(),
        icon: Some("multimatch-wiki-icon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/png".into()),
        full_keyword: "multimatch".into(),
    }
}

// Fakespot test data

pub fn snowglobe_fakespot() -> JsonValue {
    json!({
        "fakespot_grade": "B",
        "product_id": "amazon-ABC",
        "keywords": "",
        "product_type": "snow globe",
        "rating": 4.7,
        "score": 0.8,
        "title": "Make Your Own Glitter Snow Globes",
        "total_reviews": 152,
        "url": "http://amazon.com/dp/ABC"
    })
}

pub fn snowglobe_suggestion(match_info: Option<FtsMatchInfo>) -> Suggestion {
    Suggestion::Fakespot {
        fakespot_grade: "B".into(),
        product_id: "amazon-ABC".into(),
        rating: 4.7,
        title: "Make Your Own Glitter Snow Globes".into(),
        total_reviews: 152,
        url: "http://amazon.com/dp/ABC".into(),
        score: 0.3 + 0.00008,
        icon: Some("fakespot-icon-amazon-data".as_bytes().to_vec()),
        icon_mimetype: Some("image/png".into()),
        match_info,
    }
}

pub fn simpsons_fakespot() -> JsonValue {
    json!({
        "fakespot_grade": "A",
        // Use a product ID that doesn't match the ingested icons to test what happens.  In this
        // case, icon and icon_mimetype for the returned Suggestion should both be None.
        "product_id": "vendorwithouticon-XYZ",
        "keywords": "",
        "product_type": "",
        "rating": 4.9,
        "score": 0.9,
        "title": "The Simpsons: Skinner's Sense of Snow (DVD)",
        "total_reviews": 14000,
        "url": "http://vendorwithouticon.com/dp/XYZ"
    })
}

pub fn simpsons_suggestion(match_info: Option<FtsMatchInfo>) -> Suggestion {
    Suggestion::Fakespot {
        fakespot_grade: "A".into(),
        product_id: "vendorwithouticon-XYZ".into(),
        rating: 4.9,
        title: "The Simpsons: Skinner's Sense of Snow (DVD)".into(),
        total_reviews: 14000,
        url: "http://vendorwithouticon.com/dp/XYZ".into(),
        score: 0.3 + 0.00009,
        icon: None,
        icon_mimetype: None,
        match_info,
    }
}

pub fn fakespot_amazon_icon() -> MockIcon {
    MockIcon {
        id: "fakespot-amazon",
        data: "fakespot-icon-amazon-data",
        mimetype: "image/png",
    }
}

[ zur Elbe Produktseite wechseln0.66Quellennavigators  ]