1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Create XMLMiniEngineTest; base class for all tests

This commit is contained in:
Jon Moss 2016-11-20 10:09:20 -05:00
parent 2bdc4ddc06
commit 0ab54f4a49
7 changed files with 33 additions and 63 deletions

View file

@ -1,14 +1,9 @@
if RUBY_PLATFORM.include?("java") require_relative "xml_mini_engine_test"
require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
require_relative "./common"
class JDOMEngineTest < ActiveSupport::TestCase XMLMiniEngineTest.run_with_platform("java") do
class JDOMEngineTest < XMLMiniEngineTest
FILES_DIR = File.dirname(__FILE__) + "/../fixtures/xml" FILES_DIR = File.dirname(__FILE__) + "/../fixtures/xml"
include CommonXMLMiniAdapterTest
def test_not_allowed_to_expand_entities_to_files def test_not_allowed_to_expand_entities_to_files
attack_xml = <<-EOT attack_xml = <<-EOT
<!DOCTYPE member [ <!DOCTYPE member [

View file

@ -1,16 +1,7 @@
begin require_relative "xml_mini_engine_test"
require "libxml"
rescue LoadError
# Skip libxml tests
else
require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
require_relative "./common"
class LibxmlEngineTest < ActiveSupport::TestCase
include CommonXMLMiniAdapterTest
XMLMiniEngineTest.run_with_gem("libxml") do
class LibxmlEngineTest < XMLMiniEngineTest
def setup def setup
super super
LibXML::XML::Error.set_handler(&lambda { |error| }) #silence libxml, exceptions will do LibXML::XML::Error.set_handler(&lambda { |error| }) #silence libxml, exceptions will do

View file

@ -1,16 +1,7 @@
begin require_relative "xml_mini_engine_test"
require "libxml"
rescue LoadError
# Skip libxml tests
else
require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
require_relative "./common"
class LibXMLSAXEngineTest < ActiveSupport::TestCase
include CommonXMLMiniAdapterTest
XMLMiniEngineTest.run_with_gem("libxml") do
class LibXMLSAXEngineTest < XMLMiniEngineTest
private private
def engine def engine

View file

@ -1,16 +1,7 @@
begin require_relative "xml_mini_engine_test"
require "nokogiri"
rescue LoadError
# Skip nokogiri tests
else
require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
require_relative "./common"
class NokogiriEngineTest < ActiveSupport::TestCase
include CommonXMLMiniAdapterTest
XMLMiniEngineTest.run_with_gem("nokogiri") do
class NokogiriEngineTest < XMLMiniEngineTest
private private
def engine def engine

View file

@ -1,16 +1,7 @@
begin require_relative "xml_mini_engine_test"
require "nokogiri"
rescue LoadError
# Skip nokogiri tests
else
require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
require_relative "./common"
class NokogiriSAXEngineTest < ActiveSupport::TestCase
include CommonXMLMiniAdapterTest
XMLMiniEngineTest.run_with_gem("nokogiri") do
class NokogiriSAXEngineTest < XMLMiniEngineTest
private private
def engine def engine

View file

@ -1,10 +1,6 @@
require "abstract_unit" require_relative "xml_mini_engine_test"
require "active_support/xml_mini"
require_relative "./common"
class REXMLEngineTest < ActiveSupport::TestCase
include CommonXMLMiniAdapterTest
class REXMLEngineTest < XMLMiniEngineTest
def test_default_is_rexml def test_default_is_rexml
assert_equal ActiveSupport::XmlMini_REXML, ActiveSupport::XmlMini.backend assert_equal ActiveSupport::XmlMini_REXML, ActiveSupport::XmlMini.backend
end end

View file

@ -1,4 +1,19 @@
module CommonXMLMiniAdapterTest require "abstract_unit"
require "active_support/xml_mini"
require "active_support/core_ext/hash/conversions"
class XMLMiniEngineTest < ActiveSupport::TestCase
def self.run_with_gem(gem_name)
require gem_name
yield
rescue LoadError
# Skip tests unless gem is available
end
def self.run_with_platform(platform_name)
yielf if RUBY_PLATFORM.include?(platform_name)
end
def setup def setup
@default_backend = ActiveSupport::XmlMini.backend @default_backend = ActiveSupport::XmlMini.backend
ActiveSupport::XmlMini.backend = engine ActiveSupport::XmlMini.backend = engine