@@ -635,6 +635,44 @@ def test_strict_strings_by_default
635
635
end
636
636
end
637
637
638
+ def test_strict_strings_by_default_and_true_in_database_yml
639
+ conn = Base . sqlite3_connection ( database : ":memory:" , adapter : "sqlite3" , strict : true )
640
+ conn . create_table :testings
641
+
642
+ error = assert_raises ( StandardError ) do
643
+ conn . add_index :testings , :non_existent
644
+ end
645
+ assert_match ( /no such column: non_existent/ , error . message )
646
+
647
+ with_strict_strings_by_default do
648
+ conn = Base . sqlite3_connection ( database : ":memory:" , adapter : "sqlite3" , strict : true )
649
+ conn . create_table :testings
650
+
651
+ error = assert_raises ( StandardError ) do
652
+ conn . add_index :testings , :non_existent2
653
+ end
654
+ assert_match ( /no such column: non_existent2/ , error . message )
655
+ end
656
+ end
657
+
658
+ def test_strict_strings_by_default_and_false_in_database_yml
659
+ conn = Base . sqlite3_connection ( database : ":memory:" , adapter : "sqlite3" , strict : false )
660
+ conn . create_table :testings
661
+
662
+ assert_nothing_raised do
663
+ conn . add_index :testings , :non_existent
664
+ end
665
+
666
+ with_strict_strings_by_default do
667
+ conn = Base . sqlite3_connection ( database : ":memory:" , adapter : "sqlite3" , strict : false )
668
+ conn . create_table :testings
669
+
670
+ assert_nothing_raised do
671
+ conn . add_index :testings , :non_existent
672
+ end
673
+ end
674
+ end
675
+
638
676
private
639
677
def assert_logged ( logs )
640
678
subscriber = SQLSubscriber . new
0 commit comments