@@ -667,16 +667,25 @@ def test_strict_mode
667667 assert_match ( /no such column: "?nope"?/ , error . message )
668668 end
669669
670+ def test_load_extension_is_defined_on_expected_platforms
671+ if ::RUBY_PLATFORM =~ /mingw|mswin/ && SQLite3 ::SQLITE_PACKAGED_LIBRARIES
672+ skip ( "as of sqlite 3.48.0, the autoconf amalgamation does not reliably find dlopen" \
673+ "on windows when building sqlite from source" )
674+ end
675+ assert_respond_to ( db , :load_extension )
676+ assert_respond_to ( db , :enable_load_extension )
677+ end
678+
670679 def test_load_extension_error_with_nonexistent_path
671- skip ( "extensions are not enabled" ) unless db . respond_to? ( :load_extension )
680+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
672681 db . enable_load_extension ( true )
673682
674683 assert_raises ( SQLite3 ::Exception ) { db . load_extension ( "/nonexistent/path" ) }
675684 assert_raises ( SQLite3 ::Exception ) { db . load_extension ( Pathname . new ( "nonexistent" ) ) }
676685 end
677686
678687 def test_load_extension_error_with_invalid_argument
679- skip ( "extensions are not enabled" ) unless db . respond_to? ( :load_extension )
688+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
680689 db . enable_load_extension ( true )
681690
682691 assert_raises ( TypeError ) { db . load_extension ( 1 ) }
@@ -686,6 +695,8 @@ def test_load_extension_error_with_invalid_argument
686695 end
687696
688697 def test_load_extension_with_an_extension_descriptor
698+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
699+
689700 mock_database_load_extension_internal ( db )
690701
691702 db . load_extension ( Pathname . new ( "/path/to/ext2" ) )
@@ -698,7 +709,10 @@ def test_load_extension_with_an_extension_descriptor
698709 end
699710
700711 def test_initialize_extensions_with_extensions_calls_enable_load_extension
712+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
713+
701714 mock_database_load_extension_internal ( db )
715+
702716 class << db
703717 attr_accessor :enable_load_extension_called
704718 attr_reader :enable_load_extension_arg
@@ -734,6 +748,8 @@ def enable_load_extension(val)
734748 end
735749
736750 def test_initialize_extensions_object_is_an_extension_specifier
751+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
752+
737753 mock_database_load_extension_internal ( db )
738754
739755 db . initialize_extensions ( [ Pathname . new ( "/path/to/extension" ) ] )
@@ -746,6 +762,8 @@ def test_initialize_extensions_object_is_an_extension_specifier
746762 end
747763
748764 def test_initialize_extensions_object_not_an_extension_specifier
765+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
766+
749767 mock_database_load_extension_internal ( db )
750768
751769 db . initialize_extensions ( [ "/path/to/extension" ] )
0 commit comments