mirror of
https://github.com/kemko/liquid.git
synced 2026-01-05 17:55:40 +03:00
Two tests in IfElseTagTest each set a custom operator function for the "contains" comparison operator. The problem is that IfElseTagTest was clobbering the original operator in Liquid and leaving it in an altered state. As an example, ConditionUnitTest's test_contains_works_on_arrays relies on the specific behavior of the "contains" operator, and its test_contains_works_on_arrays was failing. The problem was present when both test classes were require'd inside a single ruby process. One example is "rake test", which runs "require" on every test file. Another basic example is the following command: ruby -Itest -e "require 'integration/tags/if_else_tag_test.rb'; require 'unit/condition_unit_test.rb'" This would cause test_contains_works_on_arrays to fail. Update IfElseTagTest to avoid clobbering the "contains" operator. With this change, ConditionUnitTest's test_contains_works_on_arrays now passes.