Skip to content
Browse files

dump IO encoding value along with schema.rb so the file can be reload…

…ed. fixes #1592
  • Loading branch information...
1 parent 455e9e7 commit 3d6e1872550f284dd387ffc87a984a9036376062 @tenderlove tenderlove committed Jul 29, 2011
Showing with 16 additions and 3 deletions.
  1. +4 −0 activerecord/lib/active_record/schema_dumper.rb
  2. +12 −3 activerecord/test/cases/schema_dumper_test.rb
View
4 activerecord/lib/active_record/schema_dumper.rb
@@ -40,6 +40,10 @@ def initialize(connection)
def header(stream)
define_params = @version ? ":version => #{@version}" : ""
+ if stream.respond_to?(:external_encoding)
+ stream.puts "# encoding: #{stream.external_encoding.name}"
+ end
+
stream.puts <<HEADER
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
View
15 activerecord/test/cases/schema_dumper_test.rb
@@ -3,11 +3,20 @@
class SchemaDumperTest < ActiveRecord::TestCase
+ def setup
+ @stream = StringIO.new
+ end
+
def standard_dump
- stream = StringIO.new
+ @stream = StringIO.new
ActiveRecord::SchemaDumper.ignore_tables = []
- ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
- stream.string
+ ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, @stream)
+ @stream.string
+ end
+
+ def test_magic_comment
+ skip "only test magic comments on 1.9" if RUBY_VERSION < '1.9'
+ assert_match "# encoding: #{@stream.external_encoding.name}", standard_dump
end
def test_schema_dump

0 comments on commit 3d6e187

Please sign in to comment.
Something went wrong with that request. Please try again.