|
33 | 33 | package nokogiri; |
34 | 34 |
|
35 | 35 | import static java.lang.Math.max; |
36 | | -import static nokogiri.internals.NokogiriHelpers.*; |
| 36 | +import static nokogiri.internals.NokogiriHelpers.clearXpathContext; |
| 37 | +import static nokogiri.internals.NokogiriHelpers.convertEncoding; |
| 38 | +import static nokogiri.internals.NokogiriHelpers.convertString; |
| 39 | +import static nokogiri.internals.NokogiriHelpers.getCachedNodeOrCreate; |
| 40 | +import static nokogiri.internals.NokogiriHelpers.getNokogiriClass; |
| 41 | +import static nokogiri.internals.NokogiriHelpers.isBlank; |
| 42 | +import static nokogiri.internals.NokogiriHelpers.nodeArrayToRubyArray; |
| 43 | +import static nokogiri.internals.NokogiriHelpers.nonEmptyStringOrNil; |
| 44 | +import static nokogiri.internals.NokogiriHelpers.rubyStringToString; |
| 45 | +import static nokogiri.internals.NokogiriHelpers.stringOrNil; |
37 | 46 |
|
38 | 47 | import java.io.ByteArrayInputStream; |
39 | 48 | import java.io.InputStream; |
|
43 | 52 | import java.util.Iterator; |
44 | 53 | import java.util.List; |
45 | 54 |
|
46 | | -import nokogiri.internals.HtmlDomParserContext; |
47 | | -import nokogiri.internals.NokogiriHelpers; |
48 | | -import nokogiri.internals.NokogiriNamespaceCache; |
49 | | -import nokogiri.internals.SaveContextVisitor; |
50 | | -import nokogiri.internals.XmlDomParserContext; |
51 | | - |
52 | 55 | import org.apache.xerces.dom.CoreDocumentImpl; |
53 | 56 | import org.jruby.Ruby; |
54 | 57 | import org.jruby.RubyArray; |
55 | 58 | import org.jruby.RubyClass; |
56 | | -import org.jruby.RubyInteger; |
57 | 59 | import org.jruby.RubyFixnum; |
| 60 | +import org.jruby.RubyInteger; |
58 | 61 | import org.jruby.RubyModule; |
59 | 62 | import org.jruby.RubyObject; |
60 | 63 | import org.jruby.RubyString; |
|
76 | 79 | import org.w3c.dom.NodeList; |
77 | 80 | import org.w3c.dom.Text; |
78 | 81 |
|
| 82 | +import nokogiri.internals.HtmlDomParserContext; |
| 83 | +import nokogiri.internals.NokogiriHelpers; |
| 84 | +import nokogiri.internals.NokogiriNamespaceCache; |
| 85 | +import nokogiri.internals.SaveContextVisitor; |
| 86 | +import nokogiri.internals.XmlDomParserContext; |
| 87 | + |
79 | 88 | /** |
80 | 89 | * Class for Nokogiri::XML::Node |
81 | 90 | * |
@@ -1542,6 +1551,10 @@ protected IRubyObject adoptAs(ThreadContext context, AdoptScheme scheme, |
1542 | 1551 | try { |
1543 | 1552 | Document prev = otherNode.getOwnerDocument(); |
1544 | 1553 | Document doc = thisNode.getOwnerDocument(); |
| 1554 | + if (doc == null && thisNode instanceof Document) { |
| 1555 | + // we are adding the new node to a new empty document |
| 1556 | + doc = (Document) thisNode; |
| 1557 | + } |
1545 | 1558 | clearXpathContext(prev); |
1546 | 1559 | clearXpathContext(doc); |
1547 | 1560 | if (doc != null && doc != otherNode.getOwnerDocument()) { |
|
0 commit comments