Giter Site home page Giter Site logo

Comments (4)

WaKeMaTTa avatar WaKeMaTTa commented on June 12, 2024 2

Example using plain ruby:

require 'docx'

# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('example.docx')

# Checks
if doc.paragraphs.count != 2
  raise "Document doesn't have 2 paragraphs." 
end

if doc.paragraphs[0].text.match?(/^Hello/)
  raise "The 1st paragraph doesn't start with the word 'Hello'." 
end

if doc.paragraphs[1].text == "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
  raise "The 2nd paragraph doesn't contain the expected text." 
end

from docx.

crystal-wb avatar crystal-wb commented on June 12, 2024 2

Example using plain ruby:

require 'docx'

# Create a Docx::Document object for our existing docx file
doc = Docx::Document.open('example.docx')

# Checks
if doc.paragraphs.count != 2
  raise "Document doesn't have 2 paragraphs." 
end

if doc.paragraphs[0].text.match?(/^Hello/)
  raise "The 1st paragraph doesn't start with the word 'Hello'." 
end

if doc.paragraphs[1].text == "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
  raise "The 2nd paragraph doesn't contain the expected text." 
end

Thank you for your so much for your guidance. I will keep this in mind if I end up using ruby-docx in the future. Since I only needed plain text for the tests I decided to switched to the gem doc_ripper. It works very nicely for checking contents.

from docx.

crystal-wb avatar crystal-wb commented on June 12, 2024

I used Docx::Document.open on the file and saved the output to a variable. Then I returned the variable and it seemed to be readable. I thought I had needed to do something like File.read. So I was confused. My apologies.

from docx.

crystal-wb avatar crystal-wb commented on June 12, 2024

Actually I tried testing it and it does not work. I still need help regarding testing the content of the docx. I'm not sure what I'm supposed to do with the Docx::Document object.

from docx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.