browserslist/queries/
unreleased_x_browsers.rs1use super::{Distrib, QueryResult};
2use crate::{error::Error, opts::Opts};
3use browserslist_data::caniuse::get_browser_stat;
4
5pub(super) fn unreleased_x_browsers(name: &str, opts: &Opts) -> QueryResult {
6 let (name, version_list) = get_browser_stat(name, opts.mobile_to_desktop)
7 .ok_or_else(|| Error::BrowserNotFound(name.to_string()))?;
8 let distribs = version_list
9 .iter()
10 .filter(|version| !version.released)
11 .map(|version| Distrib::new(name, version.version()))
12 .collect();
13 Ok(distribs)
14}
15
16#[cfg(test)]
17mod tests {
18 use super::*;
19 use crate::test::run_compare;
20 use test_case::test_case;
21
22 #[test_case("unreleased edge versions"; "basic")]
23 #[test_case("Unreleased Chrome Versions"; "case insensitive")]
24 #[test_case("unreleased firefox version"; "support pluralization")]
25 #[test_case("unreleased safari versions"; "more spaces")]
26 fn valid(query: &str) {
27 run_compare(query, &Opts::default(), None);
28 }
29}