regex to strip html colors

This commit is contained in:
Anton-4 2024-02-16 19:20:20 +01:00
parent 64113bbf72
commit aeb644cc50
No known key found for this signature in database
GPG Key ID: 0971D718C0A9B937
3 changed files with 8 additions and 5 deletions

1
Cargo.lock generated
View File

@ -2196,6 +2196,7 @@ version = "0.0.1"
dependencies = [
"bumpalo",
"indoc",
"regex",
"roc_build",
"roc_cli",
"roc_repl_cli",

View File

@ -23,6 +23,7 @@ bumpalo.workspace = true
indoc.workspace = true
strip-ansi-escapes.workspace = true
target-lexicon.workspace = true
regex.workspace = true
rustyline.workspace = true
[features]

View File

@ -1,4 +1,5 @@
use bumpalo::Bump;
use regex::Regex;
use roc_wasm_interp::{
wasi, DefaultImportDispatcher, ImportDispatcher, Instance, Value, WasiDispatcher,
};
@ -158,11 +159,11 @@ pub fn expect_failure(input: &'static str, expected: &str) {
pub fn expect(input: &'static str, expected: &str) {
let raw_output = run(input);
// We need to get rid of HTML tags, and we can be quite specific about it!
// If we ever write more complex test cases, we might need regex here.
let without_html = raw_output.replace("<span class='color-magenta'> : </span>", " : ");
// remove color HTML tags
let regx = Regex::new("<span class='color-(.*?)'> : </span>").unwrap();
let without_html = regx.replace_all(&raw_output, " : ");
let clean_output = without_html.trim();
let trimmed_output = without_html.trim();
assert_eq!(clean_output, expected);
assert_eq!(trimmed_output, expected);
}