|
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