lumi
fac64400f1
Put the tests in element.rs into a module block.
2018-05-29 16:22:22 +02:00
Emmanuel Gil Peyrot
7ed4be96eb
impl IntoAttributeValue for std::net::IpAddr
2018-05-29 16:03:44 +02:00
lumi
4f588f615d
Fix CDATA handling, add relevant test, update CHANGELOG, bump version to 0.9.1.
2018-05-29 15:59:36 +02:00
Matt Bilker
96f223b7e3
bump version to 0.9.0 and upgrade quick-xml to 0.12.1
2018-04-10 21:01:18 -04:00
lumi
8924d2d594
Merge branch 'linkmauve/minidom-rs-failure'
...
# Conflicts:
# src/tests.rs
2018-02-18 21:32:51 +01:00
Emmanuel Gil Peyrot
236582b24e
update quick_xml and migrate from error-chain to failure
2018-02-18 20:45:09 +01:00
Emmanuel Gil Peyrot
055caa8e24
add tests for some XML errors
2018-02-18 19:41:03 +01:00
Yue Liu
f456600efd
Support comment and write to quick-xml Writer
2018-01-09 23:29:48 -08:00
lumi
d079f0503a
make sure that my tests actually work...
2018-01-01 14:34:24 +01:00
lumi
118bbb5462
add the spectest.xml from https://gitlab.com/lumi/minidom-rs/issues/8
2018-01-01 14:28:17 +01:00
lumi
cdb2cb8d86
try not to allocate memory when comparing ending tags with starting tags
2018-01-01 14:01:03 +01:00
lumi
0e76e5211d
Merge branch 'compare-with-prefix' into 'master'
...
Compare with prefix
See merge request lumi/minidom-rs!23
2018-01-01 12:26:19 +00:00
Maxime “pep” Buquet
9959abbb25
Be explicit about quick-xml Events we are handling
2017-12-31 16:31:26 +00:00
Maxime “pep” Buquet
db70487a31
Change prefix fn to return Option<&str>
2017-12-31 15:24:28 +00:00
Maxime “pep” Buquet
9c498044ee
element: Add tests for Element::from_reader
2017-12-31 07:19:24 +01:00
Maxime “pep” Buquet
e250e9cf2c
Add doctest for prefix fn
2017-12-30 17:26:15 +01:00
Maxime “pep” Buquet
1c3a701d2e
element: Fix element name comparison in from_reader
...
quick-xml's Events seem to always return prefixed names, and the
from_reader function, when comparing name of the pop-ed element, and
received event element, was using the unprefixed name to compare.
2017-12-30 17:26:15 +01:00
Emmanuel Gil Peyrot
df76bc147a
fix clippy warnings
2017-11-12 19:58:07 +00:00
lumi
f4debf1bbf
Merge branch 'tafia/minidom-rs-quick_xml_optim'
2017-11-08 18:19:05 +01:00
Emmanuel Gil Peyrot
b49ea5175d
implement IntoElements on Into<Element> instead of Element
2017-08-27 01:36:18 +01:00
lumi
87a19e5e58
Merge branch 'element_has_ns' into 'master'
...
add Element::has_ns(&self, NS)
See merge request !16
2017-08-20 15:03:14 +00:00
Emmanuel Gil Peyrot
89ab8d9aca
fix a FIXME, break value is now stable
2017-08-19 00:34:44 +01:00
Astro
8af3e50311
add Element::has_ns(&self, NS)
2017-08-19 01:17:45 +02:00
Astro
b141559081
rename namespaces mod to namespace_set
2017-08-13 17:29:38 +02:00
Astro
7297dbc5fd
namespaces: add some tests
2017-08-13 02:48:28 +02:00
Astro
0148790a01
move NamespaceSet to namespaces mod
2017-08-13 02:35:24 +02:00
Astro
7d2699e08e
NamespaceSet::set_parent(): don't require a full Element
...
by passing just a reference to a NamespaceSet we could reuse this for
xmlns elision in the serialization code.
2017-08-13 02:28:44 +02:00
Astro
98fd71fd3f
NamespaceSet: rm unneeded cast
2017-08-13 02:26:45 +02:00
Astro
26f03c27ed
optimize Element::write_to_inner() with CoW
2017-08-13 02:24:40 +02:00
Astro
a01cf553ae
switch Element namespaces to NamespaceSet with parent reference
2017-08-13 02:24:34 +02:00
Astro
77bc215cba
tests: add namespace inheritance tests
2017-08-13 02:19:17 +02:00
Astro
052c46635a
escape text and attribute values
2017-08-12 02:05:18 +02:00
Johann Tuffe
444b78c63a
unescape_and_decode_value for element attributes
2017-07-08 12:18:15 +08:00
Bastien Orivel
9cec9fce9b
Replace xml-rs by quick_xml
...
quick_xml is way faster than xml-rs
Here is an example with a quick atom parser:
With xml-rs:
test parse_factorio_atom ... bench: 3,295,678 ns/iter (+/- 165,851)
With quick_xml:
test parse_factorio_atom ... bench: 203,215 ns/iter (+/- 13,485)
Unfortunately I had to break the API for this change to happen.
* Element::from_reader now takes `R: BufRead` instead of `R: Read`
* Element::write_to now takes `W: io::Write` instead of `EventWriter<W: Write>`
This migration also allow us to have a write_to function which assumes
we're already in a given namespace (see `write_to_in_namespace`).
2017-06-10 17:17:19 +02:00
lumi
d6a9e6e9ea
implement ToAttributeValue on integral types, bump version
2017-05-28 00:25:57 +02:00
Emmanuel Gil Peyrot
638866fa4c
implement IntoAttributeValue for u32, u16 and u8
2017-05-27 22:56:17 +01:00
Emmanuel Gil Peyrot
d63c7b991d
implement IntoAttributeValue for usize
2017-05-27 22:45:22 +01:00
lumi
9d45230c17
should re-export more things under the error module
2017-05-22 19:30:52 +02:00
lumi
508c971416
port error.rs to error_chain, bump version to 0.4.0
2017-05-22 19:20:01 +02:00
lumi
3341d7e692
turns out i was wrong and clippy was right, all hail clippy
2017-05-22 18:49:24 +02:00
lumi
dbcbe7cd9b
make clippy happy
2017-05-22 18:45:43 +02:00
lumi
3223fc11fe
this will already get auto-dereferenced
2017-05-22 16:15:26 +02:00
lumi
49d25968cb
no need to clone that
2017-05-22 16:15:04 +02:00
Emmanuel Gil Peyrot
f4e5f5380e
implement IntoElements and IntoAttributeValue for &String
2017-05-21 21:07:37 +01:00
lumi
83d80dd235
Add iterators over attributes, nodes and text nodes. Clean up lots of code. Add as_element and as_text on Node. Add some inline annotations.
2017-05-14 16:38:56 +02:00
lumi
33f9dee31f
move use std::iter::FromIterator to tests
2017-05-03 18:39:40 +02:00
lumi
fdfc7e2cb1
Merge branch 'master' into 'master'
...
Implement From<Element> for String and use it for fmt::Debug
See merge request !7
2017-05-03 16:22:05 +00:00
Maxime “pep” Buquet
e9d33e5e7e
Implement From<Element> for String and use it for fmt::Debug
2017-05-02 16:32:32 +01:00
Emmanuel Gil Peyrot
875b95bdc9
Reexport ElementEmitter from the lib.
2017-04-30 23:46:29 +01:00
Bastien Orivel
f87e2442d4
Use a BTreeMap<String, String> instead of a Vec<Attribute> to store attributes
...
This way we don't need to reimplement PartialEq for Element. It's also
way easier to get an attribute by name as we don't need to iterate over
every attribute to see if it exists.
The only side effect is that now, in the Debug output, attributes are
automatically sorted by names instead of being sorted by insertion
order.
Fixes #4
2017-04-26 23:44:58 +02:00