<div dir="ltr">Hi Andrew,<div><br></div><div>Regarding the first question I do not know what it could be the reason but it must load something in a different way and/or the tests are not isolated. For the second answer: you could test the PDFs using a fingerprint of the file.</div>
<div><br></div><div><br></div><div>Riccardo</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 19 September 2013 11:59, Andrew Stewart <span dir="ltr"><<a href="mailto:boss@airbladesoftware.com" target="_blank">boss@airbladesoftware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello LRUG,<br>
<br>
I have a Rails 3.0 app which generates PDFs.  There are a couple of different themes which change how the PDF content looks, e.g. fonts, layout, etc.<br>
<br>
To test this I generated a reference PDF in each theme (via the first method below).  The tests generate the PDF again for each theme and verify the generated PDF and the respective reference PDF are identical (using FileUtils.identical?(a, b) ).<br>

<br>
The weird thing is one theme's test pass or fail depending on how you run the test.  Specifically the first two ways pass and the third fails:<br>
<br>
$ bundle exec ruby -Ilib:test test/unit/my_test.rb<br>
$ bundle exec rake test:units TEST=test/unit/my_test.rb<br>
$ bundle exec rake test:units<br>
<br>
The theme's reference PDF is 399582 bytes.  The last way produces a visually identical PDF of 399583 bytes.  When I diff the PDFs I get:<br>
<br>
260c260<br>
< /BaseFont /AAAAAD+CaviarDreams<br>
---<br>
> /BaseFont /AAAAAA+CaviarDreams<br>
548c548<br>
< /BaseFont /AAAAAE+CaviarDreams-Bold<br>
---<br>
> /BaseFont /AAAAAB+CaviarDreams-Bold<br>
1235c1235<br>
< << /Length 5410<br>
---<br>
> << /Length 5409<br>
1240,1257c1240,1257<br>
[binary stuff snipped]<br>
<br>
So my first question is why am I getting different results?  And another question that comes to mind: is there a better way to test all this?<br>
<br>
Thanks in advance,<br>
Andy Stewart<br>
----<br>
<a href="http://airbladesoftware.com" target="_blank">http://airbladesoftware.com</a><br>
<br>
_______________________________________________<br>
Chat mailing list<br>
<a href="mailto:Chat@lists.lrug.org">Chat@lists.lrug.org</a><br>
<a href="http://lists.lrug.org/listinfo.cgi/chat-lrug.org" target="_blank">http://lists.lrug.org/listinfo.cgi/chat-lrug.org</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Riccardo Tacconi<br>Ruby on Rails and PHP development - System Administration<br><a href="http://www.virtuelogic.net/" target="_blank">VIRTUELOGIC LIMITED</a><br>
<br><a href="http://github.com/rtacconi" target="_blank">http://github.com/rtacconi</a><br><a href="http://riccardotacconi.blogspot.com" target="_blank">http://riccardotacconi.blogspot.com</a><br><a href="http://twitter.com/rtacconi" target="_blank">http://twitter.com/rtacconi</a>
</div>