Commit graph xmpp-rs/src
Author SHA1 Message Date
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