test(html/parser): Add dom visualizer for regular tests (#4622)

This commit is contained in:
Alexander Akait 2022-05-12 05:58:51 +03:00 committed by GitHub
parent 97808349a2
commit 4e577d7f45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
127 changed files with 4276 additions and 7 deletions

View File

@ -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> {

View File

@ -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"

View File

@ -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="= = = ="
| "
"

View File

@ -0,0 +1,15 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| "
"
| <a>
| href="https://www.w3schools.com"
| "This is a link"
| "
"

View File

@ -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."
| "
"

View File

@ -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 -->

View File

@ -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 -->
| "
"

View File

@ -0,0 +1,26 @@
| <!-- test -->
| <!-- foo -->
| <html>
| <head>
| <body>
| <div>
| "baz"
| <!-- bar
moo -->
| "
"
| <script>
| "<!-- alert(1) -->"
| "
"
| <script>
| "alert('<!--')"
| "
"
| <script>
| "alert('<!-- foo -->')"
| "
"
| <script>
| "alert('-->')"

View File

@ -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] -->
| "
"

View File

@ -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."
| "
"

View File

@ -0,0 +1,19 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| "
"
| <h1>
| "My First Heading"
| "
"
| <p>
| "My first paragraph."
| "
"

View File

@ -0,0 +1,19 @@
| <!DOCTYPE html>
| <html>
| <head>
| "
"
| <title>
| "Title of the document"
| "
"
| "
"
| <body>
| "
The content of the document......
"

View File

@ -0,0 +1,4 @@
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
| <html>
| <head>
| <body>

View File

@ -0,0 +1,19 @@
| <!DOCTYPE html>
| <html>
| <head>
| "
"
| <title>
| "Title of the document"
| "
"
| "
"
| <body>
| "
The content of the document......
"

View File

@ -0,0 +1,23 @@
| <!DOCTYPE html>
| <html>
| lang="en"
| <head>
| "
"
| <title>
| "Document"
| "
"
| "
"
| <body>
| "
"
| <a>
| href="https://example.com"
| "First"
| "
"

View File

@ -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"
| "
"

View File

@ -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.
"
| "
"

View File

@ -0,0 +1,7 @@
| <html>
| <head>
| <body>
| <button>
| <p>
| "x
"

View File

@ -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>."
| "
"

View File

@ -0,0 +1,11 @@
| <html>
| <head>
| <body>
| <dialog>
| open=""
| "
"
| <p>
| "Greetings, one and all!"
| "
"

View File

@ -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"
| "
"

View File

@ -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"
| "
"
| "
"
| "
"

View File

@ -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"
| "
"
| "
"
| "
"

View File

@ -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"
| "
"

View File

@ -0,0 +1,21 @@
| <!DOCTYPE html>
| <html>
| lang="en"
| <head>
| "
"
| <title>
| "Document"
| "
"
| "
"
| <body>
| "
"
| <iframe>
| frameborder="0"
| src="test.html"
| "
"

View File

@ -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"
| "
"

View File

@ -0,0 +1,7 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <isindex>
| "x"
| "x"

View File

@ -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
"
| "
"

View File

@ -0,0 +1,8 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <main>
| <p>
| "foo"
| "bar"

View File

@ -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
"
| "
"
| "
"

View 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}"
| "
"
| "
"
| "
"
| "
"
| "
"
| "
"

View File

@ -0,0 +1,10 @@
| <!DOCTYPE html>
| <html>
| <head>
| <title>
| "Saving money, saving bytes"
| "
"
| <body>
| <p>
| "Qed."

View File

@ -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"
| "
"
| "
"

View File

@ -0,0 +1,18 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| "
"
| <p>
| "This is a paragraph."
| "
"
| <p>
| "This is another paragraph."
| "
"

View File

@ -0,0 +1,7 @@
| <html>
| <head>
| <body>
| <p>
| <table>
| "
"

View File

@ -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"
| "
"

View File

@ -0,0 +1,7 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <pre>
| "
A"

View File

@ -0,0 +1,6 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <pre>
| "A"

View File

@ -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
"
| "
"

View File

@ -0,0 +1,8 @@
| <html>
| <head>
| <body>
| <ruby>
| "a"
| <rb>
| "b"
| <rt>

View File

@ -0,0 +1,10 @@
| <html>
| <head>
| <body>
| <ruby>
| "a"
| <rb>
| "b"
| <rtc>
| "
"

View File

@ -0,0 +1,10 @@
| <html>
| <head>
| <body>
| <ruby>
| "a"
| <rb>
| "b"
| <rb>
| "
"

View File

@ -0,0 +1,18 @@
| <html>
| <head>
| <script>
| type="text/javascript"
| "
//<![CDATA[
document.write("<");
//]]>
"
| "
"
| <script>
| "
let foo = "<!--<script>-->";
console.log(foo);
"
| <body>

View File

@ -0,0 +1,26 @@
| <!DOCTYPE html>
| <html>
| lang="en"
| <head>
| "
"
| <title>
| "Document"
| "
"
| "
"
| <body>
| "
"
| <script>
| type="text/html"
| "
<div>
test
</div>
<!-- aa -->\n
"
| "
"

View File

@ -0,0 +1,22 @@
| <html>
| <head>
| <body>
| <select>
| <option>
| "foo"
| <option>
| "bar"
| "
"
| <select>
| <option>
| "foo"
| <option>
| "bar"
| "
"
| <select>
| <option>
| "foo"
| "
"

View 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}"
| "
"
| "
"
| "
"
| "
"

View File

@ -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"
| "
"
| "
"
| "
"
| "
"

View File

@ -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>
| "
"
| "
"

View File

@ -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
"
| "
"

View File

@ -0,0 +1,31 @@
| <html>
| <head>
| <body>
| "Text
"
| <div>
| "Text"
| "
"
| <div>
| "
Text
"
| "
"
| <div>
| "
Text
Text
"
| "
"
| <div>
| "Text
Text"
| "
"

View 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 --> } "

View 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"
| "
"

View 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 -->
}
"

View File

@ -0,0 +1,16 @@
| <!DOCTYPE html>
| <html>
| <head>
| " "
| <title>
| " Test "
| " "
| " "
| <body>
| " "
| <p>
| "This is a paragraph."
| " "
| <p>
| "This is another paragraph."
| " "

View File

@ -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

View File

@ -0,0 +1,3 @@
| <html>
| <head>
| <body>

View File

@ -0,0 +1,4 @@
| <!-- test -->
| <html>
| <head>
| <body>

View File

@ -0,0 +1,4 @@
| <!-- test> -->
| <html>
| <head>
| <body>

View File

@ -0,0 +1,6 @@
| <html>
| <head>
| <body>
| "FOO"
| <!-- -->
| "BAZ"

View File

@ -0,0 +1,4 @@
| <!-- Failing New York Times Comment -- -->
| <html>
| <head>
| <body>

View File

@ -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.
]] -->

View File

@ -0,0 +1,5 @@
| <html>
| <head>
| <body>
| <div>
| <!-- [CDATA[foo]] -->

View File

@ -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%"
| "
"
| "
"

View File

@ -0,0 +1,6 @@
| <html>
| <head>
| <body>
| <textarea>
| "<!--"
| "-->"

View File

@ -0,0 +1,4 @@
| <!DOCTYPE html "-//W3C//DTD HTML 4.01//EN" "">
| <html>
| <head>
| <body>

View File

@ -0,0 +1,14 @@
| <!DOCTYPE >
| <html>
| <head>
| <body>
| "
"
| <a>
| href="https://www.w3schools.com"
| "This is a link"
| "
"

View File

@ -0,0 +1,13 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| " "
| <p>
| "This is a paragraph."
| " "
| <p>
| "This is another paragraph."
| " "
| <div>
| "test"

View File

@ -0,0 +1,5 @@
| <!DOCTYPE potato>
| <html>
| <head>
| <body>
| "Hello"

View File

@ -0,0 +1,5 @@
| <!DOCTYPE >
| <html>
| <head>
| <body>
| "Hello"

View File

@ -0,0 +1,15 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| "
"
| <a>
| href="https://www.w3schools.com"
| "This is a link"
| "
"

View File

@ -0,0 +1,9 @@
| <html>
| <head>
| <body>
| <a>
| "1"
| <p>
| <a>
| "2"
| "3"

View File

@ -0,0 +1,9 @@
| <html>
| <head>
| <body>
| <a>
| "1"
| <button>
| <a>
| "2"
| "3"

View File

@ -0,0 +1,13 @@
| <html>
| <head>
| <body>
| <a>
| "1"
| <div>
| <a>
| "2"
| <div>
| <a>
| "3"
| "4"
| "5"

View File

@ -0,0 +1,10 @@
| <html>
| <head>
| <body>
| <a>
| "1"
| <p>
| <a>
| "2"
| "3"
| <table>

View File

@ -0,0 +1,6 @@
| <html>
| <head>
| <body>
| <a>
| <p>
| <a>

View File

@ -0,0 +1,8 @@
| <html>
| <head>
| <body>
| <a>
| <applet>
| <a>
| "x
"

View File

@ -0,0 +1,7 @@
| <html>
| <head>
| <body>
| <b>
| <applet>
| "x
"

View File

@ -0,0 +1,27 @@
| <!DOCTYPE html>
| <html>
| lang="en"
| <head>
| "
"
| <title>
| "Document"
| "
"
| "
"
| <body>
| "
"
| <p>
| "1"
| <b>
| "2"
| <i>
| "3"
| <i>
| "4"
| "5"
| "
"

View File

@ -0,0 +1,10 @@
| <html>
| <head>
| <body>
| <b>
| <p>
| <b>
| "Bold "
| " Not bold"
| "
Also not bold."

View File

@ -0,0 +1,9 @@
| <html>
| <head>
| <body>
| <b>
| <a>
| <b>
| <b>
| <p>
| <a>

View File

@ -0,0 +1,9 @@
| <html>
| <head>
| <body>
| <b>
| "1"
| <p>
| <b>
| "2"
| "3"

View File

@ -0,0 +1,16 @@
| <!DOCTYPE html>
| <html>
| test="test"
| <head>
| "
"
| <title>
| "Test"
| "
"
| <body>
| "
"

View File

@ -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
"

View File

@ -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"

View File

@ -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>
"
| "
"

View File

@ -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"

View File

@ -0,0 +1,10 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <p>
| "foo"
| <hgroup>
| "bar"
| <p>
| "baz"

View File

@ -0,0 +1,4 @@
| <html>
| <head>
| <body>
| <isindex>

View File

@ -0,0 +1,11 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| "xxx"
| <svg svg>
| <svg x>
| <svg g>
| <svg a>
| <svg main>
| <b>

View File

@ -0,0 +1,10 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <p>
| "foo"
| <main>
| "bar"
| <p>
| "baz"

View File

@ -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
"
| "
"
| "
"
| "
"

View File

@ -0,0 +1,7 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <li>
| <menuitem>
| <li>

View File

@ -0,0 +1,7 @@
| <!DOCTYPE html>
| <html>
| <head>
| <body>
| <nobr>
| <nobr>
| <nobr>

View File

@ -0,0 +1,5 @@
| <html>
| <head>
| <body>
| <nobr>
| "X"

View File

@ -0,0 +1,5 @@
| <html>
| <head>
| <noscript>
| <!-- foo -->
| <body>

View File

@ -0,0 +1,6 @@
| <html>
| <head>
| <body>
| <div>
| <p>
| "a b"

View File

@ -0,0 +1,7 @@
| <html>
| <head>
| <body>
| <p>
| <table>
| "
"

View File

@ -0,0 +1,8 @@
| <html>
| <head>
| <body>
| <p>
| "a"
| <p>
| "b"
| <p>

View File

@ -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