2020-05-17 19:54:07 +02:00
|
|
|
// ██████╗ █████╗ ███████╗███████╗██╗███╗ ██╗ ██████╗
|
|
|
|
// ██╔══██╗██╔══██╗██╔════╝██╔════╝██║████╗ ██║██╔════╝
|
|
|
|
// ██████╔╝███████║███████╗███████╗██║██╔██╗ ██║██║ ███╗
|
|
|
|
// ██╔═══╝ ██╔══██║╚════██║╚════██║██║██║╚██╗██║██║ ██║
|
|
|
|
// ██║ ██║ ██║███████║███████║██║██║ ╚████║╚██████╔╝
|
|
|
|
// ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝╚═╝ ╚═══╝ ╚═════╝
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod passing {
|
|
|
|
use reqwest::blocking::Client;
|
|
|
|
use std::collections::HashMap;
|
|
|
|
|
2020-06-28 07:36:41 +02:00
|
|
|
use crate::html;
|
|
|
|
use crate::opts::Options;
|
|
|
|
|
2020-05-17 19:54:07 +02:00
|
|
|
#[test]
|
2021-02-23 03:14:47 +01:00
|
|
|
fn small_medium_large() {
|
2020-05-17 19:54:07 +02:00
|
|
|
let cache = &mut HashMap::new();
|
|
|
|
let client = Client::new();
|
2021-02-23 03:14:47 +01:00
|
|
|
let srcset_value = "small.png 1x, medium.png 1.5x, large.png 2x";
|
2020-06-28 07:36:41 +02:00
|
|
|
let mut options = Options::default();
|
|
|
|
options.no_images = true;
|
|
|
|
options.silent = true;
|
2020-06-28 22:11:15 +02:00
|
|
|
let embedded_css = html::embed_srcset(cache, &client, "", &srcset_value, &options, 0);
|
2020-05-17 19:54:07 +02:00
|
|
|
|
|
|
|
assert_eq!(
|
2020-12-26 08:54:52 +01:00
|
|
|
embedded_css,
|
2021-02-23 03:14:47 +01:00
|
|
|
format!(
|
|
|
|
"{} 1x, {} 1.5x, {} 2x",
|
|
|
|
empty_image!(),
|
|
|
|
empty_image!(),
|
|
|
|
empty_image!(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn small_medium_only_medium_has_scale() {
|
|
|
|
let cache = &mut HashMap::new();
|
|
|
|
let client = Client::new();
|
|
|
|
let srcset_value = "small.png, medium.png 1.5x";
|
|
|
|
let mut options = Options::default();
|
|
|
|
options.no_images = true;
|
|
|
|
options.silent = true;
|
|
|
|
let embedded_css = html::embed_srcset(cache, &client, "", &srcset_value, &options, 0);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
embedded_css,
|
|
|
|
format!("{}, {} 1.5x", empty_image!(), empty_image!()),
|
2020-12-26 08:54:52 +01:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn commas_within_file_names() {
|
|
|
|
let cache = &mut HashMap::new();
|
|
|
|
let client = Client::new();
|
|
|
|
let srcset_value = "small,s.png 1x, large,l.png 2x";
|
|
|
|
let mut options = Options::default();
|
|
|
|
options.no_images = true;
|
|
|
|
options.silent = true;
|
|
|
|
let embedded_css = html::embed_srcset(cache, &client, "", &srcset_value, &options, 0);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
embedded_css,
|
|
|
|
format!("{} 1x, {} 2x", empty_image!(), empty_image!()),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn tabs_and_newlines_after_commas() {
|
|
|
|
let cache = &mut HashMap::new();
|
|
|
|
let client = Client::new();
|
|
|
|
let srcset_value = "small,s.png 1x,\nmedium,m.png 2x,\nlarge,l.png 3x";
|
|
|
|
let mut options = Options::default();
|
|
|
|
options.no_images = true;
|
|
|
|
options.silent = true;
|
|
|
|
let embedded_css = html::embed_srcset(cache, &client, "", &srcset_value, &options, 0);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
|
|
embedded_css,
|
|
|
|
format!(
|
|
|
|
"{} 1x, {} 2x, {} 3x",
|
|
|
|
empty_image!(),
|
|
|
|
empty_image!(),
|
|
|
|
empty_image!()
|
|
|
|
),
|
2020-05-17 19:54:07 +02:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
2020-12-26 01:24:52 +01:00
|
|
|
|
|
|
|
// ███████╗ █████╗ ██╗██╗ ██╗███╗ ██╗ ██████╗
|
|
|
|
// ██╔════╝██╔══██╗██║██║ ██║████╗ ██║██╔════╝
|
|
|
|
// █████╗ ███████║██║██║ ██║██╔██╗ ██║██║ ███╗
|
|
|
|
// ██╔══╝ ██╔══██║██║██║ ██║██║╚██╗██║██║ ██║
|
|
|
|
// ██║ ██║ ██║██║███████╗██║██║ ╚████║╚██████╔╝
|
|
|
|
// ╚═╝ ╚═╝ ╚═╝╚═╝╚══════╝╚═╝╚═╝ ╚═══╝ ╚═════╝
|
|
|
|
|
|
|
|
#[cfg(test)]
|
|
|
|
mod failing {
|
|
|
|
use reqwest::blocking::Client;
|
|
|
|
use std::collections::HashMap;
|
|
|
|
|
|
|
|
use crate::html;
|
|
|
|
use crate::opts::Options;
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn trailing_comma() {
|
|
|
|
let cache = &mut HashMap::new();
|
|
|
|
let client = Client::new();
|
|
|
|
let srcset_value = "small.png 1x, large.png 2x,";
|
|
|
|
let mut options = Options::default();
|
|
|
|
options.no_images = true;
|
|
|
|
options.silent = true;
|
|
|
|
let embedded_css = html::embed_srcset(cache, &client, "", &srcset_value, &options, 0);
|
|
|
|
|
|
|
|
assert_eq!(
|
2020-12-26 08:54:52 +01:00
|
|
|
embedded_css,
|
|
|
|
format!("{} 1x, {} 2x,", empty_image!(), empty_image!()),
|
2020-12-26 01:24:52 +01:00
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|