Defect #39991 » 39991.patch
| app/models/query.rb | ||
|---|---|---|
| 1276 | 1276 |       sql += " OR #{db_table}.#{db_field} = ''" if is_custom_filter || [:text, :string].include?(type_for(field)) | 
| 1277 | 1277 | when "*" | 
| 1278 | 1278 |       sql = "#{db_table}.#{db_field} IS NOT NULL" | 
| 1279 |       sql += " AND #{db_table}.#{db_field} <> ''" if is_custom_filter | |
| 1279 |       sql += " AND #{db_table}.#{db_field} <> ''" if is_custom_filter || [:text, :string].include?(type_for(field)) | |
| 1280 | 1280 | when ">=" | 
| 1281 | 1281 | if [:date, :date_past].include?(type_for(field)) | 
| 1282 | 1282 | sql = date_clause(db_table, db_field, parse_date(value.first), nil, is_custom_filter) | 
| test/unit/query_test.rb | ||
|---|---|---|
| 214 | 214 |     assert issues.all? {|i| i.custom_field_value(2).blank?} | 
| 215 | 215 | end | 
| 216 | 216 | |
| 217 | def test_operator_none_for_text | |
| 217 |   def test_operator_none_for_blank_text | |
| 218 | 218 | query = IssueQuery.new(:name => '_') | 
| 219 | 219 |     query.add_filter('status_id', '*', ['']) | 
| 220 | 220 |     query.add_filter('description', '!*', ['']) | 
| ... | ... | |
| 226 | 226 | assert_equal [11, 12], issues.map(&:id).sort | 
| 227 | 227 | end | 
| 228 | 228 | |
| 229 | def test_operator_any_for_blank_text | |
| 230 | Issue.where(id: [1, 2]).update_all(description: '') | |
| 231 | query = IssueQuery.new(:name => '_') | |
| 232 |     query.add_filter('status_id', '*', ['']) | |
| 233 |     query.add_filter('description', '*', ['']) | |
| 234 |     assert query.has_filter?('description') | |
| 235 | issues = find_issues_with_query(query) | |
| 236 | ||
| 237 | assert issues.any? | |
| 238 |     assert issues.all? {|i| i.description.present?} | |
| 239 | assert_empty issues.map(&:id) & [1, 2] | |
| 240 | end | |
| 241 | ||
| 229 | 242 | def test_operator_all | 
| 230 | 243 | query = IssueQuery.new(:project => Project.find(1), :name => '_') | 
| 231 | 244 |     query.add_filter('fixed_version_id', '*', ['']) | 
- « Previous
- 1
- 2
- Next »