mirror of
https://github.com/swc-project/swc.git
synced 2024-11-30 15:23:33 +03:00
test(html/parser): Add dom visualizer for regular tests (#4622)
This commit is contained in:
parent
97808349a2
commit
4e577d7f45
@ -22,7 +22,7 @@ use swc_html_parser::{
|
||||
use swc_html_visit::{Visit, VisitMut, VisitMutWith, VisitWith};
|
||||
use testing::NormalizedOutput;
|
||||
|
||||
fn test_pass(input: PathBuf, config: ParserConfig) {
|
||||
fn document_test(input: PathBuf, config: ParserConfig) {
|
||||
testing::run_test2(false, |cm, handler| {
|
||||
let json_path = input.parent().unwrap().join("output.json");
|
||||
let fm = cm.load_file(&input).unwrap();
|
||||
@ -62,7 +62,7 @@ fn test_pass(input: PathBuf, config: ParserConfig) {
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
fn test_recovery(input: PathBuf, config: ParserConfig) {
|
||||
fn document_recovery_test(input: PathBuf, config: ParserConfig) {
|
||||
let stderr_path = input.parent().unwrap().join("output.stderr");
|
||||
let mut recovered = false;
|
||||
|
||||
@ -120,7 +120,7 @@ fn test_recovery(input: PathBuf, config: ParserConfig) {
|
||||
stderr.compare_to_file(&stderr_path).unwrap();
|
||||
}
|
||||
|
||||
fn test_span_visualizer(input: PathBuf, config: ParserConfig) {
|
||||
fn document_span_visualizer(input: PathBuf, config: ParserConfig) {
|
||||
let dir = input.parent().unwrap().to_path_buf();
|
||||
|
||||
let output = testing::run_test2(false, |cm, handler| {
|
||||
@ -158,6 +158,49 @@ fn test_span_visualizer(input: PathBuf, config: ParserConfig) {
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
fn document_dom_visualizer(input: PathBuf, config: ParserConfig) {
|
||||
let dir = input.parent().unwrap().to_path_buf();
|
||||
|
||||
testing::run_test2(false, |cm, handler| {
|
||||
// Type annotation
|
||||
if false {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
let fm = cm.load_file(&input).unwrap();
|
||||
let lexer = Lexer::new(SourceFileInput::from(&*fm), config);
|
||||
let mut parser = Parser::new(lexer, config);
|
||||
|
||||
let document: PResult<Document> = parser.parse_document();
|
||||
|
||||
match document {
|
||||
Ok(mut document) => {
|
||||
let mut dom_buf = String::new();
|
||||
|
||||
document.visit_mut_with(&mut DomVisualizer {
|
||||
dom_buf: &mut dom_buf,
|
||||
indent: 0,
|
||||
});
|
||||
|
||||
NormalizedOutput::from(dom_buf)
|
||||
.compare_to_file(&dir.join("dom.rust-debug"))
|
||||
.unwrap();
|
||||
|
||||
Ok(())
|
||||
}
|
||||
Err(err) => {
|
||||
let mut d = err.to_diagnostics(&handler);
|
||||
|
||||
d.note(&format!("current token = {}", parser.dump_cur()));
|
||||
d.emit();
|
||||
|
||||
panic!();
|
||||
}
|
||||
}
|
||||
})
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
struct SpanVisualizer<'a> {
|
||||
handler: &'a Handler,
|
||||
}
|
||||
@ -364,7 +407,7 @@ impl VisitMut for DomVisualizer<'_> {
|
||||
|
||||
#[testing::fixture("tests/fixture/**/*.html")]
|
||||
fn pass(input: PathBuf) {
|
||||
test_pass(
|
||||
document_test(
|
||||
input,
|
||||
ParserConfig {
|
||||
..Default::default()
|
||||
@ -374,7 +417,7 @@ fn pass(input: PathBuf) {
|
||||
|
||||
#[testing::fixture("tests/recovery/**/*.html")]
|
||||
fn recovery(input: PathBuf) {
|
||||
test_recovery(
|
||||
document_recovery_test(
|
||||
input,
|
||||
ParserConfig {
|
||||
..Default::default()
|
||||
@ -385,7 +428,18 @@ fn recovery(input: PathBuf) {
|
||||
#[testing::fixture("tests/fixture/**/*.html")]
|
||||
#[testing::fixture("tests/recovery/**/*.html")]
|
||||
fn span_visualizer(input: PathBuf) {
|
||||
test_span_visualizer(
|
||||
document_span_visualizer(
|
||||
input,
|
||||
ParserConfig {
|
||||
..Default::default()
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
#[testing::fixture("tests/fixture/**/*.html")]
|
||||
#[testing::fixture("tests/recovery/**/*.html")]
|
||||
fn dom_visualizer(input: PathBuf) {
|
||||
document_dom_visualizer(
|
||||
input,
|
||||
ParserConfig {
|
||||
..Default::default()
|
||||
@ -393,7 +447,6 @@ fn span_visualizer(input: PathBuf) {
|
||||
)
|
||||
}
|
||||
|
||||
// TODO add dom visualizer for fixtures and recovery tests
|
||||
// TODO add span visualizer for html5test_lib tests
|
||||
|
||||
fn unescape(s: &str) -> Option<String> {
|
||||
|
@ -0,0 +1,65 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| 0=""
|
||||
| 1=""
|
||||
| 2=""
|
||||
| 3=""
|
||||
| 4=""
|
||||
| 5=""
|
||||
| 6=""
|
||||
| 7=""
|
||||
| 8=""
|
||||
| 9=""
|
||||
| a=""
|
||||
| b=""
|
||||
| c=""
|
||||
| d=""
|
||||
| e=""
|
||||
| f=""
|
||||
| g=""
|
||||
| h=""
|
||||
| i=""
|
||||
| j=""
|
||||
| k=""
|
||||
| l=""
|
||||
| m=""
|
||||
| n=""
|
||||
| o=""
|
||||
| p=""
|
||||
| q=""
|
||||
| r=""
|
||||
| s=""
|
||||
| t=""
|
||||
| u=""
|
||||
| v=""
|
||||
| w=""
|
||||
| x=""
|
||||
| y=""
|
||||
| z=""
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| title=" <![CDATA[ \n\n foobar baz ]]> "
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| title=" <!-- hello world --> "
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <tag>
|
||||
| :imgs=" objpicsurl_ "
|
||||
| v-ref:vm_pv=""
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| a="\u00A0"
|
||||
| b=" "
|
||||
| c="\u00A0"
|
||||
| "
|
||||
"
|
||||
| <img>
|
||||
| src="test"
|
@ -0,0 +1,65 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| class="0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z"
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| class="add sort keys createSorter"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| class="sprite sprite-{{sprite}}"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| class="{{sprite}}-sprite sprite"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| class="sprite-{{sprite}}-sprite"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| class="{{sprite}}"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| class="{{sprite}}"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class=""
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="nav_sv_fo_v_column <#=(j === 0) ? 'nav_sv_fo_v_first' : '' #> foo_bar"
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| class="moo <!-- htmlmin:ignore -->bar<!-- htmlmin:ignore --> foo baz"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="="
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="= = = ="
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,15 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <a>
|
||||
| href="https://www.w3schools.com"
|
||||
| "This is a link"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,21 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h2>
|
||||
| title="I'm a header"
|
||||
| "The title Attribute"
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| title="I'm a tooltip"
|
||||
| "Mouse over this paragraph, to display the title attribute as a tooltip."
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,33 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| charset="UTF-8"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
||||
| name="viewport"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="ie=edge"
|
||||
| http-equiv="X-UA-Compatible"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
Test
|
||||
|
||||
|
||||
"
|
||||
| <!-- Test -->
|
@ -0,0 +1,25 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- This is a comment -->
|
||||
| "
|
||||
"
|
||||
| <!-- This is a comment -->
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| "
|
||||
"
|
||||
| <!-- Comments are not displayed in the browser -->
|
||||
| "
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,26 @@
|
||||
| <!-- test -->
|
||||
| <!-- foo -->
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| "baz"
|
||||
| <!-- bar
|
||||
|
||||
moo -->
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "<!-- alert(1) -->"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "alert('<!--')"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "alert('<!-- foo -->')"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "alert('-->')"
|
@ -0,0 +1,25 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- [if IE 5]>This is IE 5<br><![endif] -->
|
||||
| "
|
||||
"
|
||||
| <!-- [if IE 6]>This is IE 6<br><![endif] -->
|
||||
| "
|
||||
"
|
||||
| <!-- [if IE 7]>This is IE 7<br><![endif] -->
|
||||
| "
|
||||
"
|
||||
| <!-- [if IE 8]>This is IE 8<br><![endif] -->
|
||||
| "
|
||||
"
|
||||
| <!-- [if IE 9]>This is IE 9<br><![endif] -->
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,24 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| "
|
||||
"
|
||||
| <!--
|
||||
<p>Look at this cool image:</p>
|
||||
<img border="0" src="pic_trulli.jpg" alt="Trulli">
|
||||
-->
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "This is a paragraph too."
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
19
crates/swc_html_parser/tests/fixture/document/dom.rust-debug
Normal file
19
crates/swc_html_parser/tests/fixture/document/dom.rust-debug
Normal file
@ -0,0 +1,19 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h1>
|
||||
| "My First Heading"
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| "My first paragraph."
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,19 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Title of the document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
The content of the document......
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,4 @@
|
||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,19 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Title of the document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
The content of the document......
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,23 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <a>
|
||||
| href="https://example.com"
|
||||
| "First"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,78 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <h:ællæ>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| ⚡=""
|
||||
| "
|
||||
"
|
||||
| <some-tag-1>
|
||||
| <some-tag-2>
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| href="test.html"
|
||||
| <div>
|
||||
| "hey"
|
||||
| "
|
||||
"
|
||||
| <custom-tag>
|
||||
| <div>
|
||||
| "Hello :)"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
|
||||
test
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Test
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "test"
|
||||
| "
|
||||
"
|
@ -0,0 +1,29 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| " O'er all the hilltops"
|
||||
| <br>
|
||||
| "
|
||||
Is quiet now,"
|
||||
| <br>
|
||||
| "
|
||||
In all the treetops"
|
||||
| <br>
|
||||
| "
|
||||
Hearest thou"
|
||||
| <br>
|
||||
| "
|
||||
Hardly a breath;"
|
||||
| <br>
|
||||
| "
|
||||
The birds are asleep in the trees:"
|
||||
| <br>
|
||||
| "
|
||||
Wait, soon like these"
|
||||
| <br>
|
||||
| "
|
||||
Thou too shalt rest.
|
||||
"
|
||||
| "
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <button>
|
||||
| <p>
|
||||
| "x
|
||||
"
|
@ -0,0 +1,75 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <popup-info>
|
||||
| data-text="Your card validation code (CVC)
|
||||
is an extra security feature — it is the last 3 or 4 numbers on the
|
||||
back of your card."
|
||||
| img="img/alt.png"
|
||||
| "
|
||||
|
||||
"
|
||||
| <custom-square>
|
||||
| c="red"
|
||||
| l="100"
|
||||
| "
|
||||
|
||||
"
|
||||
| <app-drawer>
|
||||
| disabled=""
|
||||
| open=""
|
||||
| "
|
||||
|
||||
"
|
||||
| <share-buttons>
|
||||
| "
|
||||
"
|
||||
| <social-button>
|
||||
| type="twitter"
|
||||
| <a>
|
||||
| href="..."
|
||||
| "Twitter"
|
||||
| "
|
||||
"
|
||||
| <social-button>
|
||||
| type="fb"
|
||||
| <a>
|
||||
| href="..."
|
||||
| "Facebook"
|
||||
| "
|
||||
"
|
||||
| <social-button>
|
||||
| type="plus"
|
||||
| <a>
|
||||
| href="..."
|
||||
| "G+"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <x-foo-with-markup>
|
||||
| "
|
||||
"
|
||||
| <b>
|
||||
| "I'm an x-foo-with-markup!"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <template>
|
||||
| content
|
||||
| id="x-foo-from-template"
|
||||
| "
|
||||
"
|
||||
| <style>
|
||||
| "
|
||||
p { color: green; }
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "I'm in Shadow DOM. My markup was stamped from a <template>."
|
||||
| "
|
||||
"
|
@ -0,0 +1,11 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <dialog>
|
||||
| open=""
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "Greetings, one and all!"
|
||||
| "
|
||||
"
|
@ -0,0 +1,36 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <embed>
|
||||
| height="200"
|
||||
| src="/media/examples/flower.mp4"
|
||||
| type="vide/webm"
|
||||
| width="200"
|
||||
| "
|
||||
"
|
||||
| <noembed>
|
||||
| "
|
||||
<h1>Alternative content</h1>
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <embed>
|
||||
| height="200"
|
||||
| src="/media/cc0-videos/flower.mp4"
|
||||
| type="video/webm"
|
||||
| width="250"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,96 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <form>
|
||||
| action=""
|
||||
| class="form-example"
|
||||
| method="get"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="form-example"
|
||||
| "
|
||||
"
|
||||
| <label>
|
||||
| for="name"
|
||||
| "Enter your name: "
|
||||
| "
|
||||
"
|
||||
| <input>
|
||||
| id="name"
|
||||
| name="name"
|
||||
| required=""
|
||||
| type="text"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="form-example"
|
||||
| "
|
||||
"
|
||||
| <label>
|
||||
| for="email"
|
||||
| "Enter your email: "
|
||||
| "
|
||||
"
|
||||
| <input>
|
||||
| id="email"
|
||||
| name="email"
|
||||
| required=""
|
||||
| type="email"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="form-example"
|
||||
| "
|
||||
"
|
||||
| <input>
|
||||
| type="submit"
|
||||
| value="Subscribe!"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <form>
|
||||
| method="post"
|
||||
| "
|
||||
"
|
||||
| <fieldset>
|
||||
| "
|
||||
"
|
||||
| <legend>
|
||||
| "Title"
|
||||
| "
|
||||
"
|
||||
| <label>
|
||||
| <input>
|
||||
| name="radio"
|
||||
| type="radio"
|
||||
| " Select me"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,50 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="text/html; charset=utf-8"
|
||||
| http-equiv="Content-Type"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Тег FRAMESET"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <frameset>
|
||||
| cols="*"
|
||||
| rows="80,*"
|
||||
| "
|
||||
"
|
||||
| <frame>
|
||||
| name="topFrame"
|
||||
| noresize=""
|
||||
| scrolling="no"
|
||||
| src="top.html"
|
||||
| "
|
||||
"
|
||||
| <frameset>
|
||||
| cols="80,*"
|
||||
| "
|
||||
"
|
||||
| <frame>
|
||||
| name="leftFrame"
|
||||
| noresize=""
|
||||
| scrolling="no"
|
||||
| src="left.html"
|
||||
| "
|
||||
"
|
||||
| <frame>
|
||||
| name="mainFrame"
|
||||
| src="main.html"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,34 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h1>
|
||||
| "This is heading 1"
|
||||
| "
|
||||
"
|
||||
| <h2>
|
||||
| "This is heading 2"
|
||||
| "
|
||||
"
|
||||
| <h3>
|
||||
| "This is heading 3"
|
||||
| "
|
||||
"
|
||||
| <h4>
|
||||
| "This is heading 4"
|
||||
| "
|
||||
"
|
||||
| <h5>
|
||||
| "This is heading 5"
|
||||
| "
|
||||
"
|
||||
| <h6>
|
||||
| "This is heading 6"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,21 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <iframe>
|
||||
| frameborder="0"
|
||||
| src="test.html"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,26 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h2>
|
||||
| "HTML Images"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "HTML images are defined with the img tag:"
|
||||
| "
|
||||
|
||||
"
|
||||
| <img>
|
||||
| alt="W3Schools.com"
|
||||
| height="142"
|
||||
| src="w3schools.jpg"
|
||||
| width="104"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <isindex>
|
||||
| "x"
|
||||
| "x"
|
@ -0,0 +1,79 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h2>
|
||||
| data-test="test"
|
||||
| "An Unordered HTML List"
|
||||
| "
|
||||
|
||||
"
|
||||
| <ul>
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Coffee"
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Tea"
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Milk"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <h2>
|
||||
| "An Ordered HTML List"
|
||||
| "
|
||||
|
||||
"
|
||||
| <ol>
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Coffee"
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Tea"
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "Milk"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <ul>
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "item1
|
||||
"
|
||||
| <li>
|
||||
| "item2
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <ul>
|
||||
| "
|
||||
"
|
||||
| <li>
|
||||
| "item1
|
||||
"
|
||||
| <li>
|
||||
| "item2
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,8 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <main>
|
||||
| <p>
|
||||
| "foo"
|
||||
| "bar"
|
@ -0,0 +1,44 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <marquee>
|
||||
| "This text will scroll from right to left"
|
||||
| "
|
||||
|
||||
"
|
||||
| <marquee>
|
||||
| direction="up"
|
||||
| "This text will scroll from bottom to top"
|
||||
| "
|
||||
|
||||
"
|
||||
| <marquee>
|
||||
| behavior="alternate"
|
||||
| direction="down"
|
||||
| height="200"
|
||||
| style="border:solid"
|
||||
| width="250"
|
||||
| "
|
||||
"
|
||||
| <marquee>
|
||||
| behavior="alternate"
|
||||
| "
|
||||
This text will bounce
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
502
crates/swc_html_parser/tests/fixture/element/math/dom.rust-debug
Normal file
502
crates/swc_html_parser/tests/fixture/element/math/dom.rust-debug
Normal file
@ -0,0 +1,502 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "MathML in HTML5"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "a"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "+"
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "b"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "="
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "c"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| xmlns="http://www.w3.org/1998/Math/MathML"
|
||||
| "
|
||||
"
|
||||
| <math matrix>
|
||||
| "
|
||||
"
|
||||
| <math matrixrow>
|
||||
| "
|
||||
"
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 1 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math matrixrow>
|
||||
| "
|
||||
"
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 1 "
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math matrixrow>
|
||||
| "
|
||||
"
|
||||
| <math cn>
|
||||
| " 1 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| " "
|
||||
| <math cn>
|
||||
| " 0 "
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| xmlns="http://www.w3.org/1998/Math/MathML"
|
||||
| "
|
||||
"
|
||||
| <math infinity>
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math semantics>
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Presentation MathML -->
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "+"
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Content MathML -->
|
||||
| "
|
||||
"
|
||||
| <math annotation-xml>
|
||||
| encoding="MathML-Content"
|
||||
| "
|
||||
"
|
||||
| <math apply>
|
||||
| "
|
||||
"
|
||||
| <math plus>
|
||||
| "
|
||||
"
|
||||
| <math apply>
|
||||
| "
|
||||
"
|
||||
| <math power>
|
||||
| "
|
||||
"
|
||||
| <math ci>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math cn>
|
||||
| type="integer"
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math ci>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- annotate an image -->
|
||||
| "
|
||||
"
|
||||
| <math annotation>
|
||||
| encoding="image/png"
|
||||
| src="some/path/formula.png"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- annotate TeX -->
|
||||
| "
|
||||
"
|
||||
| <math annotation>
|
||||
| encoding="application/x-tex"
|
||||
| "
|
||||
x^{2} + y
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math mtable>
|
||||
| "
|
||||
"
|
||||
| <math mtr>
|
||||
| groupalign="{left}"
|
||||
| "
|
||||
"
|
||||
| <math mtd>
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| ""
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mi>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mo>
|
||||
| "+"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mi>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mo>
|
||||
| "="
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "-"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mn>
|
||||
| "5"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mtr>
|
||||
| "
|
||||
"
|
||||
| <math mtd>
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mi>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mo>
|
||||
| "-"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| ""
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mi>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mo>
|
||||
| "="
|
||||
| "
|
||||
"
|
||||
| <math maligngroup>
|
||||
| <math mn>
|
||||
| "1"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
|
||||
"
|
||||
| <math mtext>
|
||||
| " Theorem of Pythagoras "
|
||||
| "
|
||||
|
||||
"
|
||||
| <math mtext>
|
||||
| " /* comment here */ "
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math mtext>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "test"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| " x "
|
||||
| "
|
||||
"
|
||||
| <math malignmark>
|
||||
| edge="right"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| " 2 "
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math annotation-xml>
|
||||
| "
|
||||
"
|
||||
| <svg svg>
|
||||
| height="220px"
|
||||
| style="font-size: 20px"
|
||||
| viewBox="0 0 200 110"
|
||||
| width="400px"
|
||||
| "
|
||||
"
|
||||
| <svg g>
|
||||
| transform="translate(10,80)"
|
||||
| "
|
||||
"
|
||||
| <svg path>
|
||||
| d="M 0 0 L 150 0 A 75 75 0 0 0 0 0
|
||||
M 30 0 L 30 -60 M 30 -10 L 40 -10 L 40 0"
|
||||
| fill="none"
|
||||
| stroke="black"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| transform="translate(10,20)"
|
||||
| "1"
|
||||
| "
|
||||
"
|
||||
| <svg switch>
|
||||
| transform="translate(35,-40)"
|
||||
| "
|
||||
"
|
||||
| <svg foreignObject>
|
||||
| height="50"
|
||||
| requiredExtensions="http://www.w3.org/1998/Math/MathML"
|
||||
| width="200"
|
||||
| "
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math msqrt>
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "r"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "−"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "1"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| "\sqrt{2r - 1}"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,10 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <title>
|
||||
| "Saving money, saving bytes"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| <p>
|
||||
| "Qed."
|
@ -0,0 +1,36 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <object>
|
||||
| data="image.svg"
|
||||
| type="image/svg+xml"
|
||||
| <div>
|
||||
| "[fallback image]"
|
||||
| "
|
||||
|
||||
"
|
||||
| <object>
|
||||
| data="horse.wav"
|
||||
| "
|
||||
"
|
||||
| <param>
|
||||
| name="autoplay"
|
||||
| value="true"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,18 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "This is another paragraph."
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| <table>
|
||||
| "
|
||||
"
|
@ -0,0 +1,45 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "Test"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "
|
||||
Test
|
||||
Test
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "One
|
||||
"
|
||||
| <p>
|
||||
| "Two
|
||||
|
||||
"
|
||||
| <p>
|
||||
| <object>
|
||||
| <param>
|
||||
| <ins>
|
||||
| <map>
|
||||
| <a>
|
||||
| href="/"
|
||||
| "Apples"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <pre>
|
||||
| "
|
||||
A"
|
@ -0,0 +1,6 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <pre>
|
||||
| "A"
|
@ -0,0 +1,52 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| charset="UTF-8"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
||||
| name="viewport"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="ie=edge"
|
||||
| http-equiv="X-UA-Compatible"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <pre>
|
||||
| " L TE
|
||||
A A
|
||||
C V
|
||||
R A
|
||||
DOU
|
||||
LOU
|
||||
REUSE
|
||||
QUE TU
|
||||
PORTES
|
||||
ET QUI T'
|
||||
ORNE O CI
|
||||
VILISÉ
|
||||
OTE- TU VEUX
|
||||
LA BIEN
|
||||
SI RESPI
|
||||
RER - Apollinaire
|
||||
test
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,8 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <ruby>
|
||||
| "a"
|
||||
| <rb>
|
||||
| "b"
|
||||
| <rt>
|
@ -0,0 +1,10 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <ruby>
|
||||
| "a"
|
||||
| <rb>
|
||||
| "b"
|
||||
| <rtc>
|
||||
| "
|
||||
"
|
@ -0,0 +1,10 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <ruby>
|
||||
| "a"
|
||||
| <rb>
|
||||
| "b"
|
||||
| <rb>
|
||||
| "
|
||||
"
|
@ -0,0 +1,18 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <script>
|
||||
| type="text/javascript"
|
||||
| "
|
||||
//<![CDATA[
|
||||
document.write("<");
|
||||
//]]>
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "
|
||||
let foo = "<!--<script>-->";
|
||||
|
||||
console.log(foo);
|
||||
"
|
||||
| <body>
|
@ -0,0 +1,26 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| type="text/html"
|
||||
| "
|
||||
<div>
|
||||
test
|
||||
</div>
|
||||
<!-- aa -->\n
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,22 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <select>
|
||||
| <option>
|
||||
| "foo"
|
||||
| <option>
|
||||
| "bar"
|
||||
| "
|
||||
"
|
||||
| <select>
|
||||
| <option>
|
||||
| "foo"
|
||||
| <option>
|
||||
| "bar"
|
||||
| "
|
||||
"
|
||||
| <select>
|
||||
| <option>
|
||||
| "foo"
|
||||
| "
|
||||
"
|
372
crates/swc_html_parser/tests/fixture/element/svg/dom.rust-debug
Normal file
372
crates/swc_html_parser/tests/fixture/element/svg/dom.rust-debug
Normal file
@ -0,0 +1,372 @@
|
||||
| <html>
|
||||
| xmlns="http://www.w3.org/1999/xhtml"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "XTech SVG Demo"
|
||||
| "
|
||||
"
|
||||
| <style>
|
||||
| "
|
||||
stop.begin { stop-color:yellow; }
|
||||
stop.end { stop-color:green; }
|
||||
body.invalid stop.end { stop-color:red; }
|
||||
#err { display:none; }
|
||||
body.invalid #err { display:inline; }
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| "
|
||||
function signalError() {
|
||||
document.getElementById('body').setAttribute("class", "invalid");
|
||||
}
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| id="body"
|
||||
| style="position:absolute; z-index:0; border:1px solid black; left:5%; top:5%; width:90%; height:90%;"
|
||||
| "
|
||||
"
|
||||
| <form>
|
||||
| "
|
||||
"
|
||||
| <fieldset>
|
||||
| "
|
||||
"
|
||||
| <legend>
|
||||
| "HTML Form"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| <label>
|
||||
| "Введите что-нибудь:"
|
||||
| "
|
||||
"
|
||||
| <input>
|
||||
| type="text"
|
||||
| "
|
||||
"
|
||||
| <span>
|
||||
| id="err"
|
||||
| "Incorrect value!"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| <input>
|
||||
| onclick="signalError();"
|
||||
| type="button"
|
||||
| value="Activate!"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| baseProfile="test"
|
||||
| preserveAspectRatio="xMidYMid slice"
|
||||
| style="width:100%; height:100%; position:absolute; top:0; left:0; z-index:-1;"
|
||||
| version="1.1"
|
||||
| viewBox="0 0 100 100"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg linearGradient>
|
||||
| id="gradient"
|
||||
| "
|
||||
"
|
||||
| <svg stop>
|
||||
| class="begin"
|
||||
| offset="0%"
|
||||
| "
|
||||
"
|
||||
| <svg stop>
|
||||
| class="end"
|
||||
| offset="100%"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <svg rect>
|
||||
| height="100"
|
||||
| style="fill:url(#gradient)"
|
||||
| width="100"
|
||||
| x="0"
|
||||
| y="0"
|
||||
| "
|
||||
"
|
||||
| <svg circle>
|
||||
| cx="50"
|
||||
| cy="50"
|
||||
| r="30"
|
||||
| style="fill:url(#gradient)"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| viewBox="0 0 420 200"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg filter>
|
||||
| height="100%"
|
||||
| id="noise1"
|
||||
| width="100%"
|
||||
| x="0"
|
||||
| y="0"
|
||||
| "
|
||||
"
|
||||
| <svg feTurbulence>
|
||||
| baseFrequency="0.025"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <svg filter>
|
||||
| height="100%"
|
||||
| id="noise2"
|
||||
| width="100%"
|
||||
| x="0"
|
||||
| y="0"
|
||||
| "
|
||||
"
|
||||
| <svg feTurbulence>
|
||||
| baseFrequency="0.05"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg rect>
|
||||
| height="200"
|
||||
| style="filter: url(#noise1);"
|
||||
| width="200"
|
||||
| x="0"
|
||||
| y="0"
|
||||
| "
|
||||
"
|
||||
| <svg rect>
|
||||
| height="200"
|
||||
| style="filter: url(#noise2); transform: translateX(220px);"
|
||||
| width="200"
|
||||
| x="0"
|
||||
| y="0"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| viewBox="0 0 200 100"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| xml lang="en-US"
|
||||
| "This is some English text"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| height="200"
|
||||
| version="1.1"
|
||||
| width="200"
|
||||
| xmlns xlink="http://www.w3.org/1999/xlink"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg image>
|
||||
| height="146"
|
||||
| xlink href="https://developer.mozilla.org/en-US/docs/Web/SVG/Element/image/mdn_logo_only_color.png"
|
||||
| transform="rotate(45)"
|
||||
| width="128"
|
||||
| x="90"
|
||||
| y="-65"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| viewBox="0 0 140 50"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| xml space="default"
|
||||
| y="20"
|
||||
| "Default spacing"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| xml space="preserve"
|
||||
| y="40"
|
||||
| "Preserved spacing"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| viewBox="0 0 200 100"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| xml lang="en-US"
|
||||
| "This is some English text"
|
||||
| "
|
||||
"
|
||||
| <svg a>
|
||||
| xlink href="http://example.com/link/"
|
||||
| xlink title="The link leads to an example page that is of little interest"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| x="10"
|
||||
| y="25"
|
||||
| "An example link."
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| viewBox="0 0 200 200"
|
||||
| xmlns="http://www.w3.org/2000/svg"
|
||||
| "
|
||||
"
|
||||
| <svg style>
|
||||
| "
|
||||
div {
|
||||
color: white;
|
||||
font: 18px serif;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg polygon>
|
||||
| points="5,5 195,10 185,185 10,195"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Common use case: embed HTML text into SVG -->
|
||||
| "
|
||||
"
|
||||
| <svg foreignObject>
|
||||
| height="160"
|
||||
| width="160"
|
||||
| x="20"
|
||||
| y="20"
|
||||
| "
|
||||
"
|
||||
| <!--
|
||||
In the context of SVG embedded in an HTML document, the XHTML
|
||||
namespace could be omitted, but it is mandatory in the
|
||||
context of an SVG document
|
||||
-->
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| xmlns="http://www.w3.org/1999/xhtml"
|
||||
| "
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
Sed mollis mollis mi ut ultricies. Nullam magna ipsum,
|
||||
porta vel dui convallis, rutrum imperdiet eros. Aliquam
|
||||
erat volutpat.
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <svg svg>
|
||||
| height="220px"
|
||||
| style="font-size: 20px"
|
||||
| viewBox="0 0 200 110"
|
||||
| width="400px"
|
||||
| "
|
||||
"
|
||||
| <svg g>
|
||||
| transform="translate(10,80)"
|
||||
| "
|
||||
"
|
||||
| <svg path>
|
||||
| d="M 0 0 L 150 0 A 75 75 0 0 0 0 0
|
||||
M 30 0 L 30 -60 M 30 -10 L 40 -10 L 40 0"
|
||||
| fill="none"
|
||||
| stroke="black"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| transform="translate(10,20)"
|
||||
| "1"
|
||||
| "
|
||||
"
|
||||
| <svg switch>
|
||||
| transform="translate(35,-40)"
|
||||
| "
|
||||
"
|
||||
| <svg foreignObject>
|
||||
| height="50"
|
||||
| requiredExtensions="http://www.w3.org/1998/Math/MathML"
|
||||
| width="200"
|
||||
| "
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math msqrt>
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "r"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "−"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "1"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <svg text>
|
||||
| "\sqrt{2r - 1}"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,308 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| charset="UTF-8"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
||||
| name="viewport"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="ie=edge"
|
||||
| http-equiv="X-UA-Compatible"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <table>
|
||||
| "
|
||||
"
|
||||
| <tbody>
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| " "
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Knocky"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Flor"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Ella"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Juan"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Breed"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Jack Russell"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Poodle"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Streetdog"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Cocker Spaniel"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Age"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "16"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "9"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "10"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "5"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Owner"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Mother-in-law"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Me"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Me"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Sister-in-law"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Eating Habits"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Eats everyone's leftovers"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Nibbles at food"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Hearty eater"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Will eat till he explodes"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <table>
|
||||
| "
|
||||
"
|
||||
| <thead>
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <th>
|
||||
| "Student ID"
|
||||
| "
|
||||
"
|
||||
| <th>
|
||||
| "Name"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tbody>
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <th>
|
||||
| colspan="2"
|
||||
| "Computer Science"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "3741255"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Jones, Martha"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "4077830"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Pierce, Benjamin"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "5151701"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Kirk, James"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tbody>
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <th>
|
||||
| colspan="2"
|
||||
| "Russian Literature"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "3971244"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Nim, Victor"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tbody>
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <th>
|
||||
| colspan="2"
|
||||
| "Astrophysics"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "4100332"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Petrov, Alexandra"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <tr>
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "8892377"
|
||||
| "
|
||||
"
|
||||
| <td>
|
||||
| "Toyota, Hiroko"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,86 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <template>
|
||||
| content
|
||||
| id="element-details-template"
|
||||
| "
|
||||
"
|
||||
| <style>
|
||||
| "
|
||||
details {font-family: "Open Sans Light", Helvetica, Arial, sans-serif }
|
||||
.name {font-weight: bold; color: #217ac0; font-size: 120% }
|
||||
h4 {
|
||||
margin: 10px 0 -8px 0;
|
||||
background: #217ac0;
|
||||
color: white;
|
||||
padding: 2px 6px;
|
||||
border: 1px solid #cee9f9;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.attributes { margin-left: 22px; font-size: 90% }
|
||||
.attributes p { margin-left: 16px; font-style: italic }
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <details>
|
||||
| "
|
||||
"
|
||||
| <summary>
|
||||
| "
|
||||
"
|
||||
| <code>
|
||||
| class="name"
|
||||
| "<"
|
||||
| <slot>
|
||||
| name="element-name"
|
||||
| "NEED NAME"
|
||||
| ">"
|
||||
| "
|
||||
"
|
||||
| <i>
|
||||
| class="desc"
|
||||
| <slot>
|
||||
| name="description"
|
||||
| "NEED DESCRIPTION"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| class="attributes"
|
||||
| "
|
||||
"
|
||||
| <h4>
|
||||
| "Attributes"
|
||||
| "
|
||||
"
|
||||
| <slot>
|
||||
| name="attributes"
|
||||
| <p>
|
||||
| "None"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <hr>
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,41 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <label>
|
||||
| for="story"
|
||||
| "Tell us your story:"
|
||||
| "
|
||||
|
||||
"
|
||||
| <textarea>
|
||||
| cols="33"
|
||||
| id="story"
|
||||
| name="story"
|
||||
| rows="5"
|
||||
| "
|
||||
|
||||
|
||||
test
|
||||
test
|
||||
test
|
||||
|
||||
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,31 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "Text
|
||||
"
|
||||
| <div>
|
||||
| "Text"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Text
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Text
|
||||
|
||||
|
||||
Text
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "Text
|
||||
|
||||
|
||||
Text"
|
||||
| "
|
||||
"
|
35
crates/swc_html_parser/tests/fixture/text/cr/dom.rust-debug
Normal file
35
crates/swc_html_parser/tests/fixture/text/cr/dom.rust-debug
Normal file
@ -0,0 +1,35 @@
|
||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "Text
"
|
||||
| <div>
|
||||
| "Text"
|
||||
| "
"
|
||||
| <div>
|
||||
| "
Text
"
|
||||
| "
"
|
||||
| <div>
|
||||
| "
Text
Text
"
|
||||
| "
"
|
||||
| <div>
|
||||
| "Text
Text"
|
||||
| "
"
|
||||
| <div>
|
||||
| test="test"
|
||||
| "
"
|
||||
| "
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
"
|
||||
| "
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
"
|
||||
| "
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
"
|
||||
| "
"
|
||||
| <style>
|
||||
| "
.color {
color: red;
<!-- Test -->
}
"
|
199
crates/swc_html_parser/tests/fixture/text/entity/dom.rust-debug
Normal file
199
crates/swc_html_parser/tests/fixture/text/entity/dom.rust-debug
Normal file
@ -0,0 +1,199 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <h1>
|
||||
| "HTML Entity Example"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "A space character: &"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "A space character: &"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "A space character: &;"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "A space character: "
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The less-than sign: <"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The greater-than sign: >"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The double quote sign: ""
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The single quote sign: '"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The cent sign: ¢"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The pound sign: £"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The yen sign: ¥"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The euro sign: €"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The copyright sign: ©"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "The registered trade mark sign: ®"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "®"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "®"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "®;"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "reg"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "∳"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "&®"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "An a with a grave accent: à"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An a with an acute accent: á"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An a with a circumflex accent: â"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An a with a tilde: ã"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An o with a grave accent: ò"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An o with an acute accent: ó"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An o with a circumflex accent: ô"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "An o with a tilde: õ"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "A space character: &&"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "I'm ∉ I tell you"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "I'm ¬ I tell you"
|
||||
| "
|
||||
|
||||
"
|
||||
| <a>
|
||||
| href="http://lmgtfy.com/?l=1&q=rick+roll"
|
||||
| "tired meme"
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| href="#"
|
||||
| onclick="window.location='?l=1&q=rick+roll';return false"
|
||||
| "
|
||||
kablammo!
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "✕"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "✕"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "✕"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "$"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "$"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "$"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "$"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "$"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "I'm ∉ I tell you"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
|
||||
"
|
69
crates/swc_html_parser/tests/fixture/text/lf/dom.rust-debug
Normal file
69
crates/swc_html_parser/tests/fixture/text/lf/dom.rust-debug
Normal file
@ -0,0 +1,69 @@
|
||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "Text
|
||||
"
|
||||
| <div>
|
||||
| "Text"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Text
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Text
|
||||
|
||||
|
||||
Text
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "Text
|
||||
|
||||
|
||||
Text"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| test="test"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| data-q="test"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <style>
|
||||
| "
|
||||
|
||||
.color {
|
||||
color: red;
|
||||
<!-- Test -->
|
||||
}
|
||||
|
||||
"
|
@ -0,0 +1,16 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
"
|
||||
| <title>
|
||||
| "
Test
"
|
||||
| "
"
|
||||
| "
"
|
||||
| <body>
|
||||
| "
"
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| "
"
|
||||
| <p>
|
||||
| "This is another paragraph."
|
||||
| "
"
|
@ -0,0 +1,30 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "
|
||||
|
||||
Test
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "This is another paragraph."
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,3 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,4 @@
|
||||
| <!-- test -->
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,4 @@
|
||||
| <!-- test> -->
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,6 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "FOO"
|
||||
| <!-- -->
|
||||
| "BAZ"
|
@ -0,0 +1,4 @@
|
||||
| <!-- –– Failing New York Times Comment -- -->
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,23 @@
|
||||
| <!-- [CDATA[
|
||||
Within this Character Data block I can
|
||||
use double dashes as much as I want (along with <, &, ', and ")
|
||||
*and* %MyParamEntity; will be expanded to the text
|
||||
"Has been expanded" ... however, I can't use
|
||||
the CEND sequence. If I need to use CEND I must escape one of the
|
||||
brackets or the greater-than sign using concatenated CDATA sections.
|
||||
]] -->
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| "test"
|
||||
| "
|
||||
"
|
||||
| <!-- [cdata[
|
||||
Within this Character Data block I can
|
||||
use double dashes as much as I want (along with <, &, ', and ")
|
||||
*and* %MyParamEntity; will be expanded to the text
|
||||
"Has been expanded" ... however, I can't use
|
||||
the CEND sequence. If I need to use CEND I must escape one of the
|
||||
brackets or the greater-than sign using concatenated CDATA sections.
|
||||
]] -->
|
@ -0,0 +1,5 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| <!-- [CDATA[foo]] -->
|
@ -0,0 +1,58 @@
|
||||
| <!-- ?xml version="1.0" encoding="UTF-8"? -->
|
||||
| <!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
| <html>
|
||||
| xml:lang="en"
|
||||
| xmlns="http://www.w3.org/1999/xhtml"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "XHTML 1.0 Strict Example"
|
||||
| "
|
||||
"
|
||||
| <script>
|
||||
| type="application/javascript"
|
||||
| "
|
||||
<![CDATA[
|
||||
function loadpdf() {
|
||||
document.getElementById("pdf-object").src="http://www.w3.org/TR/xhtml1/xhtml1.pdf";
|
||||
}
|
||||
]]>
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| onload="loadpdf()"
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "This is an example of an
|
||||
"
|
||||
| <abbr>
|
||||
| title="Extensible HyperText Markup Language"
|
||||
| "XHTML"
|
||||
| " 1.0 Strict document."
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <img>
|
||||
| alt="Valid XHTML 1.0 Strict"
|
||||
| id="validation-icon"
|
||||
| src="http://www.w3.org/Icons/valid-xhtml10"
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <object>
|
||||
| data="http://www.w3.org/TR/xhtml1/xhtml1.pdf"
|
||||
| height="500"
|
||||
| id="pdf-object"
|
||||
| type="application/pdf"
|
||||
| width="100%"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,6 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <textarea>
|
||||
| "<!--"
|
||||
| "-->"
|
@ -0,0 +1,4 @@
|
||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
@ -0,0 +1,14 @@
|
||||
| <!DOCTYPE >
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <a>
|
||||
| href="https://www.w3schools.com"
|
||||
| "This is a link"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,13 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| " "
|
||||
| <p>
|
||||
| "This is a paragraph."
|
||||
| " "
|
||||
| <p>
|
||||
| "This is another paragraph."
|
||||
| " "
|
||||
| <div>
|
||||
| "test"
|
@ -0,0 +1,5 @@
|
||||
| <!DOCTYPE potato>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "Hello"
|
@ -0,0 +1,5 @@
|
||||
| <!DOCTYPE >
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "Hello"
|
@ -0,0 +1,15 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <a>
|
||||
| href="https://www.w3schools.com"
|
||||
| "This is a link"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,9 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| "1"
|
||||
| <p>
|
||||
| <a>
|
||||
| "2"
|
||||
| "3"
|
@ -0,0 +1,9 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| "1"
|
||||
| <button>
|
||||
| <a>
|
||||
| "2"
|
||||
| "3"
|
@ -0,0 +1,13 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| "1"
|
||||
| <div>
|
||||
| <a>
|
||||
| "2"
|
||||
| <div>
|
||||
| <a>
|
||||
| "3"
|
||||
| "4"
|
||||
| "5"
|
@ -0,0 +1,10 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| "1"
|
||||
| <p>
|
||||
| <a>
|
||||
| "2"
|
||||
| "3"
|
||||
| <table>
|
@ -0,0 +1,6 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| <p>
|
||||
| <a>
|
@ -0,0 +1,8 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <a>
|
||||
| <applet>
|
||||
| <a>
|
||||
| "x
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <b>
|
||||
| <applet>
|
||||
| "x
|
||||
"
|
@ -0,0 +1,27 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "1"
|
||||
| <b>
|
||||
| "2"
|
||||
| <i>
|
||||
| "3"
|
||||
| <i>
|
||||
| "4"
|
||||
| "5"
|
||||
| "
|
||||
|
||||
"
|
@ -0,0 +1,10 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <b>
|
||||
| <p>
|
||||
| <b>
|
||||
| "Bold "
|
||||
| " Not bold"
|
||||
| "
|
||||
Also not bold."
|
@ -0,0 +1,9 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <b>
|
||||
| <a>
|
||||
| <b>
|
||||
| <b>
|
||||
| <p>
|
||||
| <a>
|
@ -0,0 +1,9 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <b>
|
||||
| "1"
|
||||
| <p>
|
||||
| <b>
|
||||
| "2"
|
||||
| "3"
|
@ -0,0 +1,16 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| test="test"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Test"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,36 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| charset="UTF-8"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"
|
||||
| name="viewport"
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="ie=edge"
|
||||
| http-equiv="X-UA-Compatible"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
test"
|
||||
| <br>
|
||||
| "test
|
||||
test"
|
||||
| <br>
|
||||
| "test
|
||||
|
||||
"
|
@ -0,0 +1,83 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| "
|
||||
"
|
||||
| <h:ællæ>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| ⚡=""
|
||||
| "
|
||||
"
|
||||
| <some-tag-1>
|
||||
| <some-tag-2>
|
||||
| "
|
||||
"
|
||||
| <a>
|
||||
| href="test.html"
|
||||
| <div>
|
||||
| "hey"
|
||||
| "
|
||||
"
|
||||
| <custom-tag>
|
||||
| <div>
|
||||
| "Hello :)"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
|
||||
test
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <br>
|
||||
| data-test="a"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "
|
||||
Test
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <div>
|
||||
| "test"
|
||||
| "
|
||||
"
|
||||
| <div>
|
||||
| "test"
|
@ -0,0 +1,30 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| lang="en"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Document"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <embed>
|
||||
| height="200"
|
||||
| src="/media/examples/flower.mp4"
|
||||
| type="vide/webm"
|
||||
| width="200"
|
||||
| "
|
||||
"
|
||||
| <noembed>
|
||||
| "
|
||||
<h1>Alternative content</h1>
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,18 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| <font>
|
||||
| size="4"
|
||||
| <font>
|
||||
| color="red"
|
||||
| <font>
|
||||
| color="red"
|
||||
| <p>
|
||||
| <font>
|
||||
| size="4"
|
||||
| <font>
|
||||
| color="red"
|
||||
| <font>
|
||||
| color="red"
|
||||
| "X"
|
@ -0,0 +1,10 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| "foo"
|
||||
| <hgroup>
|
||||
| "bar"
|
||||
| <p>
|
||||
| "baz"
|
@ -0,0 +1,4 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <isindex>
|
@ -0,0 +1,11 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| "xxx"
|
||||
| <svg svg>
|
||||
| <svg x>
|
||||
| <svg g>
|
||||
| <svg a>
|
||||
| <svg main>
|
||||
| <b>
|
@ -0,0 +1,10 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| "foo"
|
||||
| <main>
|
||||
| "bar"
|
||||
| <p>
|
||||
| "baz"
|
@ -0,0 +1,141 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| xmlns="http://www.w3.org/1999/xhtml"
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "MathML in HTML5"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
|
||||
"
|
||||
| <math math>
|
||||
| "
|
||||
"
|
||||
| <math semantics>
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Presentation MathML -->
|
||||
| "
|
||||
"
|
||||
| <math mrow>
|
||||
| "
|
||||
"
|
||||
| <math msup>
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math mn>
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math mo>
|
||||
| "+"
|
||||
| "
|
||||
"
|
||||
| <math mi>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Content MathML -->
|
||||
| "
|
||||
"
|
||||
| <math annotation-xml>
|
||||
| encoding="MathML-Content"
|
||||
| "
|
||||
"
|
||||
| <math apply>
|
||||
| "
|
||||
"
|
||||
| <math plus>
|
||||
| "
|
||||
"
|
||||
| <math apply>
|
||||
| "
|
||||
"
|
||||
| <math power>
|
||||
| "
|
||||
"
|
||||
| <math ci>
|
||||
| "x"
|
||||
| "
|
||||
"
|
||||
| <math cn>
|
||||
| type="integer"
|
||||
| "2"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <math ci>
|
||||
| "y"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- Content HTML -->
|
||||
| "
|
||||
"
|
||||
| <math annotation-xml>
|
||||
| encoding="application/xhtml+xml"
|
||||
| "
|
||||
|
||||
"
|
||||
| <title>
|
||||
| "INNER HTML TITLE"
|
||||
| "
|
||||
|
||||
"
|
||||
| <p>
|
||||
| "The base of the natural logarithms, approximately 2.71828."
|
||||
| "
|
||||
|
||||
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- annotate an image -->
|
||||
| "
|
||||
"
|
||||
| <math annotation>
|
||||
| encoding="image/png"
|
||||
| src="some/path/formula.png"
|
||||
| "
|
||||
|
||||
"
|
||||
| <!-- annotate TeX -->
|
||||
| "
|
||||
"
|
||||
| <math annotation>
|
||||
| encoding="application/x-tex"
|
||||
| "
|
||||
x^{2} + y
|
||||
"
|
||||
| "
|
||||
|
||||
"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
|
||||
|
||||
|
||||
"
|
@ -0,0 +1,7 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <li>
|
||||
| <menuitem>
|
||||
| <li>
|
@ -0,0 +1,7 @@
|
||||
| <!DOCTYPE html>
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <nobr>
|
||||
| <nobr>
|
||||
| <nobr>
|
@ -0,0 +1,5 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <nobr>
|
||||
| "X"
|
@ -0,0 +1,5 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <noscript>
|
||||
| <!-- foo -->
|
||||
| <body>
|
@ -0,0 +1,6 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <div>
|
||||
| <p>
|
||||
| "a b"
|
@ -0,0 +1,7 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| <table>
|
||||
| "
|
||||
"
|
@ -0,0 +1,8 @@
|
||||
| <html>
|
||||
| <head>
|
||||
| <body>
|
||||
| <p>
|
||||
| "a"
|
||||
| <p>
|
||||
| "b"
|
||||
| <p>
|
@ -0,0 +1,48 @@
|
||||
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
| <html>
|
||||
| <head>
|
||||
| "
|
||||
"
|
||||
| <meta>
|
||||
| content="text/html; charset=utf-8"
|
||||
| http-equiv="Content-Type"
|
||||
| "
|
||||
"
|
||||
| <title>
|
||||
| "Тег PLAINTEXT"
|
||||
| "
|
||||
"
|
||||
| "
|
||||
"
|
||||
| <body>
|
||||
| "
|
||||
"
|
||||
| <p>
|
||||
| "Пример программы"
|
||||
| "
|
||||
"
|
||||
| <plaintext>
|
||||
| "
|
||||
<h1>Демонстрация метода Подборского</h1>
|
||||
while (<>) {
|
||||
$org=$_;
|
||||
s/\\["']//g;
|
||||
s/\/\/[^:].*//;
|
||||
s/\/\*.*\*\///g;
|
||||
if ($comment == 1) {
|
||||
if (s/.*\*\///) {
|
||||
$comment = 0;
|
||||
}
|
||||
else {
|
||||
next;
|
||||
}
|
||||
}
|
||||
if (s/\/\*.*//) {
|
||||
$comment = 1;
|
||||
}
|
||||
if (/^\s*#/) {
|
||||
next;
|
||||
}
|
||||
}</plaintext>
|
||||
</body>
|
||||
</html>"
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user