@@ -667,16 +667,25 @@ def test_strict_mode
667
667
assert_match ( /no such column: "?nope"?/ , error . message )
668
668
end
669
669
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
+
670
679
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 )
672
681
db . enable_load_extension ( true )
673
682
674
683
assert_raises ( SQLite3 ::Exception ) { db . load_extension ( "/nonexistent/path" ) }
675
684
assert_raises ( SQLite3 ::Exception ) { db . load_extension ( Pathname . new ( "nonexistent" ) ) }
676
685
end
677
686
678
687
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 )
680
689
db . enable_load_extension ( true )
681
690
682
691
assert_raises ( TypeError ) { db . load_extension ( 1 ) }
@@ -686,6 +695,8 @@ def test_load_extension_error_with_invalid_argument
686
695
end
687
696
688
697
def test_load_extension_with_an_extension_descriptor
698
+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
699
+
689
700
mock_database_load_extension_internal ( db )
690
701
691
702
db . load_extension ( Pathname . new ( "/path/to/ext2" ) )
@@ -698,7 +709,10 @@ def test_load_extension_with_an_extension_descriptor
698
709
end
699
710
700
711
def test_initialize_extensions_with_extensions_calls_enable_load_extension
712
+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
713
+
701
714
mock_database_load_extension_internal ( db )
715
+
702
716
class << db
703
717
attr_accessor :enable_load_extension_called
704
718
attr_reader :enable_load_extension_arg
@@ -734,6 +748,8 @@ def enable_load_extension(val)
734
748
end
735
749
736
750
def test_initialize_extensions_object_is_an_extension_specifier
751
+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
752
+
737
753
mock_database_load_extension_internal ( db )
738
754
739
755
db . initialize_extensions ( [ Pathname . new ( "/path/to/extension" ) ] )
@@ -746,6 +762,8 @@ def test_initialize_extensions_object_is_an_extension_specifier
746
762
end
747
763
748
764
def test_initialize_extensions_object_not_an_extension_specifier
765
+ skip ( "extensions are not enabled" ) unless db . respond_to? ( :enable_load_extension )
766
+
749
767
mock_database_load_extension_internal ( db )
750
768
751
769
db . initialize_extensions ( [ "/path/to/extension" ] )
0 commit comments