libxml-ruby 2.5.0-x86-mingw32 → 2.6.0-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/HISTORY +6 -0
- data/ext/libxml/ruby_xml_encoding.h +1 -0
- data/ext/libxml/ruby_xml_version.h +3 -3
- data/ext/libxml/ruby_xml_writer.c +66 -23
- data/lib/1.8/libxml_ruby.so +0 -0
- data/lib/1.9/libxml_ruby.so +0 -0
- data/lib/2.0/libxml_ruby.so +0 -0
- data/lib/libxml/error.rb +10 -6
- data/test/tc_writer.rb +22 -1
- metadata +15 -18
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA1:
         | 
| 3 | 
            +
              metadata.gz: 9f00d30d4338c5f2f9a8fe6c6949d1c665b377c8
         | 
| 4 | 
            +
              data.tar.gz: 3af83672e51e8755109902a255a167f2b14f9875
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: f7fc9a7e582ddd9799d8217f48935bb5178f7657c9c919325207e93c66a104895e504aa2bb206f173c6e5f1a00db8a175f2fd56e77b00fc564c118072386f5eb
         | 
| 7 | 
            +
              data.tar.gz: b56080583500c323c68bba174306bfad997046e1e9645e82db972b228c5191c4b6b8c53b1075130cb7ef1232533223f3adfae97604c3ff8e5867eebe8943c0bd
         | 
    
        data/HISTORY
    CHANGED
    
    | @@ -1,5 +1,11 @@ | |
| 1 1 | 
             
            = Release History
         | 
| 2 2 |  | 
| 3 | 
            +
            == 2.6.0 / 2013-02-16 Charlie Savage
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            * Fix uninitialized constant LibXML::XML::Error::I18N (NameError) that occurred
         | 
| 6 | 
            +
              with older versions of libxml.
         | 
| 7 | 
            +
            * Various updates/fixes to new XML::Writer class and update how flushing works (julp)
         | 
| 8 | 
            +
             | 
| 3 9 | 
             
            == 2.5.0 / 2013-01-27 Charlie Savage
         | 
| 4 10 |  | 
| 5 11 | 
             
            * Compatibility with older versions for IO::write (rb_io_bufwrite is specific to ruby >= 1.9.3?)
         | 
| @@ -13,6 +13,7 @@ VALUE rxml_new_cstr_len(const char* xstr, const int length, const char* xencodin | |
| 13 13 |  | 
| 14 14 | 
             
            #ifdef HAVE_RUBY_ENCODING_H
         | 
| 15 15 | 
             
            rb_encoding* rxml_xml_encoding_to_rb_encoding(VALUE klass, xmlCharEncoding xmlEncoding);
         | 
| 16 | 
            +
            rb_encoding* rxml_figure_encoding(const char* xencoding);
         | 
| 16 17 | 
             
            #endif
         | 
| 17 18 |  | 
| 18 19 | 
             
            #endif
         | 
| @@ -1,9 +1,9 @@ | |
| 1 1 | 
             
            /* Don't nuke this block!  It is used for automatically updating the
         | 
| 2 2 | 
             
             * versions below. VERSION = string formatting, VERNUM = numbered
         | 
| 3 3 | 
             
             * version for inline testing: increment both or none at all.*/
         | 
| 4 | 
            -
            #define RUBY_LIBXML_VERSION  "2. | 
| 5 | 
            -
            #define RUBY_LIBXML_VERNUM    | 
| 4 | 
            +
            #define RUBY_LIBXML_VERSION  "2.6.0"
         | 
| 5 | 
            +
            #define RUBY_LIBXML_VERNUM   260
         | 
| 6 6 | 
             
            #define RUBY_LIBXML_VER_MAJ   2
         | 
| 7 | 
            -
            #define RUBY_LIBXML_VER_MIN    | 
| 7 | 
            +
            #define RUBY_LIBXML_VER_MIN   6
         | 
| 8 8 | 
             
            #define RUBY_LIBXML_VER_MIC   0
         | 
| 9 9 | 
             
            #define RUBY_LIBXML_VER_PATCH 0
         | 
| @@ -15,8 +15,6 @@ | |
| 15 15 | 
             
            # include <libxml/xmlwriter.h>
         | 
| 16 16 |  | 
| 17 17 | 
             
            # include "ruby_libxml.h"
         | 
| 18 | 
            -
            # include "ruby_xml_io.h"
         | 
| 19 | 
            -
            # include "ruby_xml_document.h"
         | 
| 20 18 | 
             
            # include "ruby_xml_writer.h"
         | 
| 21 19 |  | 
| 22 20 | 
             
            VALUE cXMLWriter;
         | 
| @@ -31,6 +29,9 @@ typedef enum { | |
| 31 29 |  | 
| 32 30 | 
             
            typedef struct {
         | 
| 33 31 | 
             
                VALUE output;
         | 
| 32 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 33 | 
            +
                rb_encoding *encoding;
         | 
| 34 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 34 35 | 
             
                xmlBufferPtr buffer;
         | 
| 35 36 | 
             
                xmlTextWriterPtr writer;
         | 
| 36 37 | 
             
                rxmlw_output_type output_type;
         | 
| @@ -122,6 +123,9 @@ xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char * name); | |
| 122 123 | 
             
                rwo = ALLOC(rxml_writer_object);
         | 
| 123 124 | 
             
                rwo->output = io;
         | 
| 124 125 | 
             
                rwo->buffer = NULL;
         | 
| 126 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 127 | 
            +
                rwo->encoding = NULL;
         | 
| 128 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 125 129 | 
             
                rwo->output_type = RXMLW_OUTPUT_IO;
         | 
| 126 130 | 
             
                if (NULL == (out = xmlOutputBufferCreateIO(rxml_write_callback, NULL, (void *) io, NULL))) {
         | 
| 127 131 | 
             
                    rxml_raise(&xmlLastError);
         | 
| @@ -147,6 +151,9 @@ static VALUE rxml_writer_file(VALUE klass, VALUE filename) | |
| 147 151 | 
             
                rwo = ALLOC(rxml_writer_object);
         | 
| 148 152 | 
             
                rwo->output = Qnil;
         | 
| 149 153 | 
             
                rwo->buffer = NULL;
         | 
| 154 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 155 | 
            +
                rwo->encoding = NULL;
         | 
| 156 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 150 157 | 
             
                rwo->output_type = RXMLW_OUTPUT_NONE;
         | 
| 151 158 | 
             
                if (NULL == (rwo->writer = xmlNewTextWriterFilename(StringValueCStr(filename), 0))) {
         | 
| 152 159 | 
             
                    rxml_raise(&xmlLastError);
         | 
| @@ -166,6 +173,9 @@ static VALUE rxml_writer_string(VALUE klass) | |
| 166 173 |  | 
| 167 174 | 
             
                rwo = ALLOC(rxml_writer_object);
         | 
| 168 175 | 
             
                rwo->output = Qnil;
         | 
| 176 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 177 | 
            +
                rwo->encoding = NULL;
         | 
| 178 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 169 179 | 
             
                rwo->output_type = RXMLW_OUTPUT_STRING;
         | 
| 170 180 | 
             
                if (NULL == (rwo->buffer = xmlBufferCreate())) {
         | 
| 171 181 | 
             
                    rxml_raise(&xmlLastError);
         | 
| @@ -191,6 +201,9 @@ static VALUE rxml_writer_doc(VALUE klass) | |
| 191 201 | 
             
                rwo = ALLOC(rxml_writer_object);
         | 
| 192 202 | 
             
                rwo->buffer = NULL;
         | 
| 193 203 | 
             
                rwo->output = Qnil;
         | 
| 204 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 205 | 
            +
                rwo->encoding = NULL;
         | 
| 206 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 194 207 | 
             
                rwo->output_type = RXMLW_OUTPUT_DOC;
         | 
| 195 208 | 
             
                if (NULL == (rwo->writer = xmlNewTextWriterDoc(&doc, 0))) {
         | 
| 196 209 | 
             
                    rxml_raise(&xmlLastError);
         | 
| @@ -203,19 +216,41 @@ static VALUE rxml_writer_doc(VALUE klass) | |
| 203 216 | 
             
            /* ===== public instance methods ===== */
         | 
| 204 217 |  | 
| 205 218 | 
             
            /* call-seq:
         | 
| 206 | 
            -
             *    writer.flush -> ( | 
| 219 | 
            +
             *    writer.flush(empty? = true) -> (num|string)
         | 
| 207 220 | 
             
             *
         | 
| 208 | 
            -
             * Flushes the output buffer.
         | 
| 221 | 
            +
             * Flushes the output buffer. Returns the number of written bytes or
         | 
| 222 | 
            +
             * the current content of the internal buffer for a in memory XML::Writer.
         | 
| 223 | 
            +
             * If +empty?+ is +true+, and for a in memory XML::Writer, this internel
         | 
| 224 | 
            +
             * buffer is empty.
         | 
| 209 225 | 
             
             */
         | 
| 210 | 
            -
            static VALUE rxml_writer_flush(VALUE self)
         | 
| 226 | 
            +
            static VALUE rxml_writer_flush(int argc, VALUE *argv, VALUE self)
         | 
| 211 227 | 
             
            {
         | 
| 212 228 | 
             
                int ret;
         | 
| 229 | 
            +
                VALUE empty;
         | 
| 213 230 | 
             
                rxml_writer_object *rwo;
         | 
| 214 231 |  | 
| 232 | 
            +
                rb_scan_args(argc, argv, "01", &empty);
         | 
| 233 | 
            +
             | 
| 215 234 | 
             
                rwo = rxml_textwriter_get(self);
         | 
| 216 | 
            -
                ret = xmlTextWriterFlush(rwo->writer) | 
| 235 | 
            +
                if (-1 == (ret = xmlTextWriterFlush(rwo->writer))) {
         | 
| 236 | 
            +
                    rxml_raise(&xmlLastError);
         | 
| 237 | 
            +
                }
         | 
| 238 | 
            +
                if (NULL != rwo->buffer) {
         | 
| 239 | 
            +
                    VALUE content;
         | 
| 217 240 |  | 
| 218 | 
            -
             | 
| 241 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 242 | 
            +
                    content = rb_external_str_new_with_enc(rwo->buffer->content, rwo->buffer->use, rwo->encoding);
         | 
| 243 | 
            +
            # else
         | 
| 244 | 
            +
                    content = rb_str_new(rwo->buffer->content, rwo->buffer->use);
         | 
| 245 | 
            +
            # endif /* HAVE_RUBY_ENCODING_H */
         | 
| 246 | 
            +
                    if (NIL_P(empty) || RTEST(empty)) { /* nil = default value = true */
         | 
| 247 | 
            +
                        xmlBufferEmpty(rwo->buffer);
         | 
| 248 | 
            +
                    }
         | 
| 249 | 
            +
             | 
| 250 | 
            +
                    return content;
         | 
| 251 | 
            +
                } else {
         | 
| 252 | 
            +
                    return INT2NUM(ret);
         | 
| 253 | 
            +
                }
         | 
| 219 254 | 
             
            }
         | 
| 220 255 |  | 
| 221 256 | 
             
            /* call-seq:
         | 
| @@ -232,6 +267,9 @@ static VALUE rxml_writer_result(VALUE self) | |
| 232 267 |  | 
| 233 268 | 
             
                ret = Qnil;
         | 
| 234 269 | 
             
                rwo = rxml_textwriter_get(self);
         | 
| 270 | 
            +
                if (-1 == (ret = xmlTextWriterFlush(rwo->writer))) {
         | 
| 271 | 
            +
                    rxml_raise(&xmlLastError);
         | 
| 272 | 
            +
                }
         | 
| 235 273 | 
             
                switch (rwo->output_type) {
         | 
| 236 274 | 
             
                    case RXMLW_OUTPUT_DOC:
         | 
| 237 275 | 
             
                        ret = rwo->output;
         | 
| @@ -264,7 +302,7 @@ static VALUE numeric_rxml_writer_void(VALUE obj, int (*fn)(xmlTextWriterPtr)) | |
| 264 302 | 
             
            }
         | 
| 265 303 |  | 
| 266 304 | 
             
            # define numeric_rxml_writer_string(/*VALUE*/ obj, /*VALUE*/ name_or_content, /*int (**/fn/*)(xmlTextWriterPtr, const xmlChar *)*/) \
         | 
| 267 | 
            -
                numeric_rxml_writer_va_strings(obj,  | 
| 305 | 
            +
                numeric_rxml_writer_va_strings(obj, Qundef, 1, fn, name_or_content)
         | 
| 268 306 |  | 
| 269 307 | 
             
            /**
         | 
| 270 308 | 
             
             * This is quite ugly but thanks to libxml2 coding style, all xmlTextWriter*
         | 
| @@ -304,7 +342,7 @@ static VALUE numeric_rxml_writer_va_strings(VALUE obj, VALUE pe, size_t strings_ | |
| 304 342 | 
             
                }
         | 
| 305 343 | 
             
                va_end(ap);
         | 
| 306 344 |  | 
| 307 | 
            -
                if ( | 
| 345 | 
            +
                if (Qundef == pe) {
         | 
| 308 346 | 
             
                    switch (strings_count) {
         | 
| 309 347 | 
             
                        case 0:
         | 
| 310 348 | 
             
                            ret = fn(rwo->writer);
         | 
| @@ -449,7 +487,7 @@ static VALUE rxml_writer_write_element(int argc, VALUE *argv, VALUE self) | |
| 449 487 | 
             
                    }
         | 
| 450 488 | 
             
                    return rxml_writer_end_element(self);
         | 
| 451 489 | 
             
                } else {
         | 
| 452 | 
            -
                    return numeric_rxml_writer_va_strings(self,  | 
| 490 | 
            +
                    return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteElement, name, content);
         | 
| 453 491 | 
             
                }
         | 
| 454 492 | 
             
            }
         | 
| 455 493 |  | 
| @@ -483,7 +521,7 @@ static VALUE rxml_writer_write_element_ns(int argc, VALUE *argv, VALUE self) | |
| 483 521 | 
             
                    }
         | 
| 484 522 | 
             
                    return rxml_writer_end_element(self);
         | 
| 485 523 | 
             
                } else {
         | 
| 486 | 
            -
                    return numeric_rxml_writer_va_strings(self,  | 
| 524 | 
            +
                    return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteElementNS, prefix, name, namespaceURI, content);
         | 
| 487 525 | 
             
                }
         | 
| 488 526 | 
             
            }
         | 
| 489 527 |  | 
| @@ -495,7 +533,7 @@ static VALUE rxml_writer_write_element_ns(int argc, VALUE *argv, VALUE self) | |
| 495 533 | 
             
             */
         | 
| 496 534 | 
             
            static VALUE rxml_writer_write_attribute(VALUE self, VALUE name, VALUE content)
         | 
| 497 535 | 
             
            {
         | 
| 498 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 536 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteAttribute, name, content);
         | 
| 499 537 | 
             
            }
         | 
| 500 538 |  | 
| 501 539 | 
             
            /* call-seq:
         | 
| @@ -518,7 +556,7 @@ static VALUE rxml_writer_write_attribute_ns(int argc, VALUE *argv, VALUE self) | |
| 518 556 |  | 
| 519 557 | 
             
                rb_scan_args(argc, argv, "22", &prefix, &name, &namespaceURI, &content);
         | 
| 520 558 |  | 
| 521 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 559 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteAttributeNS, prefix, name, namespaceURI, content);
         | 
| 522 560 | 
             
            }
         | 
| 523 561 |  | 
| 524 562 | 
             
            /* call-seq:
         | 
| @@ -529,7 +567,7 @@ static VALUE rxml_writer_write_attribute_ns(int argc, VALUE *argv, VALUE self) | |
| 529 567 | 
             
             */
         | 
| 530 568 | 
             
            static VALUE rxml_writer_write_pi(VALUE self, VALUE target, VALUE content)
         | 
| 531 569 | 
             
            {
         | 
| 532 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 570 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWritePI, target, content);
         | 
| 533 571 | 
             
            }
         | 
| 534 572 |  | 
| 535 573 | 
             
            /* ===== public start/end interface ===== */
         | 
| @@ -584,7 +622,7 @@ static VALUE rxml_writer_start_attribute_ns(int argc, VALUE *argv, VALUE self) | |
| 584 622 |  | 
| 585 623 | 
             
                rb_scan_args(argc, argv, "21", &prefix, &name, &namespaceURI);
         | 
| 586 624 |  | 
| 587 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 625 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartAttributeNS, prefix, name, namespaceURI);
         | 
| 588 626 | 
             
            }
         | 
| 589 627 |  | 
| 590 628 | 
             
            /* call-seq:
         | 
| @@ -647,7 +685,7 @@ static VALUE rxml_writer_start_element_ns(int argc, VALUE *argv, VALUE self) | |
| 647 685 |  | 
| 648 686 | 
             
                rb_scan_args(argc, argv, "21", &prefix, &name, &namespaceURI);
         | 
| 649 687 |  | 
| 650 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 688 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartElementNS, prefix, name, namespaceURI);
         | 
| 651 689 | 
             
            }
         | 
| 652 690 |  | 
| 653 691 | 
             
            /* call-seq:
         | 
| @@ -731,6 +769,9 @@ static VALUE rxml_writer_start_document(int argc, VALUE *argv, VALUE self) | |
| 731 769 | 
             
                    }
         | 
| 732 770 | 
             
                }
         | 
| 733 771 | 
             
                rwo = rxml_textwriter_get(self);
         | 
| 772 | 
            +
            # ifdef HAVE_RUBY_ENCODING_H
         | 
| 773 | 
            +
                rwo->encoding = rxml_figure_encoding(xencoding);
         | 
| 774 | 
            +
            # endif /* !HAVE_RUBY_ENCODING_H */
         | 
| 734 775 | 
             
                ret = xmlTextWriterStartDocument(rwo->writer, NULL, xencoding, xstandalone);
         | 
| 735 776 |  | 
| 736 777 | 
             
                return (-1 == ret ? Qfalse : Qtrue);
         | 
| @@ -777,7 +818,7 @@ static VALUE rxml_writer_start_dtd(int argc, VALUE *argv, VALUE self) | |
| 777 818 |  | 
| 778 819 | 
             
                rb_scan_args(argc, argv, "12", &name, &pubid, &sysid);
         | 
| 779 820 |  | 
| 780 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 821 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterStartDTD, name, pubid, sysid);
         | 
| 781 822 | 
             
            }
         | 
| 782 823 |  | 
| 783 824 | 
             
            /* call-seq:
         | 
| @@ -882,7 +923,7 @@ static VALUE rxml_writer_write_dtd(int argc, VALUE *argv, VALUE self) | |
| 882 923 |  | 
| 883 924 | 
             
                rb_scan_args(argc, argv, "13", &name, &pubid, &sysid, &subset);
         | 
| 884 925 |  | 
| 885 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 926 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 4, xmlTextWriterWriteDTD, name, pubid, sysid, subset);
         | 
| 886 927 | 
             
            }
         | 
| 887 928 |  | 
| 888 929 | 
             
            /* call-seq:
         | 
| @@ -894,7 +935,7 @@ static VALUE rxml_writer_write_dtd(int argc, VALUE *argv, VALUE self) | |
| 894 935 | 
             
             */
         | 
| 895 936 | 
             
            static VALUE rxml_writer_write_dtd_attlist(VALUE self, VALUE name, VALUE content)
         | 
| 896 937 | 
             
            {
         | 
| 897 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 938 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteDTDAttlist, name, content);
         | 
| 898 939 | 
             
            }
         | 
| 899 940 |  | 
| 900 941 | 
             
            /* call-seq:
         | 
| @@ -906,7 +947,7 @@ static VALUE rxml_writer_write_dtd_attlist(VALUE self, VALUE name, VALUE content | |
| 906 947 | 
             
             */
         | 
| 907 948 | 
             
            static VALUE rxml_writer_write_dtd_element(VALUE self, VALUE name, VALUE content)
         | 
| 908 949 | 
             
            {
         | 
| 909 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 950 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 2, xmlTextWriterWriteDTDElement, name, content);
         | 
| 910 951 | 
             
            }
         | 
| 911 952 |  | 
| 912 953 | 
             
            /* call-seq:
         | 
| @@ -943,7 +984,7 @@ static VALUE rxml_writer_write_dtd_external_entity(VALUE self, VALUE name, VALUE | |
| 943 984 | 
             
             */
         | 
| 944 985 | 
             
            static VALUE rxml_writer_write_dtd_external_entity_contents(VALUE self, VALUE pubid, VALUE sysid, VALUE ndataid)
         | 
| 945 986 | 
             
            {
         | 
| 946 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 987 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterWriteDTDExternalEntityContents, pubid, sysid, ndataid);
         | 
| 947 988 | 
             
            }
         | 
| 948 989 |  | 
| 949 990 | 
             
            /* call-seq:
         | 
| @@ -969,7 +1010,7 @@ static VALUE rxml_writer_write_dtd_internal_entity(VALUE self, VALUE name, VALUE | |
| 969 1010 | 
             
             */
         | 
| 970 1011 | 
             
            static VALUE rxml_writer_write_dtd_notation(VALUE self, VALUE name, VALUE pubid, VALUE sysid)
         | 
| 971 1012 | 
             
            {
         | 
| 972 | 
            -
                return numeric_rxml_writer_va_strings(self,  | 
| 1013 | 
            +
                return numeric_rxml_writer_va_strings(self, Qundef, 3, xmlTextWriterWriteDTDNotation, name, pubid, sysid);
         | 
| 973 1014 | 
             
            }
         | 
| 974 1015 |  | 
| 975 1016 | 
             
            # if LIBXML_VERSION >= 20900
         | 
| @@ -1017,7 +1058,7 @@ void rxml_init_writer(void) | |
| 1017 1058 | 
             
            # if LIBXML_VERSION >= 20900
         | 
| 1018 1059 | 
             
                rb_define_method(cXMLWriter, "set_quote_char", rxml_writer_set_quote_char, 1);
         | 
| 1019 1060 | 
             
            # endif  /* LIBXML_VERSION >= 20900 */
         | 
| 1020 | 
            -
                rb_define_method(cXMLWriter, "flush", rxml_writer_flush,  | 
| 1061 | 
            +
                rb_define_method(cXMLWriter, "flush", rxml_writer_flush, -1);
         | 
| 1021 1062 | 
             
                rb_define_method(cXMLWriter, "start_dtd", rxml_writer_start_dtd, -1);
         | 
| 1022 1063 | 
             
                rb_define_method(cXMLWriter, "start_dtd_entity", rxml_writer_start_dtd_entity, -1);
         | 
| 1023 1064 | 
             
                rb_define_method(cXMLWriter, "start_dtd_attlist", rxml_writer_start_dtd_attlist, 1);
         | 
| @@ -1067,6 +1108,8 @@ void rxml_init_writer(void) | |
| 1067 1108 | 
             
                rb_define_method(cXMLWriter, "write_pi", rxml_writer_write_pi, 2);
         | 
| 1068 1109 |  | 
| 1069 1110 | 
             
                rb_define_method(cXMLWriter, "result", rxml_writer_result, 0);
         | 
| 1111 | 
            +
             | 
| 1112 | 
            +
                rb_undef_method(CLASS_OF(cXMLWriter), "new");
         | 
| 1070 1113 | 
             
            }
         | 
| 1071 1114 |  | 
| 1072 1115 | 
             
            #endif /* LIBXML_WRITER_ENABLED */
         | 
    
        data/lib/1.8/libxml_ruby.so
    CHANGED
    
    | Binary file | 
    
        data/lib/1.9/libxml_ruby.so
    CHANGED
    
    | Binary file | 
    
        data/lib/2.0/libxml_ruby.so
    CHANGED
    
    | Binary file | 
    
        data/lib/libxml/error.rb
    CHANGED
    
    | @@ -3,20 +3,24 @@ | |
| 3 3 | 
             
            module LibXML
         | 
| 4 4 | 
             
              module XML
         | 
| 5 5 | 
             
                class Error
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                  DOMAIN_CODE_MAP = | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 6 | 
            +
                  # Create mapping from domain constant value to keys
         | 
| 7 | 
            +
                  DOMAIN_CODE_MAP = [:NO_ERROR, :PARSER, :TREE, :NAMESPACE, :DTD, :HTML, :MEMORY,
         | 
| 8 | 
            +
                                     :OUTPUT, :IO, :FTP, :HTTP, :XINCLUDE, :XPATH, :XPOINTER, :REGEXP,
         | 
| 9 | 
            +
                                     :DATATYPE, :SCHEMASP, :SCHEMASV, :RELAXNGP, :RELAXNGV, :CATALOG,
         | 
| 10 | 
            +
                                     :C14N, :XSLT, :VALID, :CHECK, :WRITER, :MODULE, :I18N, :SCHEMATRONV].inject(Hash.new) do |hash, code|
         | 
| 11 | 
            +
                    if const_defined?(code)
         | 
| 12 | 
            +
                      hash[const_get(code)] = code.to_s
         | 
| 11 13 | 
             
                    end
         | 
| 14 | 
            +
                    hash
         | 
| 12 15 | 
             
                  end
         | 
| 13 16 |  | 
| 17 | 
            +
                  # Create mapping from domain constant value to keys
         | 
| 14 18 | 
             
                  ERROR_CODE_MAP = Hash.new.tap do |map|
         | 
| 15 19 | 
             
                    (constants -
         | 
| 16 20 | 
             
                     DOMAIN_CODE_MAP.values - #Domains
         | 
| 17 21 | 
             
                     [:NONE, :WARNING, :ERROR, :FATAL] # Levels
         | 
| 18 22 | 
             
                     ).each do |code|
         | 
| 19 | 
            -
                      map[const_get(code)] = code.to_s | 
| 23 | 
            +
                      map[const_get(code)] = code.to_s
         | 
| 20 24 | 
             
                    end
         | 
| 21 25 | 
             
                  end
         | 
| 22 26 |  | 
    
        data/test/tc_writer.rb
    CHANGED
    
    | @@ -404,6 +404,28 @@ class TestWriter < Test::Unit::TestCase | |
| 404 404 | 
             
                end
         | 
| 405 405 | 
             
              end
         | 
| 406 406 |  | 
| 407 | 
            +
              def test_flush
         | 
| 408 | 
            +
                writer = XML::Writer.string
         | 
| 409 | 
            +
                assert(writer.start_document)
         | 
| 410 | 
            +
                assert_equal(writer.flush.strip!, '<?xml version="1.0"?>')
         | 
| 411 | 
            +
                assert(writer.start_element 'foo')
         | 
| 412 | 
            +
                assert(writer.end_element)
         | 
| 413 | 
            +
                assert(writer.end_document)
         | 
| 414 | 
            +
                writer.flush false
         | 
| 415 | 
            +
                assert_equal(writer.result.strip, '<foo/>')
         | 
| 416 | 
            +
              end
         | 
| 417 | 
            +
             | 
| 418 | 
            +
              def test_nil_pe_issue
         | 
| 419 | 
            +
                expected = '<!DOCTYPE html [<!ENTITY special.pre "br | span | bdo | map"><!ENTITY special "%special.pre; | object | img">]>'
         | 
| 420 | 
            +
             | 
| 421 | 
            +
                writer = XML::Writer.string
         | 
| 422 | 
            +
                dtd writer, 'html' do
         | 
| 423 | 
            +
                  assert(writer.write_dtd_internal_entity 'special.pre', 'br | span | bdo | map', nil)
         | 
| 424 | 
            +
                  assert(writer.write_dtd_internal_entity 'special', '%special.pre; | object | img', nil)
         | 
| 425 | 
            +
                end
         | 
| 426 | 
            +
                assert_equal(writer.result, expected)
         | 
| 427 | 
            +
              end
         | 
| 428 | 
            +
             | 
| 407 429 | 
             
              private
         | 
| 408 430 |  | 
| 409 431 | 
             
              def document(writer, options = {})
         | 
| @@ -416,7 +438,6 @@ class TestWriter < Test::Unit::TestCase | |
| 416 438 | 
             
                assert(writer.start_dtd name, pubid, sysid)
         | 
| 417 439 | 
             
                yield if block_given?
         | 
| 418 440 | 
             
                assert(writer.end_dtd)
         | 
| 419 | 
            -
                writer.flush
         | 
| 420 441 | 
             
              end
         | 
| 421 442 |  | 
| 422 443 | 
             
              def element(writer, localname)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,8 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: libxml-ruby
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              version: 2.6.0
         | 
| 6 5 | 
             
            platform: x86-mingw32
         | 
| 7 6 | 
             
            authors:
         | 
| 8 7 | 
             
            - Ross Bamform
         | 
| @@ -15,29 +14,28 @@ authors: | |
| 15 14 | 
             
            autorequire: 
         | 
| 16 15 | 
             
            bindir: bin
         | 
| 17 16 | 
             
            cert_chain: []
         | 
| 18 | 
            -
            date: 2013- | 
| 17 | 
            +
            date: 2013-02-16 00:00:00.000000000 Z
         | 
| 19 18 | 
             
            dependencies:
         | 
| 20 19 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 21 20 | 
             
              name: hanna_guado
         | 
| 22 21 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 23 | 
            -
                none: false
         | 
| 24 22 | 
             
                requirements:
         | 
| 25 | 
            -
                - -  | 
| 23 | 
            +
                - - ">="
         | 
| 26 24 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 25 | 
             
                    version: '0'
         | 
| 28 26 | 
             
              type: :development
         | 
| 29 27 | 
             
              prerelease: false
         | 
| 30 28 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 31 | 
            -
                none: false
         | 
| 32 29 | 
             
                requirements:
         | 
| 33 | 
            -
                - -  | 
| 30 | 
            +
                - - ">="
         | 
| 34 31 | 
             
                  - !ruby/object:Gem::Version
         | 
| 35 32 | 
             
                    version: '0'
         | 
| 36 | 
            -
            description:  | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 33 | 
            +
            description: |2
         | 
| 34 | 
            +
                  The Libxml-Ruby project provides Ruby language bindings for the GNOME
         | 
| 35 | 
            +
                  Libxml2 XML toolkit. It is free software, released under the MIT License.
         | 
| 36 | 
            +
                  Libxml-ruby's primary advantage over REXML is performance - if speed
         | 
| 37 | 
            +
                  is your need, these are good libraries to consider, as demonstrated
         | 
| 38 | 
            +
                  by the informal benchmark below.
         | 
| 41 39 | 
             
            email: 
         | 
| 42 40 | 
             
            executables: []
         | 
| 43 41 | 
             
            extensions: []
         | 
| @@ -265,27 +263,26 @@ files: | |
| 265 263 | 
             
            - lib/libs/libz.dll
         | 
| 266 264 | 
             
            homepage: http://xml4r.github.com/libxml-ruby
         | 
| 267 265 | 
             
            licenses: []
         | 
| 266 | 
            +
            metadata: {}
         | 
| 268 267 | 
             
            post_install_message: 
         | 
| 269 268 | 
             
            rdoc_options: []
         | 
| 270 269 | 
             
            require_paths:
         | 
| 271 270 | 
             
            - lib
         | 
| 272 271 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 273 | 
            -
              none: false
         | 
| 274 272 | 
             
              requirements:
         | 
| 275 | 
            -
              - -  | 
| 273 | 
            +
              - - ">="
         | 
| 276 274 | 
             
                - !ruby/object:Gem::Version
         | 
| 277 275 | 
             
                  version: 1.8.6
         | 
| 278 276 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 279 | 
            -
              none: false
         | 
| 280 277 | 
             
              requirements:
         | 
| 281 | 
            -
              - -  | 
| 278 | 
            +
              - - ">="
         | 
| 282 279 | 
             
                - !ruby/object:Gem::Version
         | 
| 283 280 | 
             
                  version: '0'
         | 
| 284 281 | 
             
            requirements: []
         | 
| 285 282 | 
             
            rubyforge_project: 
         | 
| 286 | 
            -
            rubygems_version:  | 
| 283 | 
            +
            rubygems_version: 2.0.0.rc.2
         | 
| 287 284 | 
             
            signing_key: 
         | 
| 288 | 
            -
            specification_version:  | 
| 285 | 
            +
            specification_version: 4
         | 
| 289 286 | 
             
            summary: Ruby Bindings for LibXML2
         | 
| 290 287 | 
             
            test_files:
         | 
| 291 288 | 
             
            - test/tc_attr.rb
         |