diff --git a/lib/sqlite3/pragmas.rb b/lib/sqlite3/pragmas.rb index 6fd4ae11..e67948f4 100644 --- a/lib/sqlite3/pragmas.rb +++ b/lib/sqlite3/pragmas.rb @@ -11,7 +11,7 @@ module Pragmas # Returns +true+ or +false+ depending on the value of the named pragma. def get_boolean_pragma( name ) - get_first_value( "PRAGMA #{name}" ) != "0" + get_first_value( "PRAGMA #{name}" ) != 0 end # Sets the given pragma to the given boolean value. The value itself @@ -260,7 +260,7 @@ def full_column_names def full_column_names=( mode ) set_boolean_pragma "full_column_names", mode end - + def fullfsync get_boolean_pragma "fullfsync" end @@ -356,7 +356,7 @@ def page_size=( size ) def parser_trace=( mode ) set_boolean_pragma "parser_trace", mode end - + def query_only get_boolean_pragma "query_only" end diff --git a/test/test_pragmas.rb b/test/test_pragmas.rb new file mode 100644 index 00000000..504e7091 --- /dev/null +++ b/test/test_pragmas.rb @@ -0,0 +1,22 @@ +require 'helper' + +module SQLite3 + class TestPragmas < SQLite3::TestCase + def setup + super + @db = SQLite3::Database.new(":memory:") + end + + def test_get_boolean_pragma + refute(@db.get_boolean_pragma("read_uncommitted")) + end + + def test_set_boolean_pragma + @db.set_boolean_pragma("read_uncommitted", 1) + + assert(@db.get_boolean_pragma("read_uncommitted")) + ensure + @db.set_boolean_pragma("read_uncommitted", 0) + end + end +end