Fix elements and attributes mapping for dx translate
This commit is contained in:
1 parent
2e424436b3
commit
afb258b658
10 files changed
+202
-17
No files matched your search
@@ -0,0 +1,33 @@
|
||||
use html_parser::Dom;
|
||||
|
||||
#[test]
|
||||
fn h_tags_translate() {
|
||||
let html = r#"
|
||||
<div>
|
||||
<h1>hello world!</h1>
|
||||
<h2>hello world!</h2>
|
||||
<h3>hello world!</h3>
|
||||
<h4>hello world!</h4>
|
||||
<h5>hello world!</h5>
|
||||
<h6>hello world!</h6>
|
||||
</div>
|
||||
"#
|
||||
.trim();
|
||||
|
||||
let dom = Dom::parse(html).unwrap();
|
||||
|
||||
let body = rsx_rosetta::rsx_from_html(&dom);
|
||||
|
||||
let out = dioxus_autofmt::write_block_out(body).unwrap();
|
||||
|
||||
let expected = r#"
|
||||
div {
|
||||
h1 { "hello world!" }
|
||||
h2 { "hello world!" }
|
||||
h3 { "hello world!" }
|
||||
h4 { "hello world!" }
|
||||
h5 { "hello world!" }
|
||||
h6 { "hello world!" }
|
||||
}"#;
|
||||
pretty_assertions::assert_eq!(&out, &expected);
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
use html_parser::Dom;
|
||||
|
||||
#[test]
|
||||
fn raw_attribute() {
|
||||
let html = r#"
|
||||
<div>
|
||||
<div unrecognizedattribute="asd">hello world!</div>
|
||||
</div>
|
||||
"#
|
||||
.trim();
|
||||
|
||||
let dom = Dom::parse(html).unwrap();
|
||||
|
||||
let body = rsx_rosetta::rsx_from_html(&dom);
|
||||
|
||||
let out = dioxus_autofmt::write_block_out(body).unwrap();
|
||||
|
||||
let expected = r#"
|
||||
div { div { "unrecognizedattribute": "asd", "hello world!" } }"#;
|
||||
pretty_assertions::assert_eq!(&out, &expected);
|
||||
}
|
||||
@@ -9,8 +9,6 @@ fn simple_elements() {
|
||||
<div id="asd">hello world!</div>
|
||||
<div for="asd">hello world!</div>
|
||||
<div async="asd">hello world!</div>
|
||||
<div LargeThing="asd">hello world!</div>
|
||||
<ai-is-awesome>hello world!</ai-is-awesome>
|
||||
</div>
|
||||
"#
|
||||
.trim();
|
||||
@@ -28,8 +26,6 @@ fn simple_elements() {
|
||||
div { id: "asd", "hello world!" }
|
||||
div { r#for: "asd", "hello world!" }
|
||||
div { r#async: "asd", "hello world!" }
|
||||
div { large_thing: "asd", "hello world!" }
|
||||
ai_is_awesome { "hello world!" }
|
||||
}"#;
|
||||
pretty_assertions::assert_eq!(&out, &expected);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
use html_parser::Dom;
|
||||
|
||||
#[test]
|
||||
fn web_components_translate() {
|
||||
let html = r#"
|
||||
<div>
|
||||
<my-component></my-component>
|
||||
</div>
|
||||
"#
|
||||
.trim();
|
||||
|
||||
let dom = Dom::parse(html).unwrap();
|
||||
|
||||
let body = rsx_rosetta::rsx_from_html(&dom);
|
||||
|
||||
let out = dioxus_autofmt::write_block_out(body).unwrap();
|
||||
|
||||
let expected = r#"
|
||||
div { my-component {} }"#;
|
||||
pretty_assertions::assert_eq!(&out, &expected);
|
||||
}
|
||||
Reference in new issue
Block a user