diff --git a/test/test_filters.rb b/test/test_filters.rb index 76da6042..243f97af 100644 --- a/test/test_filters.rb +++ b/test/test_filters.rb @@ -9,7 +9,7 @@ class TestFilters < JekyllUnitTest def initialize(opts = {}) @site = Jekyll::Site.new(opts.merge("skip_config_files" => true)) - @context = Liquid::Context.new({}, {}, { :site => @site }) + @context = Liquid::Context.new(@site.site_payload, {}, { :site => @site }) end end @@ -26,12 +26,13 @@ class TestFilters < JekyllUnitTest context "filters" do setup do - @filter = make_filter_mock({ - "timezone" => "UTC", - "url" => "http://example.com", - "baseurl" => "/base", - }) @sample_time = Time.utc(2013, 3, 27, 11, 22, 33) + @filter = make_filter_mock({ + "timezone" => "UTC", + "url" => "http://example.com", + "baseurl" => "/base", + "dont_show_posts_before" => @sample_time, + }) @sample_date = Date.parse("2013-03-27") @time_as_string = "September 11, 2001 12:46:30 -0000" @time_as_numeric = 1_399_680_607 @@ -816,6 +817,14 @@ class TestFilters < JekyllUnitTest results = @filter.where_exp(SelectDummy.new, "obj", "1 == 1") assert_equal [], results end + + should "filter by variable values" do + @filter.site.tap(&:read) + posts = @filter.site.site_payload["site"]["posts"] + results = @filter.where_exp(posts, "post", + "post.date > site.dont_show_posts_before") + assert_equal posts.select { |p| p.date > @sample_time }.count, results.length + end end context "group_by_exp filter" do