diff options
Diffstat (limited to 'tests/json_string_matching_test.rb')
-rw-r--r-- | tests/json_string_matching_test.rb | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/json_string_matching_test.rb b/tests/json_string_matching_test.rb new file mode 100644 index 0000000..7fec841 --- /dev/null +++ b/tests/json_string_matching_test.rb @@ -0,0 +1,37 @@ +require 'test_helper' +require 'time' + +class JSONStringMatchingTest < Test::Unit::TestCase + include JSON + + class TestTime < ::Time + def self.json_create(string) + Time.parse(string) + end + + def to_json(*) + %{"#{strftime('%FT%T%z')}"} + end + + def ==(other) + to_i == other.to_i + end + end + + def test_match_date + t = TestTime.new + t_json = [ t ].to_json + time_regexp = /\A\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}[+-]\d{4}\z/ + assert_equal [ t ], + parse( + t_json, + :create_additions => true, + :match_string => { time_regexp => TestTime } + ) + assert_equal [ t.strftime('%FT%T%z') ], + parse( + t_json, + :match_string => { time_regexp => TestTime } + ) + end +end |