spec/html2doc_spec.rb in html2doc-0.6.6 vs spec/html2doc_spec.rb in html2doc-0.6.8
- old
+ new
@@ -374,16 +374,31 @@
#{word_body(simple_body, '<div style="mso-element:footnote-list"/>')}
#{WORD_FTR1}
OUTPUT
end
+ #{word_body('<div><m:oMath><m:nary><m:naryPr><m:chr m:val="∑"></m:chr><m:limLoc m:val="undOvr"></m:limLoc><m:grow m:val="1"></m:grow><m:subHide m:val="off"></m:subHide><m:supHide m:val="off"></m:supHide></m:naryPr><m:sub><m:r><m:t>i=1</m:t></m:r></m:sub><m:sup><m:r><m:t>n</m:t></m:r></m:sup><m:e><m:sSup><m:e><m:r><m:t>i</m:t></m:r></m:e><m:sup><m:r><m:t>3</m:t></m:r></m:sup></m:sSup></m:e></m:nary><m:r><m:t>=</m:t></m:r><m:sSup><m:e><m:r><m:t>(</m:t></m:r><m:f><m:fPr><m:type m:val="bar"></m:type></m:fPr><m:num><m:r><m:t>n</m:t></m:r><m:r><m:t>(n+1)</m:t></m:r></m:num><m:den><m:r><m:t>2</m:t></m:r></m:den></m:f><m:r><m:t>)</m:t></m:r></m:e><m:sup><m:r><m:t>2</m:t></m:r></m:sup></m:sSup></m:oMath>
it "processes AsciiMath" do
Html2Doc.process(html_input("<div>{{sum_(i=1)^n i^3=((n(n+1))/2)^2}}</div>"), filename: "test", asciimathdelims: ["{{", "}}"])
expect(guid_clean(File.read("test.doc", encoding: "utf-8"))).
to match_fuzzy(<<~OUTPUT)
#{WORD_HDR} #{DEFAULT_STYLESHEET} #{WORD_HDR_END}
- #{word_body('<div><m:oMath><m:nary><m:naryPr><m:chr m:val="∑"></m:chr><m:limLoc m:val="undOvr"></m:limLoc><m:grow m:val="1"></m:grow><m:subHide m:val="off"></m:subHide><m:supHide m:val="off"></m:supHide></m:naryPr><m:sub><m:r><m:t>i=1</m:t></m:r></m:sub><m:sup><m:r><m:t>n</m:t></m:r></m:sup><m:e><m:sSup><m:e><m:r><m:t>i</m:t></m:r></m:e><m:sup><m:r><m:t>3</m:t></m:r></m:sup></m:sSup></m:e></m:nary><m:r><m:t>=</m:t></m:r><m:sSup><m:e><m:r><m:t>(</m:t></m:r><m:f><m:fPr><m:type m:val="bar"></m:type></m:fPr><m:num><m:r><m:t>n</m:t></m:r><m:r><m:t>(n+1)</m:t></m:r></m:num><m:den><m:r><m:t>2</m:t></m:r></m:den></m:f><m:r><m:t>)</m:t></m:r></m:e><m:sup><m:r><m:t>2</m:t></m:r></m:sup></m:sSup></m:oMath>
+ #{word_body('
+ <div><m:oMath>
+ <m:nary><m:naryPr><m:chr m:val="∑"></m:chr><m:limLoc m:val="undOvr"></m:limLoc><m:grow m:val="on"></m:grow><m:subHide m:val="off"></m:subHide><m:supHide m:val="off"></m:supHide></m:naryPr><m:sub>
+ <m:r><m:t>i=1</m:t></m:r>
+ </m:sub><m:sup><m:r><m:t>n</m:t></m:r></m:sup><m:e><m:sSup><m:e><m:r><m:t>i</m:t></m:r></m:e><m:sup><m:r><m:t>3</m:t></m:r></m:sup></m:sSup></m:e></m:nary>
+ <m:r><m:t>=</m:t></m:r>
+ <m:sSup><m:e>
+ <m:r><m:t>(</m:t></m:r>
+ <m:f><m:fPr><m:type m:val="bar"></m:type></m:fPr><m:num>
+ <m:r><m:t>n</m:t></m:r>
+ <m:r><m:t>(n+1)</m:t></m:r>
+ </m:num><m:den><m:r><m:t>2</m:t></m:r></m:den></m:f>
+ <m:r><m:t>)</m:t></m:r>
+ </m:e><m:sup><m:r><m:t>2</m:t></m:r></m:sup></m:sSup>
+ </m:oMath>
</div>', '<div style="mso-element:footnote-list"/>')}
#{WORD_FTR1}
OUTPUT
end
@@ -391,11 +406,12 @@
Html2Doc.process(html_input("<div><math xmlns='http://www.w3.org/1998/Math/MathML'>
<munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi></mrow></munderover><msup><mn>2</mn><mrow><mi>i</mi></mrow></msup></math></div>"), filename: "test", asciimathdelims: ["{{", "}}"])
expect(guid_clean(File.read("test.doc", encoding: "utf-8"))).
to match_fuzzy(<<~OUTPUT)
#{WORD_HDR} #{DEFAULT_STYLESHEET} #{WORD_HDR_END}
- #{word_body('<div><m:oMath><m:nary><m:naryPr><m:chr m:val="∑"></m:chr><m:limLoc m:val="undOvr"></m:limLoc><m:grow m:val="1"></m:grow><m:subHide m:val="off"></m:subHide><m:supHide m:val="off"></m:supHide></m:naryPr><m:sub><m:r><m:t>i=0</m:t></m:r></m:sub><m:sup><m:r><m:t>n</m:t></m:r></m:sup><m:e><m:sSup><m:e><m:r><m:t>2</m:t></m:r></m:e><m:sup><m:r><m:t>i</m:t></m:r></m:sup></m:sSup></m:e></m:nary></m:oMath>
+ #{word_body('<div><m:oMath>
+ <m:nary><m:naryPr><m:chr m:val="∑"></m:chr><m:limLoc m:val="undOvr"></m:limLoc><m:grow m:val="on"></m:grow><m:subHide m:val="off"></m:subHide><m:supHide m:val="off"></m:supHide></m:naryPr><m:sub><m:r><m:t>i=0</m:t></m:r></m:sub><m:sup><m:r><m:t>n</m:t></m:r></m:sup><m:e><m:sSup><m:e><m:r><m:t>2</m:t></m:r></m:e><m:sup><m:r><m:t>i</m:t></m:r></m:sup></m:sSup></m:e></m:nary></m:oMath>
</div>', '<div style="mso-element:footnote-list"/>')}
#{WORD_FTR1}
OUTPUT
end
@@ -568,7 +584,26 @@
'<div style="mso-element:footnote-list"/>')}
#{WORD_FTR1}
OUTPUT
end
+ it "replaces id attributes with explicit a@name bookmarks" do
+ simple_body = <<~BODY
+ <div>
+ <p id="a">Hello</p>
+ <p id="b"/>
+ </div>
+ BODY
+ Html2Doc.process(html_input(simple_body), filename: "test", liststyles: {ul: "l1", ol: "l2"})
+ expect(guid_clean(File.read("test.doc", encoding: "utf-8"))).
+ to match_fuzzy(<<~OUTPUT)
+ #{WORD_HDR} #{DEFAULT_STYLESHEET} #{WORD_HDR_END}
+ #{word_body('<div>
+ <p class="MsoNormal"><a name="a" id="a"></a>Hello</p>
+ <p class="MsoNormal"><a name="b" id="b"></a></p>
+ </div>',
+ '<div style="mso-element:footnote-list"/>')}
+ #{WORD_FTR1}
+ OUTPUT
+ end
end