Actions
Bug #12422
closedCSV.Table.== fails to check object type
Description
CSV::Table
's equality method presumes it is comparing another CSV::Table
. It fails when the object to be compared doesn't support the table
method.
This is more or less the same issue as reported and fixed in Bug #7528 (https://bugs.ruby-lang.org/issues/7528).
Test Case¶
require 'csv'
CSV.parse("test", headers: true) == nil
# => NoMethodError: undefined method `table' for nil:NilClass
Suggested Patch¶
Following the implementation used in CSV::Row
, a suggested patch would be:
def ==(other)
return @table == other.table if other.is_a? CSV::Table
@table == other
end
Updated by nobu (Nobuyoshi Nakada) almost 8 years ago
- Description updated (diff)
- Status changed from Open to Assigned
- Assignee set to JEG2 (James Gray)
- Backport changed from 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN to 2.1: REQUIRED, 2.2: REQUIRED, 2.3: REQUIRED
Updated by hsbt (Hiroshi SHIBATA) over 6 years ago
- Assignee changed from JEG2 (James Gray) to hsbt (Hiroshi SHIBATA)
Updated by hsbt (Hiroshi SHIBATA) over 6 years ago
- Status changed from Assigned to Closed
Applied in changeset trunk|r59641.
Fixed equality method fails when given the object that doesn't support table method.
[Bug #12422][ruby-core:75707]
Actions
Like0
Like0Like0Like0