aboutsummaryrefslogtreecommitdiff
path: root/core/encoding/entity/example
diff options
context:
space:
mode:
Diffstat (limited to 'core/encoding/entity/example')
-rw-r--r--core/encoding/entity/example/entity_example.odin67
-rw-r--r--core/encoding/entity/example/test.html2
2 files changed, 12 insertions, 57 deletions
diff --git a/core/encoding/entity/example/entity_example.odin b/core/encoding/entity/example/entity_example.odin
index 8758d9ad9..161a44827 100644
--- a/core/encoding/entity/example/entity_example.odin
+++ b/core/encoding/entity/example/entity_example.odin
@@ -1,19 +1,11 @@
package unicode_entity_example
import "core:encoding/xml"
-import "core:encoding/entity"
import "core:strings"
import "core:mem"
import "core:fmt"
import "core:time"
-OPTIONS :: xml.Options{
- flags = {
- .Ignore_Unsupported, .Intern_Comments,
- },
- expected_doctype = "",
-}
-
doc_print :: proc(doc: ^xml.Document) {
buf: strings.Builder
defer strings.destroy_builder(&buf)
@@ -29,6 +21,13 @@ _entities :: proc() {
DOC :: #load("../../../../tests/core/assets/XML/unicode.xml")
+ OPTIONS :: xml.Options{
+ flags = {
+ .Ignore_Unsupported, .Intern_Comments,
+ },
+ expected_doctype = "",
+ }
+
parse_duration: time.Duration
{
@@ -50,57 +49,11 @@ _entities :: proc() {
_main :: proc() {
using fmt
- doc, err := xml.parse(#load("test.html"))
+ options := xml.Options{ flags = { .Ignore_Unsupported, .Intern_Comments, .Unbox_CDATA, .Decode_SGML_Entities }}
+ doc, _ := xml.parse(#load("test.html"), options)
+
defer xml.destroy(doc)
doc_print(doc)
-
- if false {
- val := doc.root.children[1].children[2].value
-
- println()
- replaced, ok := entity.decode_xml(val)
- defer delete(replaced)
-
- printf("Before: '%v', Err: %v\n", val, err)
- printf("Passthrough: '%v'\nOK: %v\n", replaced, ok)
- println()
- }
-
- if false {
- val := doc.root.children[1].children[2].value
-
- println()
- replaced, ok := entity.decode_xml(val, { .CDATA_Unbox })
- defer delete(replaced)
-
- printf("Before: '%v', Err: %v\n", val, err)
- printf("CDATA_Unbox: '%v'\nOK: %v\n", replaced, ok)
- println()
- }
-
- if true {
- val := doc.root.children[1].children[2].value
-
- println()
- replaced, ok := entity.decode_xml(val, { .CDATA_Unbox, .CDATA_Decode })
- defer delete(replaced)
-
- printf("Before: '%v', Err: %v\n", val, err)
- printf("CDATA_Decode: '%v'\nOK: %v\n", replaced, ok)
- println()
- }
-
- if true {
- val := doc.root.children[1].children[1].value
-
- println()
- replaced, ok := entity.decode_xml(val, { .Comment_Strip })
- defer delete(replaced)
-
- printf("Before: '%v', Err: %v\n", val, err)
- printf("Comment_Strip: '%v'\nOK: %v\n", replaced, ok)
- println()
- }
}
main :: proc() {
diff --git a/core/encoding/entity/example/test.html b/core/encoding/entity/example/test.html
index 60e32bf03..62a0bb35a 100644
--- a/core/encoding/entity/example/test.html
+++ b/core/encoding/entity/example/test.html
@@ -16,9 +16,11 @@
<div id="test_cdata_in_comment" foo="">
Foozle]!&#32;&copy;&#x20;<!-- <![CDATA[&#32;&reg;&#x20;]]> -->42&;1234&
</div>
+ <!-- EXPECTED: Foozle]! © 42&;1234& -->
<div id="test_cdata_unwrap_and_passthrough">
Foozle]!&#32;&copy;&#x20;<![CDATA[BOX&#32;&reg;&#x20;/BOX]]>42&;1234&
</div>
+ <!-- EXPECTED: Foozle]! © BOX ® /BOX42&;1234& -->
<div>
&verbar; &vert; &VerticalLine; &fjlig; &grave; &bsol; &reg; &rhov; &CounterClockwiseContourIntegral;
</div>