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:
parent
2bdc4ddc06
commit
0ab54f4a49
7 changed files with 33 additions and 63 deletions
|
@ -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 [
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
Loading…
Reference in a new issue