@@ -243,7 +243,7 class Query < ActiveRecord::Base | |||
|
243 | 243 | case operator_for(field) |
|
244 | 244 | when "=", ">=", "<=", "><" |
|
245 | 245 | add_filter_error(field, :invalid) if values_for(field).detect {|v| |
|
246 | v.present? && (!v.match(/\A\d{4}-\d{2}-\d{2}(T\d{2}((:)?\d{2}){,2}(Z|\d{2}:?\d{2})?)?\z/) || parse_date(v).nil?) | |
|
246 | v.present? && (!v.match(/\A\d{4}-\d{2}-\d{2}(T\d{2}((:)?\d{2}){0,2}(Z|\d{2}:?\d{2})?)?\z/) || parse_date(v).nil?) | |
|
247 | 247 | } |
|
248 | 248 | when ">t-", "<t-", "t-", ">t+", "<t+", "t+", "><t+", "><t-" |
|
249 | 249 | add_filter_error(field, :invalid) if values_for(field).detect {|v| v.present? && !v.match(/^\d+$/) } |
@@ -449,6 +449,13 class QueryTest < ActiveSupport::TestCase | |||
|
449 | 449 | find_issues_with_query(query) |
|
450 | 450 | end |
|
451 | 451 | |
|
452 | def test_operator_date_lesser_than_with_timestamp | |
|
453 | query = IssueQuery.new(:name => '_') | |
|
454 | query.add_filter('updated_on', '<=', ['2011-07-10T19:13:52']) | |
|
455 | assert_match /issues\.updated_on <= '2011-07-10 19:13:52/, query.statement | |
|
456 | find_issues_with_query(query) | |
|
457 | end | |
|
458 | ||
|
452 | 459 | def test_operator_date_greater_than |
|
453 | 460 | query = IssueQuery.new(:name => '_') |
|
454 | 461 | query.add_filter('due_date', '>=', ['2011-07-10']) |
@@ -456,6 +463,13 class QueryTest < ActiveSupport::TestCase | |||
|
456 | 463 | find_issues_with_query(query) |
|
457 | 464 | end |
|
458 | 465 | |
|
466 | def test_operator_date_greater_than_with_timestamp | |
|
467 | query = IssueQuery.new(:name => '_') | |
|
468 | query.add_filter('updated_on', '>=', ['2011-07-10T19:13:52']) | |
|
469 | assert_match /issues\.updated_on > '2011-07-10 19:13:51'/, query.statement | |
|
470 | find_issues_with_query(query) | |
|
471 | end | |
|
472 | ||
|
459 | 473 | def test_operator_date_between |
|
460 | 474 | query = IssueQuery.new(:name => '_') |
|
461 | 475 | query.add_filter('due_date', '><', ['2011-06-23', '2011-07-10']) |
General Comments 0
You need to be logged in to leave comments.
Login now