record: Nummern unter 1 und Text sind ein Fehler statt Zeilen vom Ende

This commit is contained in:
wkh
2026-10-11 22:48:42 +02:00
parent f83d1bd6f8
commit d5286c3600
3 changed files with 19 additions and 0 deletions
+14
View File
@@ -5,6 +5,20 @@ require 'pty'
require_relative '../lib/rdb'
class SelectionTest < RdbCase
def test_record_rejects_numbers_below_one_and_junk
%w[0 -1 abc 2.5].each do |n|
out, err, st = run3('record', n, stdin: File.read(File.join(@dir, 'owners')))
refute st.success?, "record #{n} should fail"
assert_equal '', out
assert_match(/not a record number/, err)
end
end
def test_record_beyond_the_end_is_an_empty_table
assert_equal [], data(rdb('record', '9', file: 'owners'))
assert_equal [%w[6 cy]], data(rdb('record', '3', file: 'owners'))
end
def test_row_numeric_condition
out = rdb('row', 'Cost > 5', file: 'inventory')
assert_equal %w[3 6 7], data(out).map(&:first)