Sam Ruby wrote:
>
> I'm also seeing other
> oddities with encodings that I will try to build a more focused test
> case for.
I'm giving up building a smaller test case for the moment. The symptoms
are rather odd, and literally takes only ten seconds to recreate --
including the downloads.
svn checkout -r 110 http://builder.rubyforge.org/svn/trunk/ builder
wget http://intertwingly.net/stories/2008/01/04/builder5.diff
cd builder
patch -p 0 < ../builder5.diff
export RUBYLIB=lib
rake test_all
# 101 tests, 173 assertions, 0 failures, 0 errors
mv test/test_xchar.rb test/test_xchar.save
sed -e 's/force_encoding.*/force_encoding(Encoding.find("BINARY"))/' <
test/test_xchar.save > test/test_xchar.rb
rake test_all
# ArgumentError: unknown encoding name - BINARY
rm test/test_markupbuilder.rb
rm test/test_eventbuilder.rb
rake test_all
# 30 tests, 39 assertions, 0 failures, 0 errors
What's going on here is that I have a patch that makes builder pass its
unit test suite on Ruby 1.9, but if I change one line to find the
encoding named 'BINARY' later on in the run, it fails, even though it
was able to find this alias for the encoding earlier in the run. If I
then remove some unrelated tests (both sets need to be removed, removing
just one isn't sufficient), and the tests pass again.
Also of note: while finding the 'BINARY' encoding fails, finding
'ASCII-8BIT' succeeds.
This test passes on revision 15007 of ruby, but not on revision 15047.
- Sam Ruby