moxml 0.2.0 → 0.4.0
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 +4 -4
- data/lib/compat/opal/moxml_boot.rb +1 -1
- data/lib/moxml/adapter/base.rb +10 -7
- data/lib/moxml/adapter/leptris.rb +30 -1
- data/lib/moxml/adapter/libxml.rb +59 -25
- data/lib/moxml/adapter/oga.rb +48 -1
- data/lib/moxml/adapter/rexml.rb +3 -1
- data/lib/moxml/builder.rb +0 -18
- data/lib/moxml/config.rb +0 -2
- data/lib/moxml/context.rb +24 -0
- data/lib/moxml/document.rb +1 -1
- data/lib/moxml/entity/restorer.rb +95 -0
- data/lib/moxml/entity.rb +1 -0
- data/lib/moxml/entity_registry.rb +1 -1
- data/lib/moxml/error.rb +0 -42
- data/lib/moxml/node.rb +45 -9
- data/lib/moxml/node_set.rb +1 -1
- data/lib/moxml/version.rb +1 -1
- data/lib/moxml/xpath/compiler.rb +85 -2
- data/lib/moxml.rb +0 -3
- data/spec/integration/all_adapters_spec.rb +1 -1
- data/spec/integration/shared_examples/high_level/{document_builder_behavior.rb → parse_behavior.rb} +1 -2
- data/spec/integration/shared_examples/node_wrappers/node_behavior.rb +15 -0
- data/spec/moxml/adapter/leptris_spec.rb +9 -1
- data/spec/moxml/adapter/libxml_internals_spec.rb +1 -1
- data/spec/moxml/config_spec.rb +0 -1
- data/spec/moxml/context_spec.rb +22 -0
- data/spec/moxml/error_spec.rb +0 -50
- data/spec/moxml/xpath/axes_spec.rb +40 -0
- metadata +4 -6
- data/lib/moxml/adapter/libxml/entity_restorer.rb +0 -94
- data/lib/moxml/document_builder.rb +0 -167
- data/spec/moxml/document_builder_spec.rb +0 -30
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require "spec_helper"
|
|
4
|
-
|
|
5
|
-
# DocumentBuilder is an internal class for parsing
|
|
6
|
-
# These tests verify it correctly builds Moxml document from native documents
|
|
7
|
-
RSpec.describe Moxml::DocumentBuilder do
|
|
8
|
-
let(:context) { Moxml.new }
|
|
9
|
-
|
|
10
|
-
describe "#build" do
|
|
11
|
-
it "builds a Moxml document from native document" do
|
|
12
|
-
native_doc = context.parse("<root><child>content</child></root>").native
|
|
13
|
-
builder = described_class.new(context)
|
|
14
|
-
doc = builder.build(native_doc)
|
|
15
|
-
|
|
16
|
-
expect(doc).to be_a(Moxml::Document)
|
|
17
|
-
expect(doc.root.name).to eq("root")
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe "element handling" do
|
|
22
|
-
it "handles nested elements" do
|
|
23
|
-
native_doc = context.parse("<parent><child1/><child2/></parent>").native
|
|
24
|
-
builder = described_class.new(context)
|
|
25
|
-
doc = builder.build(native_doc)
|
|
26
|
-
|
|
27
|
-
expect(doc.root.children.length).to eq(2)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|