Project

General

Profile

Defect #38055 » 38055-v2.patch

Go MAEDA, 2026-02-17 03:37

View differences:

app/models/query.rb
1448 1448
      sql = sql_contains("#{db_table}.#{db_field}", value.first)
1449 1449
    when "!~"
1450 1450
      sql = sql_contains("#{db_table}.#{db_field}", value.first, :match => false)
1451
      sql += " OR #{db_table}.#{db_field} IS NULL" if is_custom_filter
1451 1452
    when "*~"
1452 1453
      sql = sql_contains("#{db_table}.#{db_field}", value.first, :all_words => false)
1453 1454
    when "^"
test/unit/query_test.rb
739 739
    assert_not_include issue, result
740 740
  end
741 741

  
742
  def test_operator_does_not_contain_on_text_custom_field
743
    query = IssueQuery.new(:name => '_')
744
    query.filters = {"cf_2" => {:operator => '!~', :values => ['125']}}
745
    result = find_issues_with_query(query)
746
    # "cf_2" (Searchable field) custom field's available trackers are only 1:Bug and 3:Support request.
747
    # 8(Issue.visible.where(tracker: [1,3])) - 2(contain "125") = 6(not contain "125")
748
    assert_equal 6, result.size
749
  end
750

  
742 751
  def test_operator_contains_any_of
743 752
    User.current = User.find(1)
744 753
    query = IssueQuery.new(
(2-2/2)