From 21b3c404bbc00db2d48ff6f631bf773a2c243b23 Mon Sep 17 00:00:00 2001 From: alebruck Date: Sun, 13 Oct 2019 00:15:12 +0200 Subject: [PATCH 1/5] Add ForceEqualSignAlignment to .rubocop.yml --- ...ify-github-io-ruby-style-guide-rubocop-yml | 2 +- .rubocop.yml | 6 ++ Rakefile | 2 +- example/server/liquid_servlet.rb | 8 +- lib/liquid/block_body.rb | 30 +++---- lib/liquid/condition.rb | 16 ++-- lib/liquid/context.rb | 22 +++--- lib/liquid/errors.rb | 26 +++---- lib/liquid/expression.rb | 2 +- lib/liquid/file_system.rb | 2 +- lib/liquid/forloop_drop.rb | 6 +- lib/liquid/lexer.rb | 14 ++-- lib/liquid/parse_context.rb | 12 +-- lib/liquid/parse_tree_visitor.rb | 8 +- lib/liquid/parser.rb | 12 +-- lib/liquid/parser_switching.rb | 2 +- lib/liquid/partial_cache.rb | 8 +- lib/liquid/profiler.rb | 12 +-- lib/liquid/range_lookup.rb | 6 +- lib/liquid/registers/disabled_tags.rb | 2 +- lib/liquid/resource_limits.rb | 4 +- lib/liquid/standardfilters.rb | 26 +++---- lib/liquid/static_registers.rb | 2 +- lib/liquid/strainer.rb | 2 +- lib/liquid/tablerowloop_drop.rb | 10 +-- lib/liquid/tag.rb | 6 +- lib/liquid/tags/assign.rb | 8 +- lib/liquid/tags/capture.rb | 4 +- lib/liquid/tags/cycle.rb | 10 +-- lib/liquid/tags/decrement.rb | 4 +- lib/liquid/tags/for.rb | 26 +++---- lib/liquid/tags/if.rb | 16 ++-- lib/liquid/tags/include.rb | 10 +-- lib/liquid/tags/increment.rb | 2 +- lib/liquid/tags/raw.rb | 4 +- lib/liquid/tags/render.rb | 8 +- lib/liquid/tags/table_row.rb | 8 +- lib/liquid/template.rb | 22 +++--- lib/liquid/tokenizer.rb | 6 +- lib/liquid/utils.rb | 2 +- lib/liquid/variable.rb | 30 +++---- lib/liquid/variable_lookup.rb | 10 +-- performance/benchmark.rb | 4 +- performance/profile.rb | 2 +- performance/shopify/comment_form.rb | 2 +- performance/shopify/database.rb | 2 +- performance/shopify/paginate.rb | 2 +- performance/theme_runner.rb | 14 ++-- test/integration/assign_test.rb | 4 +- test/integration/capture_test.rb | 12 +-- test/integration/drop_test.rb | 2 +- test/integration/error_handling_test.rb | 14 ++-- test/integration/filter_test.rb | 20 ++--- test/integration/output_test.rb | 18 ++--- test/integration/parsing_quirks_test.rb | 2 +- test/integration/render_profiling_test.rb | 2 +- test/integration/security_test.rb | 12 +-- test/integration/standard_filter_test.rb | 14 ++-- test/integration/tags/break_tag_test.rb | 4 +- test/integration/tags/continue_tag_test.rb | 4 +- test/integration/tags/for_tag_test.rb | 78 +++++++++---------- test/integration/tags/if_else_tag_test.rb | 6 +- test/integration/tags/include_tag_test.rb | 6 +- test/integration/tags/render_tag_test.rb | 4 +- test/integration/tags/standard_tag_test.rb | 2 +- test/integration/template_test.rb | 64 +++++++-------- test/integration/trim_mode_test.rb | 76 +++++++++--------- test/integration/variable_test.rb | 12 +-- test/test_helper.rb | 10 +-- test/unit/block_unit_test.rb | 4 +- test/unit/condition_unit_test.rb | 6 +- test/unit/context_unit_test.rb | 54 ++++++------- test/unit/partial_cache_unit_test.rb | 10 +-- test/unit/static_registers_unit_test.rb | 60 +++++++------- test/unit/strainer_unit_test.rb | 10 +-- test/unit/tag_unit_test.rb | 4 +- test/unit/template_unit_test.rb | 4 +- test/unit/tokenizer_unit_test.rb | 6 +- 78 files changed, 487 insertions(+), 481 deletions(-) diff --git a/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml b/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml index 5f5212ca8..f5bbf72ae 100644 --- a/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml +++ b/.rubocop-https---shopify-github-io-ruby-style-guide-rubocop-yml @@ -892,7 +892,7 @@ Lint/FormatParameterMismatch: Enabled: true Lint/HandleExceptions: - Enabled: true + AllowComments: true Lint/ImplicitStringConcatenation: Description: Checks for adjacent string literals on the same line, which could diff --git a/.rubocop.yml b/.rubocop.yml index 1c0f83244..eec590835 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -15,3 +15,9 @@ AllCops: Naming/MethodName: Exclude: - 'example/server/liquid_servlet.rb' + +Layout/ExtraSpacing: + ForceEqualSignAlignment: true + +Layout/SpaceAroundOperators: + Enabled: false diff --git a/Rakefile b/Rakefile index 66ae0faee..780ec3535 100755 --- a/Rakefile +++ b/Rakefile @@ -11,7 +11,7 @@ desc('run test suite with default parser') Rake::TestTask.new(:base_test) do |t| t.libs << '.' << 'lib' << 'test' t.test_files = FileList['test/{integration,unit}/**/*_test.rb'] - t.verbose = false + t.verbose = false end desc('run test suite with warn error mode') diff --git a/example/server/liquid_servlet.rb b/example/server/liquid_servlet.rb index 55e21d215..4965fff9a 100644 --- a/example/server/liquid_servlet.rb +++ b/example/server/liquid_servlet.rb @@ -12,16 +12,16 @@ def do_POST(req, res) private def handle(_type, req, res) - @request = req + @request = req @response = res @request.path_info =~ /(\w+)\z/ - @action = Regexp.last_match(1) || 'index' + @action = Regexp.last_match(1) || 'index' @assigns = send(@action) if respond_to?(@action) @response['Content-Type'] = "text/html" - @response.status = 200 - @response.body = Liquid::Template.parse(read_template).render(@assigns, filters: [ProductsFilter]) + @response.status = 200 + @response.body = Liquid::Template.parse(read_template).render(@assigns, filters: [ProductsFilter]) end def read_template(filename = @action) diff --git a/lib/liquid/block_body.rb b/lib/liquid/block_body.rb index 45be8b8af..5b4f25a44 100644 --- a/lib/liquid/block_body.rb +++ b/lib/liquid/block_body.rb @@ -2,18 +2,18 @@ module Liquid class BlockBody - LiquidTagToken = /\A\s*(\w+)\s*(.*?)\z/o - FullToken = /\A#{TagStart}#{WhitespaceControl}?(\s*)(\w+)(\s*)(.*?)#{WhitespaceControl}?#{TagEnd}\z/om - ContentOfVariable = /\A#{VariableStart}#{WhitespaceControl}?(.*?)#{WhitespaceControl}?#{VariableEnd}\z/om + LiquidTagToken = /\A\s*(\w+)\s*(.*?)\z/o + FullToken = /\A#{TagStart}#{WhitespaceControl}?(\s*)(\w+)(\s*)(.*?)#{WhitespaceControl}?#{TagEnd}\z/om + ContentOfVariable = /\A#{VariableStart}#{WhitespaceControl}?(.*?)#{WhitespaceControl}?#{VariableEnd}\z/om WhitespaceOrNothing = /\A\s*\z/ - TAGSTART = "{%" - VARSTART = "{{" + TAGSTART = "{%" + VARSTART = "{{" attr_reader :nodelist def initialize @nodelist = [] - @blank = true + @blank = true end def parse(tokenizer, parse_context, &block) @@ -34,15 +34,15 @@ def parse(tokenizer, parse_context, &block) # caller raise a syntax error return yield token, token end - tag_name = Regexp.last_match(1) - markup = Regexp.last_match(2) + tag_name = Regexp.last_match(1) + markup = Regexp.last_match(2) unless (tag = registered_tags[tag_name]) # end parsing if we reach an unknown tag and let the caller decide # determine how to proceed return yield tag_name, markup end - new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) - @blank &&= new_tag.blank? + new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) + @blank &&= new_tag.blank? @nodelist << new_tag end parse_context.line_number = tokenizer.line_number @@ -61,7 +61,7 @@ def parse(tokenizer, parse_context, &block) raise_missing_tag_terminator(token, parse_context) end tag_name = Regexp.last_match(2) - markup = Regexp.last_match(4) + markup = Regexp.last_match(4) if parse_context.line_number # newlines inside the tag should increase the line number, @@ -79,8 +79,8 @@ def parse(tokenizer, parse_context, &block) # determine how to proceed return yield tag_name, markup end - new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) - @blank &&= new_tag.blank? + new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) + @blank &&= new_tag.blank? @nodelist << new_tag when token.start_with?(VARSTART) whitespace_handler(token, parse_context) @@ -92,7 +92,7 @@ def parse(tokenizer, parse_context, &block) end parse_context.trim_whitespace = false @nodelist << token - @blank &&= !!(token =~ WhitespaceOrNothing) + @blank &&= !!(token =~ WhitespaceOrNothing) end parse_context.line_number = tokenizer.line_number end @@ -121,7 +121,7 @@ def render(context) def render_to_output_buffer(context, output) context.resource_limits.render_score += @nodelist.length - idx = 0 + idx = 0 while (node = @nodelist[idx]) previous_output_size = output.bytesize diff --git a/lib/liquid/condition.rb b/lib/liquid/condition.rb index 93ec68b74..fab74d764 100644 --- a/lib/liquid/condition.rb +++ b/lib/liquid/condition.rb @@ -35,16 +35,16 @@ def self.operators attr_accessor :left, :operator, :right def initialize(left = nil, operator = nil, right = nil) - @left = left - @operator = operator - @right = right - @child_relation = nil + @left = left + @operator = operator + @right = right + @child_relation = nil @child_condition = nil end def evaluate(context = Context.new) condition = self - result = nil + result = nil loop do result = interpret_condition(condition.left, condition.right, condition.operator, context) @@ -62,12 +62,12 @@ def evaluate(context = Context.new) end def or(condition) - @child_relation = :or + @child_relation = :or @child_condition = condition end def and(condition) - @child_relation = :and + @child_relation = :and @child_condition = condition end @@ -115,7 +115,7 @@ def interpret_condition(left, right, op, context) # return this as the result. return context.evaluate(left) if op.nil? - left = context.evaluate(left) + left = context.evaluate(left) right = context.evaluate(right) operation = self.class.operators[op] || raise(Liquid::ArgumentError, "Unknown operator #{op}") diff --git a/lib/liquid/context.rb b/lib/liquid/context.rb index 88e467134..397ae0f19 100644 --- a/lib/liquid/context.rb +++ b/lib/liquid/context.rb @@ -41,8 +41,8 @@ def initialize(environments = {}, outer_scope = {}, registers = {}, rethrow_erro self.exception_renderer = ->(_e) { raise } end - @interrupts = [] - @filters = [] + @interrupts = [] + @filters = [] @global_filter = nil end # rubocop:enable Metrics/ParameterLists @@ -60,7 +60,7 @@ def strainer # Note that this does not register the filters with the main Template object. see Template.register_filter # for that def add_filters(filters) - filters = [filters].flatten.compact + filters = [filters].flatten.compact @filters += filters @strainer = nil end @@ -85,9 +85,9 @@ def pop_interrupt end def handle_error(e, line_number = nil) - e = internal_error unless e.is_a?(Liquid::Error) + e = internal_error unless e.is_a?(Liquid::Error) e.template_name ||= template_name - e.line_number ||= line_number + e.line_number ||= line_number errors.push(e) exception_renderer.call(e).to_s end @@ -138,12 +138,12 @@ def new_isolated_subcontext static_environments: static_environments, registers: StaticRegisters.new(registers) ).tap do |subcontext| - subcontext.base_scope_depth = base_scope_depth + 1 + subcontext.base_scope_depth = base_scope_depth + 1 subcontext.exception_renderer = exception_renderer - subcontext.filters = @filters - subcontext.strainer = nil - subcontext.errors = errors - subcontext.warnings = warnings + subcontext.filters = @filters + subcontext.strainer = nil + subcontext.errors = errors + subcontext.warnings = warnings end end @@ -188,7 +188,7 @@ def find_variable(key, raise_on_not_found: true) try_variable_find_in_environments(key, raise_on_not_found: raise_on_not_found) end - variable = variable.to_liquid + variable = variable.to_liquid variable.context = self if variable.respond_to?(:context=) variable diff --git a/lib/liquid/errors.rb b/lib/liquid/errors.rb index eda0bd2a4..4937da380 100644 --- a/lib/liquid/errors.rb +++ b/lib/liquid/errors.rb @@ -40,19 +40,19 @@ def message_prefix end end - ArgumentError = Class.new(Error) - ContextError = Class.new(Error) - FileSystemError = Class.new(Error) - StandardError = Class.new(Error) - SyntaxError = Class.new(Error) - StackLevelError = Class.new(Error) - TaintedError = Class.new(Error) - MemoryError = Class.new(Error) - ZeroDivisionError = Class.new(Error) - FloatDomainError = Class.new(Error) - UndefinedVariable = Class.new(Error) + ArgumentError = Class.new(Error) + ContextError = Class.new(Error) + FileSystemError = Class.new(Error) + StandardError = Class.new(Error) + SyntaxError = Class.new(Error) + StackLevelError = Class.new(Error) + TaintedError = Class.new(Error) + MemoryError = Class.new(Error) + ZeroDivisionError = Class.new(Error) + FloatDomainError = Class.new(Error) + UndefinedVariable = Class.new(Error) UndefinedDropMethod = Class.new(Error) - UndefinedFilter = Class.new(Error) + UndefinedFilter = Class.new(Error) MethodOverrideError = Class.new(Error) - InternalError = Class.new(Error) + InternalError = Class.new(Error) end diff --git a/lib/liquid/expression.rb b/lib/liquid/expression.rb index 9670906b8..58633e1e5 100644 --- a/lib/liquid/expression.rb +++ b/lib/liquid/expression.rb @@ -7,7 +7,7 @@ class MethodLiteral def initialize(method_name, to_s) @method_name = method_name - @to_s = to_s + @to_s = to_s end def to_liquid diff --git a/lib/liquid/file_system.rb b/lib/liquid/file_system.rb index 27ab63257..67ba47cb1 100644 --- a/lib/liquid/file_system.rb +++ b/lib/liquid/file_system.rb @@ -47,7 +47,7 @@ class LocalFileSystem attr_accessor :root def initialize(root, pattern = "_%s.liquid") - @root = root + @root = root @pattern = pattern end diff --git a/lib/liquid/forloop_drop.rb b/lib/liquid/forloop_drop.rb index 0ffa25590..4685166f8 100644 --- a/lib/liquid/forloop_drop.rb +++ b/lib/liquid/forloop_drop.rb @@ -3,10 +3,10 @@ module Liquid class ForloopDrop < Drop def initialize(name, length, parentloop) - @name = name - @length = length + @name = name + @length = length @parentloop = parentloop - @index = 0 + @index = 0 end attr_reader :name, :length, :parentloop diff --git a/lib/liquid/lexer.rb b/lib/liquid/lexer.rb index a251c3e59..3d854afe2 100644 --- a/lib/liquid/lexer.rb +++ b/lib/liquid/lexer.rb @@ -3,7 +3,7 @@ require "strscan" module Liquid class Lexer - SPECIALS = { + SPECIALS = { '|' => :pipe, '.' => :dot, ':' => :colon, @@ -15,12 +15,12 @@ class Lexer '?' => :question, '-' => :dash, }.freeze - IDENTIFIER = /[a-zA-Z_][\w-]*\??/ + IDENTIFIER = /[a-zA-Z_][\w-]*\??/ SINGLE_STRING_LITERAL = /'[^\']*'/ DOUBLE_STRING_LITERAL = /"[^\"]*"/ - NUMBER_LITERAL = /-?\d+(\.\d+)?/ - DOTDOT = /\.\./ - COMPARISON_OPERATOR = /==|!=|<>|<=?|>=?|contains(?=\s)/ + NUMBER_LITERAL = /-?\d+(\.\d+)?/ + DOTDOT = /\.\./ + COMPARISON_OPERATOR = /==|!=|<>|<=?|>=?|contains(?=\s)/ WHITESPACE_OR_NOTHING = /\s*/ def initialize(input) @@ -33,7 +33,7 @@ def tokenize until @ss.eos? @ss.skip(WHITESPACE_OR_NOTHING) break if @ss.eos? - tok = if (t = @ss.scan(COMPARISON_OPERATOR)) + tok = if (t = @ss.scan(COMPARISON_OPERATOR)) [:comparison, t] elsif (t = @ss.scan(SINGLE_STRING_LITERAL)) [:string, t] @@ -46,7 +46,7 @@ def tokenize elsif (t = @ss.scan(DOTDOT)) [:dotdot, t] else - c = @ss.getch + c = @ss.getch if (s = SPECIALS[c]) [s, c] else diff --git a/lib/liquid/parse_context.rb b/lib/liquid/parse_context.rb index 4afdbe596..cdf50f68d 100644 --- a/lib/liquid/parse_context.rb +++ b/lib/liquid/parse_context.rb @@ -7,10 +7,10 @@ class ParseContext def initialize(options = {}) @template_options = options ? options.dup : {} - @locale = @template_options[:locale] ||= I18n.new - @warnings = [] - self.depth = 0 - self.partial = false + @locale = @template_options[:locale] ||= I18n.new + @warnings = [] + self.depth = 0 + self.partial = false end def [](option_key) @@ -18,8 +18,8 @@ def [](option_key) end def partial=(value) - @partial = value - @options = value ? partial_options : @template_options + @partial = value + @options = value ? partial_options : @template_options @error_mode = @options[:error_mode] || Template.error_mode end diff --git a/lib/liquid/parse_tree_visitor.rb b/lib/liquid/parse_tree_visitor.rb index d50943f30..8f5d27f38 100644 --- a/lib/liquid/parse_tree_visitor.rb +++ b/lib/liquid/parse_tree_visitor.rb @@ -11,14 +11,14 @@ def self.for(node, callbacks = Hash.new(proc {})) end def initialize(node, callbacks) - @node = node + @node = node @callbacks = callbacks end def add_callback_for(*classes, &block) - callback = block - callback = ->(node, _) { yield node } if block.arity.abs == 1 - callback = ->(_, _) { yield } if block.arity.zero? + callback = block + callback = ->(node, _) { yield node } if block.arity.abs == 1 + callback = ->(_, _) { yield } if block.arity.zero? classes.each { |klass| @callbacks[klass] = callback } self end diff --git a/lib/liquid/parser.rb b/lib/liquid/parser.rb index 6b9e83748..41380f106 100644 --- a/lib/liquid/parser.rb +++ b/lib/liquid/parser.rb @@ -3,9 +3,9 @@ module Liquid class Parser def initialize(input) - l = Lexer.new(input) + l = Lexer.new(input) @tokens = l.tokenize - @p = 0 # pointer to current location + @p = 0 # pointer to current location end def jump(point) @@ -17,7 +17,7 @@ def consume(type = nil) if type && token[0] != type raise SyntaxError, "Expected #{type} but found #{@tokens[@p].first}" end - @p += 1 + @p += 1 token[1] end @@ -27,7 +27,7 @@ def consume(type = nil) def consume?(type) token = @tokens[@p] return false unless token && token[0] == type - @p += 1 + @p += 1 token[1] end @@ -36,7 +36,7 @@ def id?(str) token = @tokens[@p] return false unless token && token[0] == :id return false unless token[1] == str - @p += 1 + @p += 1 token[1] end @@ -59,7 +59,7 @@ def expression consume first = expression consume(:dotdot) - last = expression + last = expression consume(:close_round) "(#{first}..#{last})" else diff --git a/lib/liquid/parser_switching.rb b/lib/liquid/parser_switching.rb index 402b05663..e2f8546df 100644 --- a/lib/liquid/parser_switching.rb +++ b/lib/liquid/parser_switching.rb @@ -21,7 +21,7 @@ def parse_with_selected_parser(markup) def strict_parse_with_error_context(markup) strict_parse(markup) rescue SyntaxError => e - e.line_number = line_number + e.line_number = line_number e.markup_context = markup_context(markup) raise e end diff --git a/lib/liquid/partial_cache.rb b/lib/liquid/partial_cache.rb index 43c2e39b7..bc9aeb39d 100644 --- a/lib/liquid/partial_cache.rb +++ b/lib/liquid/partial_cache.rb @@ -4,14 +4,14 @@ module Liquid class PartialCache def self.load(template_name, context:, parse_context:) cached_partials = (context.registers[:cached_partials] ||= {}) - cached = cached_partials[template_name] + cached = cached_partials[template_name] return cached if cached - file_system = (context.registers[:file_system] ||= Liquid::Template.file_system) - source = file_system.read_template_file(template_name) + file_system = (context.registers[:file_system] ||= Liquid::Template.file_system) + source = file_system.read_template_file(template_name) parse_context.partial = true - partial = Liquid::Template.parse(source, parse_context) + partial = Liquid::Template.parse(source, parse_context) cached_partials[template_name] = partial ensure parse_context.partial = false diff --git a/lib/liquid/profiler.rb b/lib/liquid/profiler.rb index 422c7161f..5ec03a802 100644 --- a/lib/liquid/profiler.rb +++ b/lib/liquid/profiler.rb @@ -64,7 +64,7 @@ def start end def finish - @end_time = Time.now + @end_time = Time.now @total_time = @end_time - @start_time if @children.empty? @@ -74,7 +74,7 @@ def finish @children.each do |child| total_children_time += child.total_time end - @self_time = @total_time - total_children_time + @self_time = @total_time - total_children_time end end @@ -112,21 +112,21 @@ def self.current_profile def initialize(partial_name = "") @partial_stack = [partial_name] - @root_timing = Timing.new("", current_partial) + @root_timing = Timing.new("", current_partial) @timing_stack = [@root_timing] @render_start_at = Time.now - @render_end_at = @render_start_at + @render_end_at = @render_start_at end def start Thread.current[:liquid_profiler] = self - @render_start_at = Time.now + @render_start_at = Time.now end def stop Thread.current[:liquid_profiler] = nil - @render_end_at = Time.now + @render_end_at = Time.now end def total_render_time diff --git a/lib/liquid/range_lookup.rb b/lib/liquid/range_lookup.rb index 8e4d76522..57bccd00b 100644 --- a/lib/liquid/range_lookup.rb +++ b/lib/liquid/range_lookup.rb @@ -4,7 +4,7 @@ module Liquid class RangeLookup def self.parse(start_markup, end_markup) start_obj = Expression.parse(start_markup) - end_obj = Expression.parse(end_markup) + end_obj = Expression.parse(end_markup) if start_obj.respond_to?(:evaluate) || end_obj.respond_to?(:evaluate) new(start_obj, end_obj) else @@ -14,12 +14,12 @@ def self.parse(start_markup, end_markup) def initialize(start_obj, end_obj) @start_obj = start_obj - @end_obj = end_obj + @end_obj = end_obj end def evaluate(context) start_int = to_integer(context.evaluate(@start_obj)) - end_int = to_integer(context.evaluate(@end_obj)) + end_int = to_integer(context.evaluate(@end_obj)) start_int..end_int end diff --git a/lib/liquid/registers/disabled_tags.rb b/lib/liquid/registers/disabled_tags.rb index b1cd3bda0..4499099e1 100644 --- a/lib/liquid/registers/disabled_tags.rb +++ b/lib/liquid/registers/disabled_tags.rb @@ -20,7 +20,7 @@ def disable(tags) def increment(tag) @disabled_tags[tag] ||= 0 - @disabled_tags[tag] += 1 + @disabled_tags[tag] += 1 end def decrement(tag) diff --git a/lib/liquid/resource_limits.rb b/lib/liquid/resource_limits.rb index 5b7e8e463..9c898f003 100644 --- a/lib/liquid/resource_limits.rb +++ b/lib/liquid/resource_limits.rb @@ -7,8 +7,8 @@ class ResourceLimits def initialize(limits) @render_length_limit = limits[:render_length_limit] - @render_score_limit = limits[:render_score_limit] - @assign_score_limit = limits[:assign_score_limit] + @render_score_limit = limits[:render_score_limit] + @assign_score_limit = limits[:assign_score_limit] reset end diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 50201e317..209016ddc 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -5,7 +5,7 @@ module Liquid module StandardFilters - HTML_ESCAPE = { + HTML_ESCAPE = { '&' => '&', '>' => '>', '<' => '<', @@ -13,12 +13,12 @@ module StandardFilters "'" => ''', }.freeze HTML_ESCAPE_ONCE_REGEXP = /["><']|&(?!([a-zA-Z]+|(#\d+));)/ - STRIP_HTML_BLOCKS = Regexp.union( + STRIP_HTML_BLOCKS = Regexp.union( %r{}m, //m, %r{}m ) - STRIP_HTML_TAGS = /<.*?>/m + STRIP_HTML_TAGS = /<.*?>/m # Return the size of an array or of an string def size(input) @@ -76,20 +76,20 @@ def slice(input, offset, length = nil) # Truncate a string down to x characters def truncate(input, length = 50, truncate_string = "...") return if input.nil? - input_str = input.to_s - length = Utils.to_integer(length) + input_str = input.to_s + length = Utils.to_integer(length) truncate_string_str = truncate_string.to_s - l = length - truncate_string_str.length - l = 0 if l < 0 + l = length - truncate_string_str.length + l = 0 if l < 0 input_str.length > length ? input_str[0...l].concat(truncate_string_str) : input_str end def truncatewords(input, words = 15, truncate_string = "...") return if input.nil? wordlist = input.to_s.split - words = Utils.to_integer(words) - l = words - 1 - l = 0 if l < 0 + words = Utils.to_integer(words) + l = words - 1 + l = 0 if l < 0 wordlist.length > l ? wordlist[0..l].join(" ").concat(truncate_string.to_s) : input end @@ -115,7 +115,7 @@ def rstrip(input) end def strip_html(input) - empty = '' + empty = '' result = input.to_s.gsub(STRIP_HTML_BLOCKS, empty) result.gsub!(STRIP_HTML_TAGS, empty) result @@ -432,7 +432,7 @@ def at_most(input, n) # {{ product.title | default: "No Title", allow_false: true }} # def default(input, default_value = '', options = {}) - options = {} unless options.is_a?(Hash) + options = {} unless options.is_a?(Hash) false_check = options['allow_false'] ? input.nil? : !input false_check || (input.respond_to?(:empty?) && input.empty?) ? default_value : input end @@ -471,7 +471,7 @@ class InputIterator def initialize(input, context) @context = context - @input = if input.is_a?(Array) + @input = if input.is_a?(Array) input.flatten elsif input.is_a?(Hash) [input] diff --git a/lib/liquid/static_registers.rb b/lib/liquid/static_registers.rb index 06c52ab01..da2c2c398 100644 --- a/lib/liquid/static_registers.rb +++ b/lib/liquid/static_registers.rb @@ -5,7 +5,7 @@ class StaticRegisters attr_reader :static, :registers def initialize(registers = {}) - @static = registers.is_a?(StaticRegisters) ? registers.static : registers + @static = registers.is_a?(StaticRegisters) ? registers.static : registers @registers = {} end diff --git a/lib/liquid/strainer.rb b/lib/liquid/strainer.rb index 3f3417e33..d3c7433b2 100644 --- a/lib/liquid/strainer.rb +++ b/lib/liquid/strainer.rb @@ -9,7 +9,7 @@ module Liquid # The Strainer only allows method calls defined in filters given to it via Strainer.global_filter, # Context#add_filters or Template.register_filter class Strainer #:nodoc: - @@global_strainer = Class.new(Strainer) do + @@global_strainer = Class.new(Strainer) do @filter_methods = Set.new end @@strainer_class_cache = Hash.new do |hash, filters| diff --git a/lib/liquid/tablerowloop_drop.rb b/lib/liquid/tablerowloop_drop.rb index 0d00b6f1a..628705278 100644 --- a/lib/liquid/tablerowloop_drop.rb +++ b/lib/liquid/tablerowloop_drop.rb @@ -4,10 +4,10 @@ module Liquid class TablerowloopDrop < Drop def initialize(length, cols) @length = length - @row = 1 - @col = 1 - @cols = cols - @index = 0 + @row = 1 + @col = 1 + @cols = cols + @index = 0 end attr_reader :length, :col, :row @@ -54,7 +54,7 @@ def increment! @index += 1 if @col == @cols - @col = 1 + @col = 1 @row += 1 else @col += 1 diff --git a/lib/liquid/tag.rb b/lib/liquid/tag.rb index ffd22868d..937c8027f 100644 --- a/lib/liquid/tag.rb +++ b/lib/liquid/tag.rb @@ -25,10 +25,10 @@ def disabled_tags end def initialize(tag_name, markup, parse_context) - @tag_name = tag_name - @markup = markup + @tag_name = tag_name + @markup = markup @parse_context = parse_context - @line_number = parse_context.line_number + @line_number = parse_context.line_number end def parse(_tokens) diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index aaad14cfd..1ffb40c00 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -21,7 +21,7 @@ def self.syntax_error_translation_key def initialize(tag_name, markup, options) super if markup =~ Syntax - @to = Regexp.last_match(1) + @to = Regexp.last_match(1) @from = Variable.new(Regexp.last_match(2), options) else raise SyntaxError, options[:locale].t(self.class.syntax_error_translation_key) @@ -29,8 +29,8 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - val = @from.render(context) - context.scopes.last[@to] = val + val = @from.render(context) + context.scopes.last[@to] = val context.resource_limits.assign_score += assign_score_of(val) output end @@ -45,7 +45,7 @@ def assign_score_of(val) if val.instance_of?(String) val.bytesize elsif val.instance_of?(Array) || val.instance_of?(Hash) - sum = 1 + sum = 1 # Uses #each to avoid extra allocations. val.each { |child| sum += assign_score_of(child) } sum diff --git a/lib/liquid/tags/capture.rb b/lib/liquid/tags/capture.rb index 1cace9c1c..530329bab 100644 --- a/lib/liquid/tags/capture.rb +++ b/lib/liquid/tags/capture.rb @@ -25,9 +25,9 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - previous_output_size = output.bytesize + previous_output_size = output.bytesize super - context.scopes.last[@to] = output + context.scopes.last[@to] = output context.resource_limits.assign_score += (output.bytesize - previous_output_size) output end diff --git a/lib/liquid/tags/cycle.rb b/lib/liquid/tags/cycle.rb index b203c785f..ed5186090 100644 --- a/lib/liquid/tags/cycle.rb +++ b/lib/liquid/tags/cycle.rb @@ -24,10 +24,10 @@ def initialize(tag_name, markup, options) case markup when NamedSyntax @variables = variables_from_string(Regexp.last_match(2)) - @name = Expression.parse(Regexp.last_match(1)) + @name = Expression.parse(Regexp.last_match(1)) when SimpleSyntax @variables = variables_from_string(markup) - @name = @variables.to_s + @name = @variables.to_s else raise SyntaxError, options[:locale].t("errors.syntax.cycle") end @@ -36,7 +36,7 @@ def initialize(tag_name, markup, options) def render_to_output_buffer(context, output) context.registers[:cycle] ||= {} - key = context.evaluate(@name) + key = context.evaluate(@name) iteration = context.registers[:cycle][key].to_i val = context.evaluate(@variables[iteration]) @@ -49,8 +49,8 @@ def render_to_output_buffer(context, output) output << val - iteration += 1 - iteration = 0 if iteration >= @variables.size + iteration += 1 + iteration = 0 if iteration >= @variables.size context.registers[:cycle][key] = iteration output diff --git a/lib/liquid/tags/decrement.rb b/lib/liquid/tags/decrement.rb index d761a0c3a..3ab7e420a 100644 --- a/lib/liquid/tags/decrement.rb +++ b/lib/liquid/tags/decrement.rb @@ -26,8 +26,8 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 - value -= 1 + value = context.environments.first[@variable] ||= 0 + value -= 1 context.environments.first[@variable] = value output << value.to_s output diff --git a/lib/liquid/tags/for.rb b/lib/liquid/tags/for.rb index 5c7b56012..4d0d0ebaa 100644 --- a/lib/liquid/tags/for.rb +++ b/lib/liquid/tags/for.rb @@ -52,9 +52,9 @@ class For < Block def initialize(tag_name, markup, options) super - @from = @limit = nil + @from = @limit = nil parse_with_selected_parser(markup) - @for_block = BlockBody.new + @for_block = BlockBody.new @else_block = nil end @@ -88,10 +88,10 @@ def render_to_output_buffer(context, output) def lax_parse(markup) if markup =~ Syntax - @variable_name = Regexp.last_match(1) - collection_name = Regexp.last_match(2) - @reversed = !!Regexp.last_match(3) - @name = "#{@variable_name}-#{collection_name}" + @variable_name = Regexp.last_match(1) + collection_name = Regexp.last_match(2) + @reversed = !!Regexp.last_match(3) + @name = "#{@variable_name}-#{collection_name}" @collection_name = Expression.parse(collection_name) markup.scan(TagAttributes) do |key, value| set_attribute(key, value) @@ -102,13 +102,13 @@ def lax_parse(markup) end def strict_parse(markup) - p = Parser.new(markup) - @variable_name = p.consume(:id) + p = Parser.new(markup) + @variable_name = p.consume(:id) raise SyntaxError, options[:locale].t("errors.syntax.for_invalid_in") unless p.id?('in') - collection_name = p.expression - @name = "#{@variable_name}-#{collection_name}" + collection_name = p.expression + @name = "#{@variable_name}-#{collection_name}" @collection_name = Expression.parse(collection_name) - @reversed = p.id?('reversed') + @reversed = p.id?('reversed') while p.look(:id) && p.look(:colon, 1) unless (attribute = p.id?('limit') || p.id?('offset')) @@ -140,7 +140,7 @@ def collection_segment(context) collection = collection.to_a if collection.is_a?(Range) limit_value = context.evaluate(@limit) - to = if limit_value.nil? + to = if limit_value.nil? nil else Utils.to_integer(limit_value) + from @@ -156,7 +156,7 @@ def collection_segment(context) def render_segment(context, output, segment) for_stack = context.registers[:for_stack] ||= [] - length = segment.length + length = segment.length context.stack do loop_vars = Liquid::ForloopDrop.new(@name, length, for_stack[-1]) diff --git a/lib/liquid/tags/if.rb b/lib/liquid/tags/if.rb index b68e309a6..6a6877a7d 100644 --- a/lib/liquid/tags/if.rb +++ b/lib/liquid/tags/if.rb @@ -12,9 +12,9 @@ module Liquid # There are {% if count < 5 %} less {% else %} more {% endif %} items than you need. # class If < Block - Syntax = /(#{QuotedFragment})\s*([=!<>a-z_]+)?\s*(#{QuotedFragment})?/o + Syntax = /(#{QuotedFragment})\s*([=!<>a-z_]+)?\s*(#{QuotedFragment})?/o ExpressionsAndOperators = /(?:\b(?:\s?and\s?|\s?or\s?)\b|(?:\s*(?!\b(?:\s?and\s?|\s?or\s?)\b)(?:#{QuotedFragment}|\S+)\s*)+)/o - BOOLEAN_OPERATORS = %w(and or).freeze + BOOLEAN_OPERATORS = %w(and or).freeze attr_reader :blocks @@ -78,32 +78,32 @@ def lax_parse(markup) new_condition = Condition.new(Expression.parse(Regexp.last_match(1)), Regexp.last_match(2), Expression.parse(Regexp.last_match(3))) raise SyntaxError, options[:locale].t("errors.syntax.if") unless BOOLEAN_OPERATORS.include?(operator) new_condition.send(operator, condition) - condition = new_condition + condition = new_condition end condition end def strict_parse(markup) - p = Parser.new(markup) + p = Parser.new(markup) condition = parse_binary_comparisons(p) p.consume(:end_of_string) condition end def parse_binary_comparisons(p) - condition = parse_comparison(p) + condition = parse_comparison(p) first_condition = condition - while (op = (p.id?('and') || p.id?('or'))) + while (op = (p.id?('and') || p.id?('or'))) child_condition = parse_comparison(p) condition.send(op, child_condition) - condition = child_condition + condition = child_condition end first_condition end def parse_comparison(p) - a = Expression.parse(p.expression) + a = Expression.parse(p.expression) if (op = p.consume?(:comparison)) b = Expression.parse(p.expression) Condition.new(a, op, b) diff --git a/lib/liquid/tags/include.rb b/lib/liquid/tags/include.rb index d90c731b9..5b7bcc566 100644 --- a/lib/liquid/tags/include.rb +++ b/lib/liquid/tags/include.rb @@ -29,10 +29,10 @@ def initialize(tag_name, markup, options) template_name = Regexp.last_match(1) variable_name = Regexp.last_match(3) - @alias_name = Regexp.last_match(5) + @alias_name = Regexp.last_match(5) @variable_name_expr = variable_name ? Expression.parse(variable_name) : nil @template_name_expr = Expression.parse(template_name) - @attributes = {} + @attributes = {} markup.scan(TagAttributes) do |key, value| @attributes[key] = Expression.parse(value) @@ -65,10 +65,10 @@ def render_to_output_buffer(context, output) end old_template_name = context.template_name - old_partial = context.partial + old_partial = context.partial begin context.template_name = template_name - context.partial = true + context.partial = true context.stack do @attributes.each do |key, value| context[key] = context.evaluate(value) @@ -86,7 +86,7 @@ def render_to_output_buffer(context, output) end ensure context.template_name = old_template_name - context.partial = old_partial + context.partial = old_partial end output diff --git a/lib/liquid/tags/increment.rb b/lib/liquid/tags/increment.rb index 241b316b3..0290f6959 100644 --- a/lib/liquid/tags/increment.rb +++ b/lib/liquid/tags/increment.rb @@ -23,7 +23,7 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 + value = context.environments.first[@variable] ||= 0 context.environments.first[@variable] = value + 1 output << value.to_s diff --git a/lib/liquid/tags/raw.rb b/lib/liquid/tags/raw.rb index e4a78a817..12820855e 100644 --- a/lib/liquid/tags/raw.rb +++ b/lib/liquid/tags/raw.rb @@ -2,7 +2,7 @@ module Liquid class Raw < Block - Syntax = /\A\s*\z/ + Syntax = /\A\s*\z/ FullTokenPossiblyInvalid = /\A(.*)#{TagStart}\s*(\w+)\s*(.*)?#{TagEnd}\z/om def initialize(tag_name, markup, parse_context) @@ -12,7 +12,7 @@ def initialize(tag_name, markup, parse_context) end def parse(tokens) - @body = +'' + @body = +'' while (token = tokens.shift) if token =~ FullTokenPossiblyInvalid @body << Regexp.last_match(1) if Regexp.last_match(1) != "" diff --git a/lib/liquid/tags/render.rb b/lib/liquid/tags/render.rb index c322247a5..6a041bfce 100644 --- a/lib/liquid/tags/render.rb +++ b/lib/liquid/tags/render.rb @@ -16,7 +16,7 @@ def initialize(tag_name, markup, options) template_name = Regexp.last_match(1) variable_name = Regexp.last_match(3) - @alias_name = Regexp.last_match(5) + @alias_name = Regexp.last_match(5) @variable_name_expr = variable_name ? Expression.parse(variable_name) : nil @template_name_expr = Expression.parse(template_name) @@ -44,9 +44,9 @@ def render_tag(context, output) context_variable_name = @alias_name || template_name.split('/').last render_partial_func = ->(var) { - inner_context = context.new_isolated_subcontext - inner_context.template_name = template_name - inner_context.partial = true + inner_context = context.new_isolated_subcontext + inner_context.template_name = template_name + inner_context.partial = true @attributes.each do |key, value| inner_context[key] = context.evaluate(value) end diff --git a/lib/liquid/tags/table_row.rb b/lib/liquid/tags/table_row.rb index 7c59bd323..ecef599b0 100644 --- a/lib/liquid/tags/table_row.rb +++ b/lib/liquid/tags/table_row.rb @@ -9,9 +9,9 @@ class TableRow < Block def initialize(tag_name, markup, options) super if markup =~ Syntax - @variable_name = Regexp.last_match(1) + @variable_name = Regexp.last_match(1) @collection_name = Expression.parse(Regexp.last_match(2)) - @attributes = {} + @attributes = {} markup.scan(TagAttributes) do |key, value| @attributes[key] = Expression.parse(value) end @@ -24,7 +24,7 @@ def render_to_output_buffer(context, output) (collection = context.evaluate(@collection_name)) || (return '') from = @attributes.key?('offset') ? context.evaluate(@attributes['offset']).to_i : 0 - to = @attributes.key?('limit') ? from + context.evaluate(@attributes['limit']).to_i : nil + to = @attributes.key?('limit') ? from + context.evaluate(@attributes['limit']).to_i : nil collection = Utils.slice_collection(collection, from, to) @@ -34,7 +34,7 @@ def render_to_output_buffer(context, output) output << "\n" context.stack do - tablerowloop = Liquid::TablerowloopDrop.new(length, cols) + tablerowloop = Liquid::TablerowloopDrop.new(length, cols) context['tablerowloop'] = tablerowloop collection.each do |item| diff --git a/lib/liquid/template.rb b/lib/liquid/template.rb index 8631baea1..228870cf7 100644 --- a/lib/liquid/template.rb +++ b/lib/liquid/template.rb @@ -24,7 +24,7 @@ class TagRegistry include Enumerable def initialize - @tags = {} + @tags = {} @cache = {} end @@ -128,19 +128,19 @@ def parse(source, options = {}) end def initialize - @rethrow_errors = false + @rethrow_errors = false @resource_limits = ResourceLimits.new(self.class.default_resource_limits) end # Parse source code. # Returns self for easy chaining def parse(source, options = {}) - @options = options - @profiling = options[:profile] + @options = options + @profiling = options[:profile] @line_numbers = options[:line_numbers] || @profiling parse_context = options.is_a?(ParseContext) ? options : ParseContext.new(options) - @root = Document.parse(tokenize(source), parse_context) - @warnings = parse_context.warnings + @root = Document.parse(tokenize(source), parse_context) + @warnings = parse_context.warnings self end @@ -187,7 +187,7 @@ def render(*args) c when Liquid::Drop - drop = args.shift + drop = args.shift drop.context = Context.new([drop, assigns], instance_assigns, registers, @rethrow_errors, @resource_limits) when Hash Context.new([args.shift, assigns], instance_assigns, registers, @rethrow_errors, @resource_limits) @@ -204,7 +204,7 @@ def render(*args) case args.last when Hash options = args.pop - output = options[:output] if options[:output] + output = options[:output] if options[:output] options[:registers]&.each do |key, register| context_register[key] = register @@ -269,10 +269,10 @@ def with_profiling(context) def apply_options_to_context(context, options) context.add_filters(options[:filters]) if options[:filters] - context.global_filter = options[:global_filter] if options[:global_filter] + context.global_filter = options[:global_filter] if options[:global_filter] context.exception_renderer = options[:exception_renderer] if options[:exception_renderer] - context.strict_variables = options[:strict_variables] if options[:strict_variables] - context.strict_filters = options[:strict_filters] if options[:strict_filters] + context.strict_variables = options[:strict_variables] if options[:strict_variables] + context.strict_filters = options[:strict_filters] if options[:strict_filters] end end end diff --git a/lib/liquid/tokenizer.rb b/lib/liquid/tokenizer.rb index a89c7899c..42745e02f 100644 --- a/lib/liquid/tokenizer.rb +++ b/lib/liquid/tokenizer.rb @@ -5,10 +5,10 @@ class Tokenizer attr_reader :line_number, :for_liquid_tag def initialize(source, line_numbers = false, line_number: nil, for_liquid_tag: false) - @source = source - @line_number = line_number || (line_numbers ? 1 : nil) + @source = source + @line_number = line_number || (line_numbers ? 1 : nil) @for_liquid_tag = for_liquid_tag - @tokens = tokenize + @tokens = tokenize end def shift diff --git a/lib/liquid/utils.rb b/lib/liquid/utils.rb index 709fb0026..15a513ff7 100644 --- a/lib/liquid/utils.rb +++ b/lib/liquid/utils.rb @@ -12,7 +12,7 @@ def self.slice_collection(collection, from, to) def self.slice_collection_using_each(collection, from, to) segments = [] - index = 0 + index = 0 # Maintains Ruby 1.8.7 String#each behaviour on 1.9 if collection.is_a?(String) diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index 5b686e2d3..9ed05e8eb 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -12,10 +12,10 @@ module Liquid # {{ user | link }} # class Variable - FilterMarkupRegex = /#{FilterSeparator}\s*(.*)/om - FilterParser = /(?:\s+|#{QuotedFragment}|#{ArgumentSeparator})+/o - FilterArgsRegex = /(?:#{FilterArgumentSeparator}|#{ArgumentSeparator})\s*((?:\w+\s*\:\s*)?#{QuotedFragment})/o - JustTagAttributes = /\A#{TagAttributes}\z/o + FilterMarkupRegex = /#{FilterSeparator}\s*(.*)/om + FilterParser = /(?:\s+|#{QuotedFragment}|#{ArgumentSeparator})+/o + FilterArgsRegex = /(?:#{FilterArgumentSeparator}|#{ArgumentSeparator})\s*((?:\w+\s*\:\s*)?#{QuotedFragment})/o + JustTagAttributes = /\A#{TagAttributes}\z/o MarkupWithQuotedFragment = /(#{QuotedFragment})(.*)/om attr_accessor :filters, :name, :line_number @@ -25,10 +25,10 @@ class Variable include ParserSwitching def initialize(markup, parse_context) - @markup = markup - @name = nil + @markup = markup + @name = nil @parse_context = parse_context - @line_number = parse_context.line_number + @line_number = parse_context.line_number parse_with_selected_parser(markup) end @@ -45,9 +45,9 @@ def lax_parse(markup) @filters = [] return unless markup =~ MarkupWithQuotedFragment - name_markup = Regexp.last_match(1) + name_markup = Regexp.last_match(1) filter_markup = Regexp.last_match(2) - @name = Expression.parse(name_markup) + @name = Expression.parse(name_markup) if filter_markup =~ FilterMarkupRegex filters = Regexp.last_match(1).scan(FilterParser) filters.each do |f| @@ -61,7 +61,7 @@ def lax_parse(markup) def strict_parse(markup) @filters = [] - p = Parser.new(markup) + p = Parser.new(markup) @name = Expression.parse(p.expression) while p.consume?(:pipe) @@ -115,17 +115,17 @@ def disabled_tags private def parse_filter_expressions(filter_name, unparsed_args) - filter_args = [] + filter_args = [] keyword_args = nil unparsed_args.each do |a| if (matches = a.match(JustTagAttributes)) - keyword_args ||= {} + keyword_args ||= {} keyword_args[matches[1]] = Expression.parse(matches[2]) else filter_args << Expression.parse(a) end end - result = [filter_name, filter_args] + result = [filter_name, filter_args] result << keyword_args if keyword_args result end @@ -149,8 +149,8 @@ def taint_check(context, obj) @markup =~ QuotedFragment name = Regexp.last_match(0) - error = TaintedError.new("variable '#{name}' is tainted and was not escaped") - error.line_number = line_number + error = TaintedError.new("variable '#{name}' is tainted and was not escaped") + error.line_number = line_number error.template_name = context.template_name case Template.taint_mode diff --git a/lib/liquid/variable_lookup.rb b/lib/liquid/variable_lookup.rb index 112373d5c..cb4a716d6 100644 --- a/lib/liquid/variable_lookup.rb +++ b/lib/liquid/variable_lookup.rb @@ -3,7 +3,7 @@ module Liquid class VariableLookup SQUARE_BRACKETED = /\A\[(.*)\]\z/m - COMMAND_METHODS = ['size', 'first', 'last'].freeze + COMMAND_METHODS = ['size', 'first', 'last'].freeze attr_reader :name, :lookups @@ -14,13 +14,13 @@ def self.parse(markup) def initialize(markup) lookups = markup.scan(VariableParser) - name = lookups.shift + name = lookups.shift if name =~ SQUARE_BRACKETED name = Expression.parse(Regexp.last_match(1)) end @name = name - @lookups = lookups + @lookups = lookups @command_flags = 0 @lookups.each_index do |i| @@ -34,7 +34,7 @@ def initialize(markup) end def evaluate(context) - name = context.evaluate(@name) + name = context.evaluate(@name) object = context.find_variable(name) @lookups.each_index do |i| @@ -47,7 +47,7 @@ def evaluate(context) (object.respond_to?(:fetch) && key.is_a?(Integer))) # if its a proc we will replace the entry with the proc - res = context.lookup_and_evaluate(object, key) + res = context.lookup_and_evaluate(object, key) object = res.to_liquid # Some special cases. If the part wasn't in square brackets and diff --git a/performance/benchmark.rb b/performance/benchmark.rb index 4d28b9acf..993cc933e 100644 --- a/performance/benchmark.rb +++ b/performance/benchmark.rb @@ -4,10 +4,10 @@ require_relative 'theme_runner' Liquid::Template.error_mode = ARGV.first.to_sym if ARGV.first -profiler = ThemeRunner.new +profiler = ThemeRunner.new Benchmark.ips do |x| - x.time = 10 + x.time = 10 x.warmup = 5 puts diff --git a/performance/profile.rb b/performance/profile.rb index 70740778d..de4ee2aac 100644 --- a/performance/profile.rb +++ b/performance/profile.rb @@ -4,7 +4,7 @@ require_relative 'theme_runner' Liquid::Template.error_mode = ARGV.first.to_sym if ARGV.first -profiler = ThemeRunner.new +profiler = ThemeRunner.new profiler.run [:cpu, :object].each do |profile_type| diff --git a/performance/shopify/comment_form.rb b/performance/shopify/comment_form.rb index 7648e1a4c..e60354510 100644 --- a/performance/shopify/comment_form.rb +++ b/performance/shopify/comment_form.rb @@ -8,7 +8,7 @@ def initialize(tag_name, markup, options) if markup =~ Syntax @variable_name = Regexp.last_match(1) - @attributes = {} + @attributes = {} else raise SyntaxError, "Syntax Error in 'comment_form' - Valid syntax: comment_form [article]" end diff --git a/performance/shopify/database.rb b/performance/shopify/database.rb index 2db6d300c..35a403807 100644 --- a/performance/shopify/database.rb +++ b/performance/shopify/database.rb @@ -11,7 +11,7 @@ def self.tables # From vision source db['products'].each do |product| - collections = db['collections'].find_all do |collection| + collections = db['collections'].find_all do |collection| collection['products'].any? { |p| p['id'].to_i == product['id'].to_i } end product['collections'] = collections diff --git a/performance/shopify/paginate.rb b/performance/shopify/paginate.rb index f72382382..fb5033571 100644 --- a/performance/shopify/paginate.rb +++ b/performance/shopify/paginate.rb @@ -8,7 +8,7 @@ def initialize(tag_name, markup, options) if markup =~ Syntax @collection_name = Regexp.last_match(1) - @page_size = if Regexp.last_match(2) + @page_size = if Regexp.last_match(2) Regexp.last_match(3).to_i else 20 diff --git a/performance/theme_runner.rb b/performance/theme_runner.rb index 5ad01c554..d8d093661 100644 --- a/performance/theme_runner.rb +++ b/performance/theme_runner.rb @@ -58,9 +58,9 @@ def run # `render` is called to benchmark just the render portion of liquid def render @compiled_tests.each do |test| - tmpl = test[:tmpl] + tmpl = test[:tmpl] assigns = test[:assigns] - layout = test[:layout] + layout = test[:layout] if layout assigns['content_for_layout'] = tmpl.render!(assigns) @@ -74,7 +74,7 @@ def render private def compile_and_render(template, layout, assigns, page_template, template_file) - compiled_test = compile_test(template, layout, assigns, page_template, template_file) + compiled_test = compile_test(template, layout, assigns, page_template, template_file) assigns['content_for_layout'] = compiled_test[:tmpl].render!(assigns) compiled_test[:layout].render!(assigns) if layout end @@ -88,7 +88,7 @@ def compile_all_tests end def compile_test(template, layout, assigns, page_template, template_file) - tmpl = init_template(page_template, template_file) + tmpl = init_template(page_template, template_file) parsed_template = tmpl.parse(template).dup if layout @@ -113,9 +113,9 @@ def each_test # set up a new Liquid::Template object for use in `compile_and_render` and `compile_test` def init_template(page_template, template_file) - tmpl = Liquid::Template.new - tmpl.assigns['page_title'] = 'Page title' - tmpl.assigns['template'] = page_template + tmpl = Liquid::Template.new + tmpl.assigns['page_title'] = 'Page title' + tmpl.assigns['template'] = page_template tmpl.registers[:file_system] = ThemeRunner::FileSystem.new(File.dirname(template_file)) tmpl end diff --git a/test/integration/assign_test.rb b/test/integration/assign_test.rb index ee8bf5f04..99a32dcc2 100644 --- a/test/integration/assign_test.rb +++ b/test/integration/assign_test.rb @@ -10,8 +10,8 @@ def test_assign_with_hyphen_in_variable_name {% assign this-thing = 'Print this-thing' %} {{ this-thing }} END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! + template = Template.parse(template_source) + rendered = template.render! assert_equal("Print this-thing", rendered.strip) end diff --git a/test/integration/capture_test.rb b/test/integration/capture_test.rb index 2e579ad13..39098dde2 100644 --- a/test/integration/capture_test.rb +++ b/test/integration/capture_test.rb @@ -14,8 +14,8 @@ def test_capture_with_hyphen_in_variable_name {% capture this-thing %}Print this-thing{% endcapture %} {{ this-thing }} END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! + template = Template.parse(template_source) + rendered = template.render! assert_equal("Print this-thing", rendered.strip) end @@ -30,8 +30,8 @@ def test_capture_to_variable_from_outer_scope_if_existing {% endif %} {{var}} END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! + template = Template.parse(template_source) + rendered = template.render! assert_equal("test-string", rendered.gsub(/\s/, '')) end @@ -45,8 +45,8 @@ def test_assigning_from_capture {% endfor %} {{ first }}-{{ second }} END_TEMPLATE - template = Template.parse(template_source) - rendered = template.render! + template = Template.parse(template_source) + rendered = template.render! assert_equal("3-3", rendered.gsub(/\s/, '')) end end # CaptureTest diff --git a/test/integration/drop_test.rb b/test/integration/drop_test.rb index 2c468aaed..eeb1238a3 100644 --- a/test/integration/drop_test.rb +++ b/test/integration/drop_test.rb @@ -125,7 +125,7 @@ def test_rendering_raises_on_tainted_attr def test_rendering_warns_on_tainted_attr with_taint_mode(:warn) do - tpl = Liquid::Template.parse('{{ product.user_input }}') + tpl = Liquid::Template.parse('{{ product.user_input }}') context = Context.new('product' => ProductDrop.new) tpl.render!(context) assert_equal [Liquid::TaintedError], context.warnings.map(&:class) diff --git a/test/integration/error_handling_test.rb b/test/integration/error_handling_test.rb index a5f1cfcf8..af100ab8d 100644 --- a/test/integration/error_handling_test.rb +++ b/test/integration/error_handling_test.rb @@ -209,13 +209,13 @@ def test_default_exception_renderer_with_internal_error end def test_setting_default_exception_renderer - old_exception_renderer = Liquid::Template.default_exception_renderer - exceptions = [] + old_exception_renderer = Liquid::Template.default_exception_renderer + exceptions = [] Liquid::Template.default_exception_renderer = ->(e) { exceptions << e '' } - template = Liquid::Template.parse('This is a runtime error: {{ errors.argument_error }}') + template = Liquid::Template.parse('This is a runtime error: {{ errors.argument_error }}') output = template.render('errors' => ErrorDrop.new) @@ -226,9 +226,9 @@ def test_setting_default_exception_renderer end def test_exception_renderer_exposing_non_liquid_error - template = Liquid::Template.parse('This is a runtime error: {{ errors.runtime_error }}', line_numbers: true) + template = Liquid::Template.parse('This is a runtime error: {{ errors.runtime_error }}', line_numbers: true) exceptions = [] - handler = ->(e) { + handler = ->(e) { exceptions << e e.cause } @@ -252,8 +252,8 @@ def test_included_template_name_with_line_numbers begin Liquid::Template.file_system = TestFileSystem.new - template = Liquid::Template.parse("Argument error:\n{% include 'product' %}", line_numbers: true) - page = template.render('errors' => ErrorDrop.new) + template = Liquid::Template.parse("Argument error:\n{% include 'product' %}", line_numbers: true) + page = template.render('errors' => ErrorDrop.new) ensure Liquid::Template.file_system = old_file_system end diff --git a/test/integration/filter_test.rb b/test/integration/filter_test.rb index b147dcdcb..594793b94 100644 --- a/test/integration/filter_test.rb +++ b/test/integration/filter_test.rb @@ -72,10 +72,10 @@ def test_join end def test_sort - @context['value'] = 3 - @context['numbers'] = [2, 1, 4, 3] - @context['words'] = ['expected', 'as', 'alphabetic'] - @context['arrays'] = ['flower', 'are'] + @context['value'] = 3 + @context['numbers'] = [2, 1, 4, 3] + @context['words'] = ['expected', 'as', 'alphabetic'] + @context['arrays'] = ['flower', 'are'] @context['case_sensitive'] = ['sensitive', 'Expected', 'case'] assert_equal('1 2 3 4', Template.parse("{{numbers | sort | join}}").render(@context)) @@ -86,8 +86,8 @@ def test_sort end def test_sort_natural - @context['words'] = ['case', 'Assert', 'Insensitive'] - @context['hashes'] = [{ 'a' => 'A' }, { 'a' => 'b' }, { 'a' => 'C' }] + @context['words'] = ['case', 'Assert', 'Insensitive'] + @context['hashes'] = [{ 'a' => 'A' }, { 'a' => 'b' }, { 'a' => 'C' }] @context['objects'] = [TestObject.new('A'), TestObject.new('b'), TestObject.new('C')] # Test strings @@ -101,8 +101,8 @@ def test_sort_natural end def test_compact - @context['words'] = ['a', nil, 'b', nil, 'c'] - @context['hashes'] = [{ 'a' => 'A' }, { 'a' => nil }, { 'a' => 'C' }] + @context['words'] = ['a', nil, 'b', nil, 'c'] + @context['hashes'] = [{ 'a' => 'A' }, { 'a' => nil }, { 'a' => 'C' }] @context['objects'] = [TestObject.new('A'), TestObject.new(nil), TestObject.new('C')] # Test strings @@ -141,9 +141,9 @@ def test_nonexistent_filter_is_ignored def test_filter_with_keyword_arguments @context['surname'] = 'john' - @context['input'] = 'hello %{first_name}, %{last_name}' + @context['input'] = 'hello %{first_name}, %{last_name}' @context.add_filters(SubstituteFilter) - output = Template.parse(%({{ input | substitute: first_name: surname, last_name: 'doe' }})).render(@context) + output = Template.parse(%({{ input | substitute: first_name: surname, last_name: 'doe' }})).render(@context) assert_equal('hello john, doe', output) end diff --git a/test/integration/output_test.rb b/test/integration/output_test.rb index 738c4c068..3e1cf2830 100644 --- a/test/integration/output_test.rb +++ b/test/integration/output_test.rb @@ -61,63 +61,63 @@ def test_variable_traversing end def test_variable_piping - text = %( {{ car.gm | make_funny }} ) + text = %( {{ car.gm | make_funny }} ) expected = %( LOL ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_variable_piping_with_input - text = %( {{ car.gm | cite_funny }} ) + text = %( {{ car.gm | cite_funny }} ) expected = %( LOL: bad ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_variable_piping_with_args - text = %! {{ car.gm | add_smiley : ':-(' }} ! + text = %! {{ car.gm | add_smiley : ':-(' }} ! expected = %| bad :-( | assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_variable_piping_with_no_args - text = %( {{ car.gm | add_smiley }} ) + text = %( {{ car.gm | add_smiley }} ) expected = %| bad :-) | assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_multiple_variable_piping_with_args - text = %! {{ car.gm | add_smiley : ':-(' | add_smiley : ':-('}} ! + text = %! {{ car.gm | add_smiley : ':-(' | add_smiley : ':-('}} ! expected = %| bad :-( :-( | assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_variable_piping_with_multiple_args - text = %( {{ car.gm | add_tag : 'span', 'bar'}} ) + text = %( {{ car.gm | add_tag : 'span', 'bar'}} ) expected = %( bad ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_variable_piping_with_variable_args - text = %( {{ car.gm | add_tag : 'span', car.bmw}} ) + text = %( {{ car.gm | add_tag : 'span', car.bmw}} ) expected = %( bad ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_multiple_pipings - text = %( {{ best_cars | cite_funny | paragraph }} ) + text = %( {{ best_cars | cite_funny | paragraph }} ) expected = %(

LOL: bmw

) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) end def test_link_to - text = %( {{ 'Typo' | link_to: 'http://typo.leetsoft.com' }} ) + text = %( {{ 'Typo' | link_to: 'http://typo.leetsoft.com' }} ) expected = %( Typo ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: [FunnyFilter])) diff --git a/test/integration/parsing_quirks_test.rb b/test/integration/parsing_quirks_test.rb index df562c984..d005b75fe 100644 --- a/test/integration/parsing_quirks_test.rb +++ b/test/integration/parsing_quirks_test.rb @@ -72,7 +72,7 @@ def test_no_error_on_lax_empty_filter def test_meaningless_parens_lax with_error_mode(:lax) do assigns = { 'b' => 'bar', 'c' => 'baz' } - markup = "a == 'foo' or (b == 'bar' and c == 'baz') or false" + markup = "a == 'foo' or (b == 'bar' and c == 'baz') or false" assert_template_result(' YES ', "{% if #{markup} %} YES {% endif %}", assigns) end end diff --git a/test/integration/render_profiling_test.rb b/test/integration/render_profiling_test.rb index 2d460613f..1b0fe65b5 100644 --- a/test/integration/render_profiling_test.rb +++ b/test/integration/render_profiling_test.rb @@ -155,7 +155,7 @@ def test_profiling_marks_children_of_for_blocks end def test_profiling_supports_self_time - t = Template.parse("{% for item in collection %} {{ item }} {% endfor %}", profile: true) + t = Template.parse("{% for item in collection %} {{ item }} {% endfor %}", profile: true) t.render!("collection" => ["one", "two"]) leaf = t.profiler[0].children[0] diff --git a/test/integration/security_test.rb b/test/integration/security_test.rb index 087655e8f..1e55dde6b 100644 --- a/test/integration/security_test.rb +++ b/test/integration/security_test.rb @@ -16,28 +16,28 @@ def setup end def test_no_instance_eval - text = %( {{ '1+1' | instance_eval }} ) + text = %( {{ '1+1' | instance_eval }} ) expected = %( 1+1 ) assert_equal(expected, Template.parse(text).render!(@assigns)) end def test_no_existing_instance_eval - text = %( {{ '1+1' | __instance_eval__ }} ) + text = %( {{ '1+1' | __instance_eval__ }} ) expected = %( 1+1 ) assert_equal(expected, Template.parse(text).render!(@assigns)) end def test_no_instance_eval_after_mixing_in_new_filter - text = %( {{ '1+1' | instance_eval }} ) + text = %( {{ '1+1' | instance_eval }} ) expected = %( 1+1 ) assert_equal(expected, Template.parse(text).render!(@assigns)) end def test_no_instance_eval_later_in_chain - text = %( {{ '1+1' | add_one | instance_eval }} ) + text = %( {{ '1+1' | add_one | instance_eval }} ) expected = %( 1+1 + 1 ) assert_equal(expected, Template.parse(text).render!(@assigns, filters: SecurityFilter)) @@ -68,13 +68,13 @@ def test_does_not_add_drop_methods_to_symbol_table def test_max_depth_nested_blocks_does_not_raise_exception depth = Liquid::Block::MAX_DEPTH - code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth + code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth assert_equal("rendered", Template.parse(code).render!) end def test_more_than_max_depth_nested_blocks_raises_exception depth = Liquid::Block::MAX_DEPTH + 1 - code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth + code = "{% if true %}" * depth + "rendered" + "{% endif %}" * depth assert_raises(Liquid::StackLevelError) do Template.parse(code).render! end diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb index 705746346..7d4256a48 100644 --- a/test/integration/standard_filter_test.rb +++ b/test/integration/standard_filter_test.rb @@ -207,7 +207,7 @@ def test_sort_with_nils end def test_sort_when_property_is_sometimes_missing_puts_nils_last - input = [ + input = [ { "price" => 4, "handle" => "alpha" }, { "handle" => "beta" }, { "price" => 1, "handle" => "gamma" }, @@ -235,7 +235,7 @@ def test_sort_natural_with_nils end def test_sort_natural_when_property_is_sometimes_missing_puts_nils_last - input = [ + input = [ { "price" => "4", "handle" => "alpha" }, { "handle" => "beta" }, { "price" => "1", "handle" => "gamma" }, @@ -253,7 +253,7 @@ def test_sort_natural_when_property_is_sometimes_missing_puts_nils_last end def test_sort_natural_case_check - input = [ + input = [ { "key" => "X" }, { "key" => "Y" }, { "key" => "Z" }, @@ -389,7 +389,7 @@ def test_map_on_hashes def test_legacy_map_on_hashes_with_dynamic_key template = "{% assign key = 'foo' %}{{ thing | map: key | map: 'bar' }}" - hash = { "foo" => { "bar" => 42 } } + hash = { "foo" => { "bar" => 42 } } assert_template_result("42", template, "thing" => hash) end @@ -400,8 +400,8 @@ def test_sort_calls_to_liquid end def test_map_over_proc - drop = TestDrop.new - p = proc { drop } + drop = TestDrop.new + p = proc { drop } templ = '{{ procs | map: "test" }}' assert_template_result("testfoo", templ, "procs" => [p]) end @@ -782,7 +782,7 @@ def test_where_no_target_value private def with_timezone(tz) - old_tz = ENV['TZ'] + old_tz = ENV['TZ'] ENV['TZ'] = tz yield ensure diff --git a/test/integration/tags/break_tag_test.rb b/test/integration/tags/break_tag_test.rb index c3a467918..a67a8b535 100644 --- a/test/integration/tags/break_tag_test.rb +++ b/test/integration/tags/break_tag_test.rb @@ -8,8 +8,8 @@ class BreakTagTest < Minitest::Test # tests that no weird errors are raised if break is called outside of a # block def test_break_with_no_block - assigns = { 'i' => 1 } - markup = '{% break %}' + assigns = { 'i' => 1 } + markup = '{% break %}' expected = '' assert_template_result(expected, markup, assigns) diff --git a/test/integration/tags/continue_tag_test.rb b/test/integration/tags/continue_tag_test.rb index 00cca17c1..0530a718f 100644 --- a/test/integration/tags/continue_tag_test.rb +++ b/test/integration/tags/continue_tag_test.rb @@ -8,8 +8,8 @@ class ContinueTagTest < Minitest::Test # tests that no weird errors are raised if continue is called outside of a # block def test_continue_with_no_block - assigns = {} - markup = '{% continue %}' + assigns = {} + markup = '{% continue %}' expected = '' assert_template_result(expected, markup, assigns) diff --git a/test/integration/tags/for_tag_test.rb b/test/integration/tags/for_tag_test.rb index 903fcf902..48cce1f42 100644 --- a/test/integration/tags/for_tag_test.rb +++ b/test/integration/tags/for_tag_test.rb @@ -106,7 +106,7 @@ def test_limiting end def test_limiting_with_invalid_limit - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } + assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } template = <<-MKUP {% for i in array limit: true offset: 1 %} {{ i }} @@ -120,7 +120,7 @@ def test_limiting_with_invalid_limit end def test_limiting_with_invalid_offset - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } + assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } template = <<-MKUP {% for i in array limit: 1 offset: true %} {{ i }} @@ -134,8 +134,8 @@ def test_limiting_with_invalid_offset end def test_dynamic_variable_limiting - assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } - assigns['limit'] = 2 + assigns = { 'array' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } + assigns['limit'] = 2 assigns['offset'] = 2 assert_template_result('34', '{%for i in array limit: limit offset: offset %}{{ i }}{%endfor%}', assigns) @@ -152,8 +152,8 @@ def test_offset_only end def test_pause_resume - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } + markup = <<-MKUP {%for i in array.items limit: 3 %}{{i}}{%endfor%} next {%for i in array.items offset:continue limit: 3 %}{{i}}{%endfor%} @@ -171,8 +171,8 @@ def test_pause_resume end def test_pause_resume_limit - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } + markup = <<-MKUP {%for i in array.items limit:3 %}{{i}}{%endfor%} next {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} @@ -190,8 +190,8 @@ def test_pause_resume_limit end def test_pause_resume_big_limit - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = <<-MKUP + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } + markup = <<-MKUP {%for i in array.items limit:3 %}{{i}}{%endfor%} next {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} @@ -209,8 +209,8 @@ def test_pause_resume_big_limit end def test_pause_resume_big_offset - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } - markup = '{%for i in array.items limit:3 %}{{i}}{%endfor%} + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] } } + markup = '{%for i in array.items limit:3 %}{{i}}{%endfor%} next {%for i in array.items offset:continue limit:3 %}{{i}}{%endfor%} next @@ -226,26 +226,26 @@ def test_pause_resume_big_offset def test_for_with_break assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] } } - markup = '{% for i in array.items %}{% break %}{% endfor %}' + markup = '{% for i in array.items %}{% break %}{% endfor %}' expected = "" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{{ i }}{% break %}{% endfor %}' + markup = '{% for i in array.items %}{{ i }}{% break %}{% endfor %}' expected = "1" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{% break %}{{ i }}{% endfor %}' + markup = '{% for i in array.items %}{% break %}{{ i }}{% endfor %}' expected = "" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{{ i }}{% if i > 3 %}{% break %}{% endif %}{% endfor %}' + markup = '{% for i in array.items %}{{ i }}{% if i > 3 %}{% break %}{% endif %}{% endfor %}' expected = "1234" assert_template_result(expected, markup, assigns) # tests to ensure it only breaks out of the local for loop # and not all of them. - assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } - markup = '{% for item in array %}' \ + assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } + markup = '{% for item in array %}' \ '{% for i in item %}' \ '{% if i == 1 %}' \ '{% break %}' \ @@ -257,8 +257,8 @@ def test_for_with_break assert_template_result(expected, markup, assigns) # test break does nothing when unreached - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - markup = '{% for i in array.items %}{% if i == 9999 %}{% break %}{% endif %}{{ i }}{% endfor %}' + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } + markup = '{% for i in array.items %}{% if i == 9999 %}{% break %}{% endif %}{{ i }}{% endfor %}' expected = '12345' assert_template_result(expected, markup, assigns) end @@ -266,29 +266,29 @@ def test_for_with_break def test_for_with_continue assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - markup = '{% for i in array.items %}{% continue %}{% endfor %}' + markup = '{% for i in array.items %}{% continue %}{% endfor %}' expected = "" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{{ i }}{% continue %}{% endfor %}' + markup = '{% for i in array.items %}{{ i }}{% continue %}{% endfor %}' expected = "12345" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{% continue %}{{ i }}{% endfor %}' + markup = '{% for i in array.items %}{% continue %}{{ i }}{% endfor %}' expected = "" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{% if i > 3 %}{% continue %}{% endif %}{{ i }}{% endfor %}' + markup = '{% for i in array.items %}{% if i > 3 %}{% continue %}{% endif %}{{ i }}{% endfor %}' expected = "123" assert_template_result(expected, markup, assigns) - markup = '{% for i in array.items %}{% if i == 3 %}{% continue %}{% else %}{{ i }}{% endif %}{% endfor %}' + markup = '{% for i in array.items %}{% if i == 3 %}{% continue %}{% else %}{{ i }}{% endif %}{% endfor %}' expected = "1245" assert_template_result(expected, markup, assigns) # tests to ensure it only continues the local for loop and not all of them. - assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } - markup = '{% for item in array %}' \ + assigns = { 'array' => [[1, 2], [3, 4], [5, 6]] } + markup = '{% for item in array %}' \ '{% for i in item %}' \ '{% if i == 1 %}' \ '{% continue %}' \ @@ -300,8 +300,8 @@ def test_for_with_continue assert_template_result(expected, markup, assigns) # test continue does nothing when unreached - assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } - markup = '{% for i in array.items %}{% if i == 9999 %}{% continue %}{% endif %}{{ i }}{% endfor %}' + assigns = { 'array' => { 'items' => [1, 2, 3, 4, 5] } } + markup = '{% for i in array.items %}{% if i == 9999 %}{% continue %}{% endif %}{{ i }}{% endfor %}' expected = '12345' assert_template_result(expected, markup, assigns) end @@ -389,8 +389,8 @@ def load_slice(from, to) end def test_iterate_with_each_when_no_limit_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } + loader = LoaderDrop.new([1, 2, 3, 4, 5]) + assigns = { 'items' => loader } expected = '12345' template = '{% for item in items %}{{item}}{% endfor %}' assert_template_result(expected, template, assigns) @@ -399,8 +399,8 @@ def test_iterate_with_each_when_no_limit_applied end def test_iterate_with_load_slice_when_limit_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } + loader = LoaderDrop.new([1, 2, 3, 4, 5]) + assigns = { 'items' => loader } expected = '1' template = '{% for item in items limit:1 %}{{item}}{% endfor %}' assert_template_result(expected, template, assigns) @@ -409,8 +409,8 @@ def test_iterate_with_load_slice_when_limit_applied end def test_iterate_with_load_slice_when_limit_and_offset_applied - loader = LoaderDrop.new([1, 2, 3, 4, 5]) - assigns = { 'items' => loader } + loader = LoaderDrop.new([1, 2, 3, 4, 5]) + assigns = { 'items' => loader } expected = '34' template = '{% for item in items offset:2 limit:2 %}{{item}}{% endfor %}' assert_template_result(expected, template, assigns) @@ -419,11 +419,11 @@ def test_iterate_with_load_slice_when_limit_and_offset_applied end def test_iterate_with_load_slice_returns_same_results_as_without - loader = LoaderDrop.new([1, 2, 3, 4, 5]) + loader = LoaderDrop.new([1, 2, 3, 4, 5]) loader_assigns = { 'items' => loader } - array_assigns = { 'items' => [1, 2, 3, 4, 5] } - expected = '34' - template = '{% for item in items offset:2 limit:2 %}{{item}}{% endfor %}' + array_assigns = { 'items' => [1, 2, 3, 4, 5] } + expected = '34' + template = '{% for item in items offset:2 limit:2 %}{{item}}{% endfor %}' assert_template_result(expected, template, loader_assigns) assert_template_result(expected, template, array_assigns) end diff --git a/test/integration/tags/if_else_tag_test.rb b/test/integration/tags/if_else_tag_test.rb index d54b2fb8d..dfbc537d6 100644 --- a/test/integration/tags/if_else_tag_test.rb +++ b/test/integration/tags/if_else_tag_test.rb @@ -45,7 +45,7 @@ def test_if_or_with_operators def test_comparison_of_strings_containing_and_or_or awful_markup = "a == 'and' and b == 'or' and c == 'foo and bar' and d == 'bar or baz' and e == 'foo' and foo and bar" - assigns = { 'a' => 'and', 'b' => 'or', 'c' => 'foo and bar', 'd' => 'bar or baz', 'e' => 'foo', 'foo' => true, 'bar' => true } + assigns = { 'a' => 'and', 'b' => 'or', 'c' => 'foo and bar', 'd' => 'bar or baz', 'e' => 'foo', 'foo' => true, 'bar' => true } assert_template_result(' YES ', "{% if #{awful_markup} %} YES {% endif %}", assigns) end @@ -142,7 +142,7 @@ def test_syntax_error_no_expression end def test_if_with_custom_condition - original_op = Condition.operators['contains'] + original_op = Condition.operators['contains'] Condition.operators['contains'] = :[] assert_template_result('yes', %({% if 'bob' contains 'o' %}yes{% endif %})) @@ -152,7 +152,7 @@ def test_if_with_custom_condition end def test_operators_are_ignored_unless_isolated - original_op = Condition.operators['contains'] + original_op = Condition.operators['contains'] Condition.operators['contains'] = :[] assert_template_result('yes', diff --git a/test/integration/tags/include_tag_test.rb b/test/integration/tags/include_tag_test.rb index c0400a0aa..f45a8923a 100644 --- a/test/integration/tags/include_tag_test.rb +++ b/test/integration/tags/include_tag_test.rb @@ -54,7 +54,7 @@ class CountingFileSystem attr_reader :count def read_template_file(_template_path) @count ||= 0 - @count += 1 + @count += 1 'from CountingFileSystem' end end @@ -192,7 +192,7 @@ def test_include_tag_within_if_statement end def test_custom_include_tag - original_tag = Liquid::Template.tags['include'] + original_tag = Liquid::Template.tags['include'] Liquid::Template.tags['include'] = CustomInclude begin assert_equal("custom_foo", @@ -203,7 +203,7 @@ def test_custom_include_tag end def test_custom_include_tag_within_if_statement - original_tag = Liquid::Template.tags['include'] + original_tag = Liquid::Template.tags['include'] Liquid::Template.tags['include'] = CustomInclude begin assert_equal("custom_foo_if_true", diff --git a/test/integration/tags/render_tag_test.rb b/test/integration/tags/render_tag_test.rb index f2fbc5538..4b8871764 100644 --- a/test/integration/tags/render_tag_test.rb +++ b/test/integration/tags/render_tag_test.rb @@ -47,7 +47,7 @@ def test_render_sets_the_correct_template_name_for_errors with_taint_mode :error do template = Liquid::Template.parse('{% render "snippet", unsafe: unsafe %}') - context = Context.new('unsafe' => (+'unsafe').tap(&:taint)) + context = Context.new('unsafe' => (+'unsafe').tap(&:taint)) template.render(context) assert_equal [Liquid::TaintedError], template.errors.map(&:class) @@ -60,7 +60,7 @@ def test_render_sets_the_correct_template_name_for_warnings with_taint_mode :warn do template = Liquid::Template.parse('{% render "snippet", unsafe: unsafe %}') - context = Context.new('unsafe' => (+'unsafe').tap(&:taint)) + context = Context.new('unsafe' => (+'unsafe').tap(&:taint)) template.render(context) assert_equal [Liquid::TaintedError], context.warnings.map(&:class) diff --git a/test/integration/tags/standard_tag_test.rb b/test/integration/tags/standard_tag_test.rb index cbef58632..08b2aa04c 100644 --- a/test/integration/tags/standard_tag_test.rb +++ b/test/integration/tags/standard_tag_test.rb @@ -174,7 +174,7 @@ def test_case_on_length_with_else def test_assign_from_case # Example from the shopify forums - code = "{% case collection.handle %}{% when 'menswear-jackets' %}{% assign ptitle = 'menswear' %}{% when 'menswear-t-shirts' %}{% assign ptitle = 'menswear' %}{% else %}{% assign ptitle = 'womenswear' %}{% endcase %}{{ ptitle }}" + code = "{% case collection.handle %}{% when 'menswear-jackets' %}{% assign ptitle = 'menswear' %}{% when 'menswear-t-shirts' %}{% assign ptitle = 'menswear' %}{% else %}{% assign ptitle = 'womenswear' %}{% endcase %}{{ ptitle }}" template = Liquid::Template.parse(code) assert_equal("menswear", template.render!("collection" => { 'handle' => 'menswear-jackets' })) assert_equal("menswear", template.render!("collection" => { 'handle' => 'menswear-t-shirts' })) diff --git a/test/integration/template_test.rb b/test/integration/template_test.rb index d3110d132..415d93463 100644 --- a/test/integration/template_test.rb +++ b/test/integration/template_test.rb @@ -73,29 +73,29 @@ def test_custom_assigns_squash_instance_assigns end def test_persistent_assigns_squash_instance_assigns - t = Template.new + t = Template.new assert_equal('from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render!) t.assigns['foo'] = 'from persistent assigns' assert_equal('from persistent assigns', t.parse("{{ foo }}").render!) end def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_renders - t = Template.new + t = Template.new t.assigns['number'] = -> { @global ||= 0 - @global += 1 + @global += 1 } assert_equal('1', t.parse("{{number}}").render!) assert_equal('1', t.parse("{{number}}").render!) assert_equal('1', t.render!) - @global = nil + @global = nil end def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_renders - t = Template.new + t = Template.new assigns = { 'number' => -> { @global ||= 0 - @global += 1 + @global += 1 } } assert_equal('1', t.parse("{{number}}").render!(assigns)) assert_equal('1', t.parse("{{number}}").render!(assigns)) @@ -104,13 +104,13 @@ def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_rend end def test_resource_limits_works_with_custom_length_method - t = Template.parse("{% assign foo = bar %}") + t = Template.parse("{% assign foo = bar %}") t.resource_limits.render_length_limit = 42 assert_equal("", t.render!("bar" => SomethingWithLength.new)) end def test_resource_limits_render_length - t = Template.parse("0123456789") + t = Template.parse("0123456789") t.resource_limits.render_length_limit = 5 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -121,12 +121,12 @@ def test_resource_limits_render_length end def test_resource_limits_render_score - t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}") + t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) - t = Template.parse("{% for a in (1..100) %} foo {% endfor %}") + t = Template.parse("{% for a in (1..100) %} foo {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -137,7 +137,7 @@ def test_resource_limits_render_score end def test_resource_limits_assign_score - t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}") + t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}") t.resource_limits.assign_score_limit = 1 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -169,7 +169,7 @@ def test_resource_limits_assign_score_nested end def test_resource_limits_aborts_rendering_after_first_error - t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}") + t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -184,19 +184,19 @@ def test_resource_limits_hash_in_template_gets_updated_even_if_no_limits_are_set end def test_render_length_persists_between_blocks - t = Template.parse("{% if true %}aaaa{% endif %}") + t = Template.parse("{% if true %}aaaa{% endif %}") t.resource_limits.render_length_limit = 7 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 8 assert_equal("aaaa", t.render) - t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}") + t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}") t.resource_limits.render_length_limit = 13 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 14 assert_equal("aaaabbb", t.render) - t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}") + t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}") t.resource_limits.render_length_limit = 5 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 11 @@ -206,7 +206,7 @@ def test_render_length_persists_between_blocks end def test_render_length_uses_number_of_bytes_not_characters - t = Template.parse("{% if true %}すごい{% endif %}") + t = Template.parse("{% if true %}すごい{% endif %}") t.resource_limits.render_length_limit = 10 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 18 @@ -215,7 +215,7 @@ def test_render_length_uses_number_of_bytes_not_characters def test_default_resource_limits_unaffected_by_render_with_context context = Context.new - t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") + t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") t.render!(context) assert(context.resource_limits.assign_score > 0) assert(context.resource_limits.render_score > 0) @@ -223,9 +223,9 @@ def test_default_resource_limits_unaffected_by_render_with_context end def test_can_use_drop_as_context - t = Template.new + t = Template.new t.registers['lulz'] = 'haha' - drop = TemplateContextDrop.new + drop = TemplateContextDrop.new assert_equal('fizzbuzz', t.parse('{{foo}}').render!(drop)) assert_equal('bar', t.parse('{{bar}}').render!(drop)) assert_equal('haha', t.parse("{{baz}}").render!(drop)) @@ -233,7 +233,7 @@ def test_can_use_drop_as_context def test_render_bang_force_rethrow_errors_on_passed_context context = Context.new('drop' => ErroneousDrop.new) - t = Template.new.parse('{{ drop.bad_method }}') + t = Template.new.parse('{{ drop.bad_method }}') e = assert_raises RuntimeError do t.render!(context) @@ -243,7 +243,7 @@ def test_render_bang_force_rethrow_errors_on_passed_context def test_exception_renderer_that_returns_string exception = nil - handler = ->(e) { + handler = ->(e) { exception = e '' } @@ -267,20 +267,20 @@ def test_exception_renderer_that_raises def test_global_filter_option_on_render global_filter_proc = ->(output) { "#{output} filtered" } - rendered_template = Template.parse("{{name}}").render({ "name" => "bob" }, global_filter: global_filter_proc) + rendered_template = Template.parse("{{name}}").render({ "name" => "bob" }, global_filter: global_filter_proc) assert_equal('bob filtered', rendered_template) end def test_global_filter_option_when_native_filters_exist global_filter_proc = ->(output) { "#{output} filtered" } - rendered_template = Template.parse("{{name | upcase}}").render({ "name" => "bob" }, global_filter: global_filter_proc) + rendered_template = Template.parse("{{name | upcase}}").render({ "name" => "bob" }, global_filter: global_filter_proc) assert_equal('BOB filtered', rendered_template) end def test_undefined_variables - t = Template.parse("{{x}} {{y}} {{z.a}} {{z.b}} {{z.c.d}}") + t = Template.parse("{{x}} {{y}} {{z.a}} {{z.b}} {{z.c.d}}") result = t.render({ 'x' => 33, 'z' => { 'a' => 32, 'c' => { 'e' => 31 } } }, strict_variables: true) assert_equal('33 32 ', result) @@ -295,8 +295,8 @@ def test_undefined_variables def test_nil_value_does_not_raise Liquid::Template.error_mode = :strict - t = Template.parse("some{{x}}thing") - result = t.render!({ 'x' => nil }, strict_variables: true) + t = Template.parse("some{{x}}thing") + result = t.render!({ 'x' => nil }, strict_variables: true) assert_equal(0, t.errors.count) assert_equal('something', result) @@ -311,8 +311,8 @@ def test_undefined_variables_raise end def test_undefined_drop_methods - d = DropWithUndefinedMethod.new - t = Template.new.parse('{{ foo }} {{ woot }}') + d = DropWithUndefinedMethod.new + t = Template.new.parse('{{ foo }} {{ woot }}') result = t.render(d, strict_variables: true) assert_equal('foo ', result) @@ -330,13 +330,13 @@ def test_undefined_drop_methods_raise end def test_undefined_filters - t = Template.parse("{{a}} {{x | upcase | somefilter1 | somefilter2 | somefilter3}}") + t = Template.parse("{{a}} {{x | upcase | somefilter1 | somefilter2 | somefilter3}}") filters = Module.new do def somefilter3(v) "-#{v}-" end end - result = t.render({ 'a' => 123, 'x' => 'foo' }, filters: [filters], strict_filters: true) + result = t.render({ 'a' => 123, 'x' => 'foo' }, filters: [filters], strict_filters: true) assert_equal('123 ', result) assert_equal(1, t.errors.count) @@ -353,11 +353,11 @@ def test_undefined_filters_raise end def test_using_range_literal_works_as_expected - t = Template.parse("{% assign foo = (x..y) %}{{ foo }}") + t = Template.parse("{% assign foo = (x..y) %}{{ foo }}") result = t.render('x' => 1, 'y' => 5) assert_equal('1..5', result) - t = Template.parse("{% assign nums = (x..y) %}{% for num in nums %}{{ num }}{% endfor %}") + t = Template.parse("{% assign nums = (x..y) %}{% for num in nums %}{{ num }}{% endfor %}") result = t.render('x' => 1, 'y' => 5) assert_equal('12345', result) end diff --git a/test/integration/trim_mode_test.rb b/test/integration/trim_mode_test.rb index 438f86b5d..4c4d4c831 100644 --- a/test/integration/trim_mode_test.rb +++ b/test/integration/trim_mode_test.rb @@ -7,7 +7,7 @@ class TrimModeTest < Minitest::Test # Make sure the trim isn't applied to standard output def test_standard_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{ 'John' }} @@ -25,7 +25,7 @@ def test_standard_output end def test_variable_output_with_multiple_blank_lines - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

@@ -45,7 +45,7 @@ def test_variable_output_with_multiple_blank_lines end def test_tag_output_with_multiple_blank_lines - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

@@ -69,7 +69,7 @@ def test_tag_output_with_multiple_blank_lines # Make sure the trim isn't applied to standard tags def test_standard_tags whitespace = ' ' - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if true %} @@ -78,7 +78,7 @@ def test_standard_tags

END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED

#{whitespace} @@ -89,7 +89,7 @@ def test_standard_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if false %} @@ -110,64 +110,64 @@ def test_standard_tags # Make sure the trim isn't too agressive def test_no_trim_output - text = '

{{- \'John\' -}}

' + text = '

{{- \'John\' -}}

' expected = '

John

' assert_template_result(expected, text) end # Make sure the trim isn't too agressive def test_no_trim_tags - text = '

{%- if true -%}yes{%- endif -%}

' + text = '

{%- if true -%}yes{%- endif -%}

' expected = '

yes

' assert_template_result(expected, text) - text = '

{%- if false -%}no{%- endif -%}

' + text = '

{%- if false -%}no{%- endif -%}

' expected = '

' assert_template_result(expected, text) end def test_single_line_outer_tag - text = '

{%- if true %} yes {% endif -%}

' + text = '

{%- if true %} yes {% endif -%}

' expected = '

yes

' assert_template_result(expected, text) - text = '

{%- if false %} no {% endif -%}

' + text = '

{%- if false %} no {% endif -%}

' expected = '

' assert_template_result(expected, text) end def test_single_line_inner_tag - text = '

{% if true -%} yes {%- endif %}

' + text = '

{% if true -%} yes {%- endif %}

' expected = '

yes

' assert_template_result(expected, text) - text = '

{% if false -%} no {%- endif %}

' + text = '

{% if false -%} no {%- endif %}

' expected = '

' assert_template_result(expected, text) end def test_single_line_post_tag - text = '

{% if true -%} yes {% endif -%}

' + text = '

{% if true -%} yes {% endif -%}

' expected = '

yes

' assert_template_result(expected, text) - text = '

{% if false -%} no {% endif -%}

' + text = '

{% if false -%} no {% endif -%}

' expected = '

' assert_template_result(expected, text) end def test_single_line_pre_tag - text = '

{%- if true %} yes {%- endif %}

' + text = '

{%- if true %} yes {%- endif %}

' expected = '

yes

' assert_template_result(expected, text) - text = '

{%- if false %} no {%- endif %}

' + text = '

{%- if false %} no {%- endif %}

' expected = '

' assert_template_result(expected, text) end def test_pre_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' }} @@ -184,7 +184,7 @@ def test_pre_trim_output end def test_pre_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true %} @@ -202,7 +202,7 @@ def test_pre_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false %} @@ -221,7 +221,7 @@ def test_pre_trim_tags end def test_post_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{ 'John' -}} @@ -238,7 +238,7 @@ def test_post_trim_output end def test_post_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if true -%} @@ -256,7 +256,7 @@ def test_post_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if false -%} @@ -275,7 +275,7 @@ def test_post_trim_tags end def test_pre_and_post_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true %} @@ -293,7 +293,7 @@ def test_pre_and_post_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false %} @@ -311,7 +311,7 @@ def test_pre_and_post_trim_tags end def test_post_and_pre_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if true -%} @@ -330,7 +330,7 @@ def test_post_and_pre_trim_tags assert_template_result(expected, text) whitespace = ' ' - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if false -%} @@ -339,7 +339,7 @@ def test_post_and_pre_trim_tags

END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED

#{whitespace} @@ -350,7 +350,7 @@ def test_post_and_pre_trim_tags end def test_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}} @@ -366,7 +366,7 @@ def test_trim_output end def test_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} @@ -382,7 +382,7 @@ def test_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false -%} @@ -400,7 +400,7 @@ def test_trim_tags end def test_whitespace_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}}, @@ -417,7 +417,7 @@ def test_whitespace_trim_output end def test_whitespace_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} @@ -433,7 +433,7 @@ def test_whitespace_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false -%} @@ -451,7 +451,7 @@ def test_whitespace_trim_tags end def test_complex_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}} @@ -481,7 +481,7 @@ def test_complex_trim_output end def test_complex_trim - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} {%- if true -%} @@ -504,7 +504,7 @@ def test_right_trim_followed_by_tag def test_raw_output whitespace = ' ' - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE
{% raw %} {%- if true -%} @@ -515,7 +515,7 @@ def test_raw_output {% endraw %}
END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED
#{whitespace} {%- if true -%} diff --git a/test/integration/variable_test.rb b/test/integration/variable_test.rb index 7be8b9912..9b35cc051 100644 --- a/test/integration/variable_test.rb +++ b/test/integration/variable_test.rb @@ -52,13 +52,13 @@ def test_nil_renders_as_empty_string end def test_preset_assigns - template = Template.parse(%({{ test }})) + template = Template.parse(%({{ test }})) template.assigns['test'] = 'worked' assert_equal('worked', template.render!) end def test_reuse_parsed_template - template = Template.parse(%({{ greeting }} {{ name }})) + template = Template.parse(%({{ greeting }} {{ name }})) template.assigns['greeting'] = 'Goodbye' assert_equal('Hello Tobi', template.render!('greeting' => 'Hello', 'name' => 'Tobi')) assert_equal('Hello ', template.render!('greeting' => 'Hello', 'unknown' => 'Tobi')) @@ -68,7 +68,7 @@ def test_reuse_parsed_template end def test_assigns_not_polluted_from_template - template = Template.parse(%({{ test }}{% assign test = 'bar' %}{{ test }})) + template = Template.parse(%({{ test }}{% assign test = 'bar' %}{{ test }})) template.assigns['test'] = 'baz' assert_equal('bazbar', template.render!) assert_equal('bazbar', template.render!) @@ -77,12 +77,12 @@ def test_assigns_not_polluted_from_template end def test_hash_with_default_proc - template = Template.parse(%(Hello {{ test }})) - assigns = Hash.new { |_h, k| raise "Unknown variable '#{k}'" } + template = Template.parse(%(Hello {{ test }})) + assigns = Hash.new { |_h, k| raise "Unknown variable '#{k}'" } assigns['test'] = 'Tobi' assert_equal('Hello Tobi', template.render!(assigns)) assigns.delete('test') - e = assert_raises(RuntimeError) do + e = assert_raises(RuntimeError) do template.render!(assigns) end assert_equal("Unknown variable 'test'", e.message) diff --git a/test/test_helper.rb b/test/test_helper.rb index 8194e1cf4..a569dbee0 100755 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,8 +8,8 @@ require 'liquid.rb' require 'liquid/profiler' -mode = :strict -if (env_mode = ENV['LIQUID_PARSER_MODE']) +mode = :strict +if (env_mode = ENV['LIQUID_PARSER_MODE']) puts "-- #{env_mode.upcase} ERROR MODE" mode = env_mode.to_sym end @@ -71,7 +71,7 @@ def with_global_filter(*globals) end def with_taint_mode(mode) - old_mode = Liquid::Template.taint_mode + old_mode = Liquid::Template.taint_mode Liquid::Template.taint_mode = mode yield ensure @@ -79,7 +79,7 @@ def with_taint_mode(mode) end def with_error_mode(mode) - old_mode = Liquid::Template.error_mode + old_mode = Liquid::Template.error_mode Liquid::Template.error_mode = mode yield ensure @@ -128,7 +128,7 @@ class StubFileSystem def initialize(values) @file_read_count = 0 - @values = values + @values = values end def read_template_file(template_path) diff --git a/test/unit/block_unit_test.rb b/test/unit/block_unit_test.rb index dd53e42cf..9b3103d3d 100644 --- a/test/unit/block_unit_test.rb +++ b/test/unit/block_unit_test.rb @@ -63,7 +63,7 @@ def render(*) assert_equal 'hello', template.render - buf = +'' + buf = +'' output = template.render({}, output: buf) assert_equal 'hello', output assert_equal 'hello', buf @@ -81,7 +81,7 @@ def render(*) assert_equal 'foohellobar', template.render - buf = +'' + buf = +'' output = template.render({}, output: buf) assert_equal 'foohellobar', output assert_equal 'foohellobar', buf diff --git a/test/unit/condition_unit_test.rb b/test/unit/condition_unit_test.rb index c41d89c40..67f916270 100644 --- a/test/unit/condition_unit_test.rb +++ b/test/unit/condition_unit_test.rb @@ -75,9 +75,9 @@ def test_hash_compare_backwards_compatibility end def test_contains_works_on_arrays - @context = Liquid::Context.new + @context = Liquid::Context.new @context['array'] = [1, 2, 3, 4, 5] - array_expr = VariableLookup.new("array") + array_expr = VariableLookup.new("array") assert_evaluates_false(array_expr, 'contains', 0) assert_evaluates_true(array_expr, 'contains', 1) @@ -142,7 +142,7 @@ def test_should_allow_custom_proc_operator end def test_left_or_right_may_contain_operators - @context = Liquid::Context.new + @context = Liquid::Context.new @context['one'] = @context['another'] = "gnomeslab-and-or-liquid" assert_evaluates_true(VariableLookup.new("one"), '==', VariableLookup.new("another")) diff --git a/test/unit/context_unit_test.rb b/test/unit/context_unit_test.rb index 380c4ac70..419ec08db 100644 --- a/test/unit/context_unit_test.rb +++ b/test/unit/context_unit_test.rb @@ -46,7 +46,7 @@ def initialize(category) class CounterDrop < Liquid::Drop def count @count ||= 0 - @count += 1 + @count += 1 end end @@ -55,9 +55,9 @@ def fetch(index) end def [](index) - @counts ||= [] + @counts ||= [] @counts[index] ||= 0 - @counts[index] += 1 + @counts[index] += 1 end def to_liquid @@ -85,7 +85,7 @@ def test_variables @context['date'] = Date.today assert_equal(Date.today, @context['date']) - now = Time.now + now = Time.now @context['datetime'] = now assert_equal(now, @context['datetime']) @@ -265,7 +265,7 @@ def test_try_first def test_access_hashes_with_hash_notation @context['products'] = { 'count' => 5, 'tags' => ['deepsnow', 'freestyle'] } - @context['product'] = { 'variants' => [{ 'title' => 'draft151cm' }, { 'title' => 'element151cm' }] } + @context['product'] = { 'variants' => [{ 'title' => 'draft151cm' }, { 'title' => 'element151cm' }] } assert_equal(5, @context['products["count"]']) assert_equal('deepsnow', @context['products["tags"][0]']) @@ -285,8 +285,8 @@ def test_access_variable_with_hash_notation end def test_access_hashes_with_hash_access_variables - @context['var'] = 'tags' - @context['nested'] = { 'var' => 'tags' } + @context['var'] = 'tags' + @context['nested'] = { 'var' => 'tags' } @context['products'] = { 'count' => 5, 'tags' => ['deepsnow', 'freestyle'] } assert_equal('deepsnow', @context['products[var].first']) @@ -295,7 +295,7 @@ def test_access_hashes_with_hash_access_variables def test_hash_notation_only_for_hash_access @context['array'] = [1, 2, 3, 4, 5] - @context['hash'] = { 'first' => 'Hello' } + @context['hash'] = { 'first' => 'Hello' } assert_equal(1, @context['array.first']) assert_nil(@context['array["first"]']) @@ -407,7 +407,7 @@ def test_array_containing_lambda_as_variable def test_lambda_is_called_once @context['callcount'] = proc { @global ||= 0 - @global += 1 + @global += 1 @global.to_s } @@ -421,7 +421,7 @@ def test_lambda_is_called_once def test_nested_lambda_is_called_once @context['callcount'] = { "lambda" => proc { @global ||= 0 - @global += 1 + @global += 1 @global.to_s } } @@ -435,7 +435,7 @@ def test_nested_lambda_is_called_once def test_lambda_in_array_is_called_once @context['callcount'] = [1, 2, proc { @global ||= 0 - @global += 1 + @global += 1 @global.to_s }, 4, 5] @@ -476,7 +476,7 @@ def test_context_initialization_with_a_proc_in_environment def test_apply_global_filter global_filter_proc = ->(output) { "#{output} filtered" } - context = Context.new + context = Context.new context.global_filter = global_filter_proc assert_equal('hi filtered', context.apply_global_filter('hi')) @@ -498,53 +498,53 @@ def test_apply_global_filter_when_no_global_filter_exist end def test_new_isolated_subcontext_does_not_inherit_variables - super_context = Context.new + super_context = Context.new super_context['my_variable'] = 'some value' - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_nil(subcontext['my_variable']) end def test_new_isolated_subcontext_inherits_static_environment super_context = Context.build(static_environments: { 'my_environment_value' => 'my value' }) - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_equal('my value', subcontext['my_environment_value']) end def test_new_isolated_subcontext_inherits_resource_limits resource_limits = ResourceLimits.new({}) - super_context = Context.new({}, {}, {}, false, resource_limits) - subcontext = super_context.new_isolated_subcontext + super_context = Context.new({}, {}, {}, false, resource_limits) + subcontext = super_context.new_isolated_subcontext assert_equal(resource_limits, subcontext.resource_limits) end def test_new_isolated_subcontext_inherits_exception_renderer - super_context = Context.new + super_context = Context.new super_context.exception_renderer = ->(_e) { 'my exception message' } - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_equal('my exception message', subcontext.handle_error(Liquid::Error.new)) end def test_new_isolated_subcontext_does_not_inherit_non_static_registers - registers = { + registers = { my_register: :my_value, } - super_context = Context.new({}, {}, StaticRegisters.new(registers)) + super_context = Context.new({}, {}, StaticRegisters.new(registers)) super_context.registers[:my_register] = :my_alt_value - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_equal(:my_value, subcontext.registers[:my_register]) end def test_new_isolated_subcontext_inherits_static_registers super_context = Context.build(registers: { my_register: :my_value }) - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_equal(:my_value, subcontext.registers[:my_register]) end def test_new_isolated_subcontext_registers_do_not_pollute_context - super_context = Context.build(registers: { my_register: :my_value }) - subcontext = super_context.new_isolated_subcontext + super_context = Context.build(registers: { my_register: :my_value }) + subcontext = super_context.new_isolated_subcontext subcontext.registers[:my_register] = :my_alt_value assert_equal(:my_value, super_context.registers[:my_register]) end @@ -558,8 +558,8 @@ def my_filter(*) super_context = Context.new super_context.add_filters([my_filter]) - subcontext = super_context.new_isolated_subcontext - template = Template.parse('{{ 123 | my_filter }}') + subcontext = super_context.new_isolated_subcontext + template = Template.parse('{{ 123 | my_filter }}') assert_equal('my filter result', template.render(subcontext)) end diff --git a/test/unit/partial_cache_unit_test.rb b/test/unit/partial_cache_unit_test.rb index 7c73cfebd..fb6cb25c3 100644 --- a/test/unit/partial_cache_unit_test.rb +++ b/test/unit/partial_cache_unit_test.rb @@ -21,7 +21,7 @@ def test_uses_the_file_system_register_if_present def test_reads_from_the_file_system_only_once_per_file file_system = StubFileSystem.new('my_partial' => 'some partial body') - context = Liquid::Context.build( + context = Liquid::Context.build( registers: { file_system: file_system } ) @@ -37,16 +37,16 @@ def test_reads_from_the_file_system_only_once_per_file end def test_cache_state_is_stored_per_context - parse_context = Liquid::ParseContext.new + parse_context = Liquid::ParseContext.new shared_file_system = StubFileSystem.new( 'my_partial' => 'my shared value' ) - context_one = Liquid::Context.build( + context_one = Liquid::Context.build( registers: { file_system: shared_file_system, } ) - context_two = Liquid::Context.build( + context_two = Liquid::Context.build( registers: { file_system: shared_file_system, } @@ -71,7 +71,7 @@ def test_cache_state_is_stored_per_context def test_cache_is_not_broken_when_a_different_parse_context_is_used file_system = StubFileSystem.new('my_partial' => 'some partial body') - context = Liquid::Context.build( + context = Liquid::Context.build( registers: { file_system: file_system } ) diff --git a/test/unit/static_registers_unit_test.rb b/test/unit/static_registers_unit_test.rb index b704eb886..37a2c28e0 100644 --- a/test/unit/static_registers_unit_test.rb +++ b/test/unit/static_registers_unit_test.rb @@ -6,10 +6,10 @@ class StaticRegistersUnitTest < Minitest::Test include Liquid def set - static_register = StaticRegisters.new - static_register[nil] = true - static_register[1] = :one - static_register[:one] = "one" + static_register = StaticRegisters.new + static_register[nil] = true + static_register[1] = :one + static_register[:one] = "one" static_register["two"] = "three" static_register["two"] = 3 static_register[false] = nil @@ -77,10 +77,10 @@ def test_key end def set_with_static - static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) - static_register[nil] = false + static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) + static_register[nil] = false static_register["two"] = 4 - static_register[true] = "foo" + static_register[true] = "foo" assert_equal({ nil => true, 1 => :one, :one => "one", "two" => 3, false => nil }, static_register.static) assert_equal({ nil => false, "two" => 4, true => "foo" }, static_register.registers) @@ -154,23 +154,23 @@ def test_static_register_can_be_frozen end def test_new_static_retains_static - static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) - static_register["one"] = 1 - static_register["two"] = 2 + static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) + static_register["one"] = 1 + static_register["two"] = 2 static_register["three"] = 3 new_register = StaticRegisters.new(static_register) assert_equal({}, new_register.registers) - new_register["one"] = 4 - new_register["two"] = 5 + new_register["one"] = 4 + new_register["two"] = 5 new_register["three"] = 6 newest_register = StaticRegisters.new(new_register) assert_equal({}, newest_register.registers) - newest_register["one"] = 7 - newest_register["two"] = 8 + newest_register["one"] = 7 + newest_register["two"] = 8 newest_register["three"] = 9 assert_equal({ "one" => 1, "two" => 2, "three" => 3 }, static_register.registers) @@ -182,23 +182,23 @@ def test_new_static_retains_static end def test_multiple_instances_are_unique - static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) - static_register["one"] = 1 - static_register["two"] = 2 + static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) + static_register["one"] = 1 + static_register["two"] = 2 static_register["three"] = 3 new_register = StaticRegisters.new(foo: :bar) assert_equal({}, new_register.registers) - new_register["one"] = 4 - new_register["two"] = 5 + new_register["one"] = 4 + new_register["two"] = 5 new_register["three"] = 6 newest_register = StaticRegisters.new(bar: :foo) assert_equal({}, newest_register.registers) - newest_register["one"] = 7 - newest_register["two"] = 8 + newest_register["one"] = 7 + newest_register["two"] = 8 newest_register["three"] = 9 assert_equal({ "one" => 1, "two" => 2, "three" => 3 }, static_register.registers) @@ -210,9 +210,9 @@ def test_multiple_instances_are_unique end def test_can_update_static_directly_and_updates_all_instances - static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) - static_register["one"] = 1 - static_register["two"] = 2 + static_register = StaticRegisters.new(nil => true, 1 => :one, :one => "one", "two" => 3, false => nil) + static_register["one"] = 1 + static_register["two"] = 2 static_register["three"] = 3 new_register = StaticRegisters.new(static_register) @@ -220,9 +220,9 @@ def test_can_update_static_directly_and_updates_all_instances assert_equal({ nil => true, 1 => :one, :one => "one", "two" => 3, false => nil }, static_register.static) - new_register["one"] = 4 - new_register["two"] = 5 - new_register["three"] = 6 + new_register["one"] = 4 + new_register["two"] = 5 + new_register["three"] = 6 new_register.static["four"] = 10 newest_register = StaticRegisters.new(new_register) @@ -230,9 +230,9 @@ def test_can_update_static_directly_and_updates_all_instances assert_equal({ nil => true, 1 => :one, :one => "one", "two" => 3, false => nil, "four" => 10 }, new_register.static) - newest_register["one"] = 7 - newest_register["two"] = 8 - newest_register["three"] = 9 + newest_register["one"] = 7 + newest_register["two"] = 8 + newest_register["three"] = 9 new_register.static["four"] = 5 new_register.static["five"] = 15 diff --git a/test/unit/strainer_unit_test.rb b/test/unit/strainer_unit_test.rb index a05f90845..d246f6ea2 100644 --- a/test/unit/strainer_unit_test.rb +++ b/test/unit/strainer_unit_test.rb @@ -72,8 +72,8 @@ def test_strainer_only_allows_methods_defined_in_filters end def test_strainer_uses_a_class_cache_to_avoid_method_cache_invalidation - a = Module.new - b = Module.new + a = Module.new + b = Module.new strainer = Strainer.create(nil, [a, b]) assert_kind_of(Strainer, strainer) assert_kind_of(a, strainer) @@ -82,8 +82,8 @@ def test_strainer_uses_a_class_cache_to_avoid_method_cache_invalidation end def test_add_filter_when_wrong_filter_class - c = Context.new - s = c.strainer + c = Context.new + s = c.strainer wrong_filter = ->(v) { v.reverse } assert_raises ArgumentError do @@ -150,7 +150,7 @@ def test_global_filter_clears_cache end def test_add_filter_does_not_include_already_included_module - mod = Module.new do + mod = Module.new do class << self attr_accessor :include_count def included(_mod) diff --git a/test/unit/tag_unit_test.rb b/test/unit/tag_unit_test.rb index 616e9e8ca..d72d3b2f0 100644 --- a/test/unit/tag_unit_test.rb +++ b/test/unit/tag_unit_test.rb @@ -33,7 +33,7 @@ def render(*) assert_equal 'hello', template.render - buf = +'' + buf = +'' output = template.render({}, output: buf) assert_equal 'hello', output assert_equal 'hello', buf @@ -51,7 +51,7 @@ def render(*) assert_equal 'foohellobar', template.render - buf = +'' + buf = +'' output = template.render({}, output: buf) assert_equal 'foohellobar', output assert_equal 'foohellobar', buf diff --git a/test/unit/template_unit_test.rb b/test/unit/template_unit_test.rb index 3e9e1c4d1..4e02c2d64 100644 --- a/test/unit/template_unit_test.rb +++ b/test/unit/template_unit_test.rb @@ -22,7 +22,7 @@ def test_sets_default_localization_in_context_with_quick_initialization def test_with_cache_classes_tags_returns_the_same_class original_cache_setting = Liquid.cache_classes - Liquid.cache_classes = true + Liquid.cache_classes = true original_klass = Class.new Object.send(:const_set, :CustomTag, original_klass) @@ -42,7 +42,7 @@ def test_with_cache_classes_tags_returns_the_same_class def test_without_cache_classes_tags_reloads_the_class original_cache_setting = Liquid.cache_classes - Liquid.cache_classes = false + Liquid.cache_classes = false original_klass = Class.new Object.send(:const_set, :CustomTag, original_klass) diff --git a/test/unit/tokenizer_unit_test.rb b/test/unit/tokenizer_unit_test.rb index 2424578c9..c1ace45cf 100644 --- a/test/unit/tokenizer_unit_test.rb +++ b/test/unit/tokenizer_unit_test.rb @@ -34,15 +34,15 @@ def test_calculate_line_numbers_per_token_with_profiling def tokenize(source) tokenizer = Liquid::Tokenizer.new(source) - tokens = [] - while (t = tokenizer.shift) + tokens = [] + while (t = tokenizer.shift) tokens << t end tokens end def tokenize_line_numbers(source) - tokenizer = Liquid::Tokenizer.new(source, true) + tokenizer = Liquid::Tokenizer.new(source, true) line_numbers = [] loop do line_number = tokenizer.line_number From 870a0ae9bdb9a95781977f829edc760d1803d4fe Mon Sep 17 00:00:00 2001 From: alebruck Date: Tue, 15 Oct 2019 23:39:53 +0200 Subject: [PATCH 2/5] Revert ForceEqualSignAlignment cop --- .rubocop.yml | 6 --- lib/liquid/block_body.rb | 6 +-- lib/liquid/lexer.rb | 2 +- lib/liquid/parser.rb | 8 ++-- lib/liquid/profiler.rb | 2 +- lib/liquid/standardfilters.rb | 4 +- lib/liquid/strainer.rb | 2 +- lib/liquid/tags/capture.rb | 2 +- lib/liquid/tags/decrement.rb | 4 +- lib/liquid/tags/for.rb | 4 +- lib/liquid/tags/if.rb | 4 +- lib/liquid/variable.rb | 2 +- lib/liquid/variable_lookup.rb | 2 +- performance/shopify/database.rb | 2 +- test/integration/error_handling_test.rb | 2 +- test/integration/render_profiling_test.rb | 2 +- test/integration/standard_filter_test.rb | 2 +- test/integration/template_test.rb | 6 +-- test/integration/trim_mode_test.rb | 48 +++++++++++------------ test/integration/variable_test.rb | 2 +- test/unit/context_unit_test.rb | 4 +- test/unit/partial_cache_unit_test.rb | 4 +- test/unit/strainer_unit_test.rb | 2 +- 23 files changed, 58 insertions(+), 64 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index eec590835..1c0f83244 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -15,9 +15,3 @@ AllCops: Naming/MethodName: Exclude: - 'example/server/liquid_servlet.rb' - -Layout/ExtraSpacing: - ForceEqualSignAlignment: true - -Layout/SpaceAroundOperators: - Enabled: false diff --git a/lib/liquid/block_body.rb b/lib/liquid/block_body.rb index 5b4f25a44..9f369857f 100644 --- a/lib/liquid/block_body.rb +++ b/lib/liquid/block_body.rb @@ -41,8 +41,8 @@ def parse(tokenizer, parse_context, &block) # determine how to proceed return yield tag_name, markup end - new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) - @blank &&= new_tag.blank? + new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) + @blank &&= new_tag.blank? @nodelist << new_tag end parse_context.line_number = tokenizer.line_number @@ -92,7 +92,7 @@ def parse(tokenizer, parse_context, &block) end parse_context.trim_whitespace = false @nodelist << token - @blank &&= !!(token =~ WhitespaceOrNothing) + @blank &&= !!(token =~ WhitespaceOrNothing) end parse_context.line_number = tokenizer.line_number end diff --git a/lib/liquid/lexer.rb b/lib/liquid/lexer.rb index 3d854afe2..f62058196 100644 --- a/lib/liquid/lexer.rb +++ b/lib/liquid/lexer.rb @@ -3,7 +3,7 @@ require "strscan" module Liquid class Lexer - SPECIALS = { + SPECIALS = { '|' => :pipe, '.' => :dot, ':' => :colon, diff --git a/lib/liquid/parser.rb b/lib/liquid/parser.rb index 41380f106..e038037ab 100644 --- a/lib/liquid/parser.rb +++ b/lib/liquid/parser.rb @@ -17,7 +17,7 @@ def consume(type = nil) if type && token[0] != type raise SyntaxError, "Expected #{type} but found #{@tokens[@p].first}" end - @p += 1 + @p += 1 token[1] end @@ -27,7 +27,7 @@ def consume(type = nil) def consume?(type) token = @tokens[@p] return false unless token && token[0] == type - @p += 1 + @p += 1 token[1] end @@ -36,7 +36,7 @@ def id?(str) token = @tokens[@p] return false unless token && token[0] == :id return false unless token[1] == str - @p += 1 + @p += 1 token[1] end @@ -59,7 +59,7 @@ def expression consume first = expression consume(:dotdot) - last = expression + last = expression consume(:close_round) "(#{first}..#{last})" else diff --git a/lib/liquid/profiler.rb b/lib/liquid/profiler.rb index 5ec03a802..03d87b372 100644 --- a/lib/liquid/profiler.rb +++ b/lib/liquid/profiler.rb @@ -74,7 +74,7 @@ def finish @children.each do |child| total_children_time += child.total_time end - @self_time = @total_time - total_children_time + @self_time = @total_time - total_children_time end end diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index 209016ddc..a645846a6 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -5,7 +5,7 @@ module Liquid module StandardFilters - HTML_ESCAPE = { + HTML_ESCAPE = { '&' => '&', '>' => '>', '<' => '<', @@ -18,7 +18,7 @@ module StandardFilters //m, %r{}m ) - STRIP_HTML_TAGS = /<.*?>/m + STRIP_HTML_TAGS = /<.*?>/m # Return the size of an array or of an string def size(input) diff --git a/lib/liquid/strainer.rb b/lib/liquid/strainer.rb index d3c7433b2..3f3417e33 100644 --- a/lib/liquid/strainer.rb +++ b/lib/liquid/strainer.rb @@ -9,7 +9,7 @@ module Liquid # The Strainer only allows method calls defined in filters given to it via Strainer.global_filter, # Context#add_filters or Template.register_filter class Strainer #:nodoc: - @@global_strainer = Class.new(Strainer) do + @@global_strainer = Class.new(Strainer) do @filter_methods = Set.new end @@strainer_class_cache = Hash.new do |hash, filters| diff --git a/lib/liquid/tags/capture.rb b/lib/liquid/tags/capture.rb index 530329bab..8ecfe403d 100644 --- a/lib/liquid/tags/capture.rb +++ b/lib/liquid/tags/capture.rb @@ -25,7 +25,7 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - previous_output_size = output.bytesize + previous_output_size = output.bytesize super context.scopes.last[@to] = output context.resource_limits.assign_score += (output.bytesize - previous_output_size) diff --git a/lib/liquid/tags/decrement.rb b/lib/liquid/tags/decrement.rb index 3ab7e420a..d761a0c3a 100644 --- a/lib/liquid/tags/decrement.rb +++ b/lib/liquid/tags/decrement.rb @@ -26,8 +26,8 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 - value -= 1 + value = context.environments.first[@variable] ||= 0 + value -= 1 context.environments.first[@variable] = value output << value.to_s output diff --git a/lib/liquid/tags/for.rb b/lib/liquid/tags/for.rb index 4d0d0ebaa..dca7f5561 100644 --- a/lib/liquid/tags/for.rb +++ b/lib/liquid/tags/for.rb @@ -52,9 +52,9 @@ class For < Block def initialize(tag_name, markup, options) super - @from = @limit = nil + @from = @limit = nil parse_with_selected_parser(markup) - @for_block = BlockBody.new + @for_block = BlockBody.new @else_block = nil end diff --git a/lib/liquid/tags/if.rb b/lib/liquid/tags/if.rb index 6a6877a7d..6d9a30edc 100644 --- a/lib/liquid/tags/if.rb +++ b/lib/liquid/tags/if.rb @@ -78,7 +78,7 @@ def lax_parse(markup) new_condition = Condition.new(Expression.parse(Regexp.last_match(1)), Regexp.last_match(2), Expression.parse(Regexp.last_match(3))) raise SyntaxError, options[:locale].t("errors.syntax.if") unless BOOLEAN_OPERATORS.include?(operator) new_condition.send(operator, condition) - condition = new_condition + condition = new_condition end condition @@ -97,7 +97,7 @@ def parse_binary_comparisons(p) while (op = (p.id?('and') || p.id?('or'))) child_condition = parse_comparison(p) condition.send(op, child_condition) - condition = child_condition + condition = child_condition end first_condition end diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index 9ed05e8eb..e569e8b72 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -125,7 +125,7 @@ def parse_filter_expressions(filter_name, unparsed_args) filter_args << Expression.parse(a) end end - result = [filter_name, filter_args] + result = [filter_name, filter_args] result << keyword_args if keyword_args result end diff --git a/lib/liquid/variable_lookup.rb b/lib/liquid/variable_lookup.rb index cb4a716d6..48c7d9892 100644 --- a/lib/liquid/variable_lookup.rb +++ b/lib/liquid/variable_lookup.rb @@ -14,7 +14,7 @@ def self.parse(markup) def initialize(markup) lookups = markup.scan(VariableParser) - name = lookups.shift + name = lookups.shift if name =~ SQUARE_BRACKETED name = Expression.parse(Regexp.last_match(1)) end diff --git a/performance/shopify/database.rb b/performance/shopify/database.rb index 35a403807..2db6d300c 100644 --- a/performance/shopify/database.rb +++ b/performance/shopify/database.rb @@ -11,7 +11,7 @@ def self.tables # From vision source db['products'].each do |product| - collections = db['collections'].find_all do |collection| + collections = db['collections'].find_all do |collection| collection['products'].any? { |p| p['id'].to_i == product['id'].to_i } end product['collections'] = collections diff --git a/test/integration/error_handling_test.rb b/test/integration/error_handling_test.rb index af100ab8d..2b8b5751d 100644 --- a/test/integration/error_handling_test.rb +++ b/test/integration/error_handling_test.rb @@ -215,7 +215,7 @@ def test_setting_default_exception_renderer exceptions << e '' } - template = Liquid::Template.parse('This is a runtime error: {{ errors.argument_error }}') + template = Liquid::Template.parse('This is a runtime error: {{ errors.argument_error }}') output = template.render('errors' => ErrorDrop.new) diff --git a/test/integration/render_profiling_test.rb b/test/integration/render_profiling_test.rb index 1b0fe65b5..2d460613f 100644 --- a/test/integration/render_profiling_test.rb +++ b/test/integration/render_profiling_test.rb @@ -155,7 +155,7 @@ def test_profiling_marks_children_of_for_blocks end def test_profiling_supports_self_time - t = Template.parse("{% for item in collection %} {{ item }} {% endfor %}", profile: true) + t = Template.parse("{% for item in collection %} {{ item }} {% endfor %}", profile: true) t.render!("collection" => ["one", "two"]) leaf = t.profiler[0].children[0] diff --git a/test/integration/standard_filter_test.rb b/test/integration/standard_filter_test.rb index 7d4256a48..aaf303806 100644 --- a/test/integration/standard_filter_test.rb +++ b/test/integration/standard_filter_test.rb @@ -253,7 +253,7 @@ def test_sort_natural_when_property_is_sometimes_missing_puts_nils_last end def test_sort_natural_case_check - input = [ + input = [ { "key" => "X" }, { "key" => "Y" }, { "key" => "Z" }, diff --git a/test/integration/template_test.rb b/test/integration/template_test.rb index 415d93463..62b696a7f 100644 --- a/test/integration/template_test.rb +++ b/test/integration/template_test.rb @@ -73,7 +73,7 @@ def test_custom_assigns_squash_instance_assigns end def test_persistent_assigns_squash_instance_assigns - t = Template.new + t = Template.new assert_equal('from instance assigns', t.parse("{% assign foo = 'from instance assigns' %}{{ foo }}").render!) t.assigns['foo'] = 'from persistent assigns' assert_equal('from persistent assigns', t.parse("{{ foo }}").render!) @@ -88,7 +88,7 @@ def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_ assert_equal('1', t.parse("{{number}}").render!) assert_equal('1', t.parse("{{number}}").render!) assert_equal('1', t.render!) - @global = nil + @global = nil end def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_renders @@ -336,7 +336,7 @@ def somefilter3(v) "-#{v}-" end end - result = t.render({ 'a' => 123, 'x' => 'foo' }, filters: [filters], strict_filters: true) + result = t.render({ 'a' => 123, 'x' => 'foo' }, filters: [filters], strict_filters: true) assert_equal('123 ', result) assert_equal(1, t.errors.count) diff --git a/test/integration/trim_mode_test.rb b/test/integration/trim_mode_test.rb index 4c4d4c831..30b1ceb83 100644 --- a/test/integration/trim_mode_test.rb +++ b/test/integration/trim_mode_test.rb @@ -7,7 +7,7 @@ class TrimModeTest < Minitest::Test # Make sure the trim isn't applied to standard output def test_standard_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{ 'John' }} @@ -25,7 +25,7 @@ def test_standard_output end def test_variable_output_with_multiple_blank_lines - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

@@ -45,7 +45,7 @@ def test_variable_output_with_multiple_blank_lines end def test_tag_output_with_multiple_blank_lines - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

@@ -78,7 +78,7 @@ def test_standard_tags

END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED

#{whitespace} @@ -89,7 +89,7 @@ def test_standard_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if false %} @@ -167,7 +167,7 @@ def test_single_line_pre_tag end def test_pre_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' }} @@ -184,7 +184,7 @@ def test_pre_trim_output end def test_pre_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true %} @@ -202,7 +202,7 @@ def test_pre_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false %} @@ -221,7 +221,7 @@ def test_pre_trim_tags end def test_post_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{ 'John' -}} @@ -238,7 +238,7 @@ def test_post_trim_output end def test_post_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if true -%} @@ -256,7 +256,7 @@ def test_post_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if false -%} @@ -275,7 +275,7 @@ def test_post_trim_tags end def test_pre_and_post_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true %} @@ -293,7 +293,7 @@ def test_pre_and_post_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false %} @@ -311,7 +311,7 @@ def test_pre_and_post_trim_tags end def test_post_and_pre_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{% if true -%} @@ -339,7 +339,7 @@ def test_post_and_pre_trim_tags

END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED

#{whitespace} @@ -350,7 +350,7 @@ def test_post_and_pre_trim_tags end def test_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}} @@ -366,7 +366,7 @@ def test_trim_output end def test_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} @@ -382,7 +382,7 @@ def test_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false -%} @@ -400,7 +400,7 @@ def test_trim_tags end def test_whitespace_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}}, @@ -417,7 +417,7 @@ def test_whitespace_trim_output end def test_whitespace_trim_tags - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} @@ -433,7 +433,7 @@ def test_whitespace_trim_tags END_EXPECTED assert_template_result(expected, text) - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if false -%} @@ -451,7 +451,7 @@ def test_whitespace_trim_tags end def test_complex_trim_output - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{{- 'John' -}} @@ -481,7 +481,7 @@ def test_complex_trim_output end def test_complex_trim - text = <<-END_TEMPLATE + text = <<-END_TEMPLATE

{%- if true -%} {%- if true -%} @@ -515,7 +515,7 @@ def test_raw_output {% endraw %}
END_TEMPLATE - expected = <<~END_EXPECTED + expected = <<~END_EXPECTED
#{whitespace} {%- if true -%} diff --git a/test/integration/variable_test.rb b/test/integration/variable_test.rb index 9b35cc051..45268bdd3 100644 --- a/test/integration/variable_test.rb +++ b/test/integration/variable_test.rb @@ -82,7 +82,7 @@ def test_hash_with_default_proc assigns['test'] = 'Tobi' assert_equal('Hello Tobi', template.render!(assigns)) assigns.delete('test') - e = assert_raises(RuntimeError) do + e = assert_raises(RuntimeError) do template.render!(assigns) end assert_equal("Unknown variable 'test'", e.message) diff --git a/test/unit/context_unit_test.rb b/test/unit/context_unit_test.rb index 419ec08db..b6c477759 100644 --- a/test/unit/context_unit_test.rb +++ b/test/unit/context_unit_test.rb @@ -527,10 +527,10 @@ def test_new_isolated_subcontext_inherits_exception_renderer end def test_new_isolated_subcontext_does_not_inherit_non_static_registers - registers = { + registers = { my_register: :my_value, } - super_context = Context.new({}, {}, StaticRegisters.new(registers)) + super_context = Context.new({}, {}, StaticRegisters.new(registers)) super_context.registers[:my_register] = :my_alt_value subcontext = super_context.new_isolated_subcontext assert_equal(:my_value, subcontext.registers[:my_register]) diff --git a/test/unit/partial_cache_unit_test.rb b/test/unit/partial_cache_unit_test.rb index fb6cb25c3..2f6218a14 100644 --- a/test/unit/partial_cache_unit_test.rb +++ b/test/unit/partial_cache_unit_test.rb @@ -41,12 +41,12 @@ def test_cache_state_is_stored_per_context shared_file_system = StubFileSystem.new( 'my_partial' => 'my shared value' ) - context_one = Liquid::Context.build( + context_one = Liquid::Context.build( registers: { file_system: shared_file_system, } ) - context_two = Liquid::Context.build( + context_two = Liquid::Context.build( registers: { file_system: shared_file_system, } diff --git a/test/unit/strainer_unit_test.rb b/test/unit/strainer_unit_test.rb index d246f6ea2..8e3c720b5 100644 --- a/test/unit/strainer_unit_test.rb +++ b/test/unit/strainer_unit_test.rb @@ -150,7 +150,7 @@ def test_global_filter_clears_cache end def test_add_filter_does_not_include_already_included_module - mod = Module.new do + mod = Module.new do class << self attr_accessor :include_count def included(_mod) From e31ea0f6fc1f95674acdc391f018b7f3578637db Mon Sep 17 00:00:00 2001 From: alebruck Date: Tue, 15 Oct 2019 23:50:24 +0200 Subject: [PATCH 3/5] Update method alignment --- lib/liquid/parse_tree_visitor.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/liquid/parse_tree_visitor.rb b/lib/liquid/parse_tree_visitor.rb index 8f5d27f38..c9c6646e1 100644 --- a/lib/liquid/parse_tree_visitor.rb +++ b/lib/liquid/parse_tree_visitor.rb @@ -16,9 +16,9 @@ def initialize(node, callbacks) end def add_callback_for(*classes, &block) - callback = block - callback = ->(node, _) { yield node } if block.arity.abs == 1 - callback = ->(_, _) { yield } if block.arity.zero? + callback = block + callback = ->(node, _) { yield node } if block.arity.abs == 1 + callback = ->(_, _) { yield } if block.arity.zero? classes.each { |klass| @callbacks[klass] = callback } self end From 60542c664822d13e7615f841d4ed4e1c80e1dbaa Mon Sep 17 00:00:00 2001 From: Ashwin Maroli Date: Mon, 21 Oct 2019 03:05:59 +0530 Subject: [PATCH 4/5] Undo addition of whitespace to improve readability --- example/server/liquid_servlet.rb | 4 +-- lib/liquid/block_body.rb | 10 +++--- lib/liquid/condition.rb | 9 ++--- lib/liquid/context.rb | 12 +++---- lib/liquid/expression.rb | 2 +- lib/liquid/parse_context.rb | 15 ++++---- lib/liquid/partial_cache.rb | 9 ++--- lib/liquid/profiler.rb | 4 +-- lib/liquid/standardfilters.rb | 19 ++++++---- lib/liquid/tablerowloop_drop.rb | 2 +- lib/liquid/tags/assign.rb | 6 ++-- lib/liquid/tags/capture.rb | 2 +- lib/liquid/tags/cycle.rb | 6 ++-- lib/liquid/tags/for.rb | 12 ++++--- lib/liquid/tags/if.rb | 8 ++--- lib/liquid/tags/increment.rb | 2 +- lib/liquid/tags/raw.rb | 4 +-- lib/liquid/tags/render.rb | 3 +- lib/liquid/tags/table_row.rb | 7 ++-- lib/liquid/variable.rb | 2 +- performance/benchmark.rb | 2 +- performance/profile.rb | 2 +- test/integration/error_handling_test.rb | 9 ++--- test/integration/filter_test.rb | 8 ++--- test/integration/tags/if_else_tag_test.rb | 4 +-- test/integration/tags/include_tag_test.rb | 4 +-- test/integration/template_test.rb | 42 +++++++++++------------ test/test_helper.rb | 8 ++--- test/unit/context_unit_test.rb | 12 +++---- test/unit/strainer_unit_test.rb | 8 ++--- 30 files changed, 125 insertions(+), 112 deletions(-) diff --git a/example/server/liquid_servlet.rb b/example/server/liquid_servlet.rb index 4965fff9a..f784bcaa9 100644 --- a/example/server/liquid_servlet.rb +++ b/example/server/liquid_servlet.rb @@ -20,8 +20,8 @@ def handle(_type, req, res) @assigns = send(@action) if respond_to?(@action) @response['Content-Type'] = "text/html" - @response.status = 200 - @response.body = Liquid::Template.parse(read_template).render(@assigns, filters: [ProductsFilter]) + @response.status = 200 + @response.body = Liquid::Template.parse(read_template).render(@assigns, filters: [ProductsFilter]) end def read_template(filename = @action) diff --git a/lib/liquid/block_body.rb b/lib/liquid/block_body.rb index 9f369857f..6a412d2c2 100644 --- a/lib/liquid/block_body.rb +++ b/lib/liquid/block_body.rb @@ -34,8 +34,8 @@ def parse(tokenizer, parse_context, &block) # caller raise a syntax error return yield token, token end - tag_name = Regexp.last_match(1) - markup = Regexp.last_match(2) + tag_name = Regexp.last_match(1) + markup = Regexp.last_match(2) unless (tag = registered_tags[tag_name]) # end parsing if we reach an unknown tag and let the caller decide # determine how to proceed @@ -79,8 +79,8 @@ def parse(tokenizer, parse_context, &block) # determine how to proceed return yield tag_name, markup end - new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) - @blank &&= new_tag.blank? + new_tag = tag.parse(tag_name, markup, tokenizer, parse_context) + @blank &&= new_tag.blank? @nodelist << new_tag when token.start_with?(VARSTART) whitespace_handler(token, parse_context) @@ -121,7 +121,7 @@ def render(context) def render_to_output_buffer(context, output) context.resource_limits.render_score += @nodelist.length - idx = 0 + idx = 0 while (node = @nodelist[idx]) previous_output_size = output.bytesize diff --git a/lib/liquid/condition.rb b/lib/liquid/condition.rb index fab74d764..67582632a 100644 --- a/lib/liquid/condition.rb +++ b/lib/liquid/condition.rb @@ -35,16 +35,17 @@ def self.operators attr_accessor :left, :operator, :right def initialize(left = nil, operator = nil, right = nil) - @left = left - @operator = operator - @right = right + @left = left + @operator = operator + @right = right + @child_relation = nil @child_condition = nil end def evaluate(context = Context.new) condition = self - result = nil + result = nil loop do result = interpret_condition(condition.left, condition.right, condition.operator, context) diff --git a/lib/liquid/context.rb b/lib/liquid/context.rb index 397ae0f19..81bd43d58 100644 --- a/lib/liquid/context.rb +++ b/lib/liquid/context.rb @@ -60,7 +60,7 @@ def strainer # Note that this does not register the filters with the main Template object. see Template.register_filter # for that def add_filters(filters) - filters = [filters].flatten.compact + filters = [filters].flatten.compact @filters += filters @strainer = nil end @@ -85,7 +85,7 @@ def pop_interrupt end def handle_error(e, line_number = nil) - e = internal_error unless e.is_a?(Liquid::Error) + e = internal_error unless e.is_a?(Liquid::Error) e.template_name ||= template_name e.line_number ||= line_number errors.push(e) @@ -140,10 +140,10 @@ def new_isolated_subcontext ).tap do |subcontext| subcontext.base_scope_depth = base_scope_depth + 1 subcontext.exception_renderer = exception_renderer - subcontext.filters = @filters - subcontext.strainer = nil - subcontext.errors = errors - subcontext.warnings = warnings + subcontext.filters = @filters + subcontext.strainer = nil + subcontext.errors = errors + subcontext.warnings = warnings end end diff --git a/lib/liquid/expression.rb b/lib/liquid/expression.rb index 58633e1e5..9670906b8 100644 --- a/lib/liquid/expression.rb +++ b/lib/liquid/expression.rb @@ -7,7 +7,7 @@ class MethodLiteral def initialize(method_name, to_s) @method_name = method_name - @to_s = to_s + @to_s = to_s end def to_liquid diff --git a/lib/liquid/parse_context.rb b/lib/liquid/parse_context.rb index cdf50f68d..83d4e0ff4 100644 --- a/lib/liquid/parse_context.rb +++ b/lib/liquid/parse_context.rb @@ -7,10 +7,12 @@ class ParseContext def initialize(options = {}) @template_options = options ? options.dup : {} - @locale = @template_options[:locale] ||= I18n.new - @warnings = [] - self.depth = 0 - self.partial = false + + @locale = @template_options[:locale] ||= I18n.new + @warnings = [] + + self.depth = 0 + self.partial = false end def [](option_key) @@ -18,8 +20,9 @@ def [](option_key) end def partial=(value) - @partial = value - @options = value ? partial_options : @template_options + @partial = value + @options = value ? partial_options : @template_options + @error_mode = @options[:error_mode] || Template.error_mode end diff --git a/lib/liquid/partial_cache.rb b/lib/liquid/partial_cache.rb index bc9aeb39d..8c2e5d214 100644 --- a/lib/liquid/partial_cache.rb +++ b/lib/liquid/partial_cache.rb @@ -4,14 +4,15 @@ module Liquid class PartialCache def self.load(template_name, context:, parse_context:) cached_partials = (context.registers[:cached_partials] ||= {}) - cached = cached_partials[template_name] + cached = cached_partials[template_name] return cached if cached - file_system = (context.registers[:file_system] ||= Liquid::Template.file_system) - source = file_system.read_template_file(template_name) + file_system = (context.registers[:file_system] ||= Liquid::Template.file_system) + source = file_system.read_template_file(template_name) + parse_context.partial = true - partial = Liquid::Template.parse(source, parse_context) + partial = Liquid::Template.parse(source, parse_context) cached_partials[template_name] = partial ensure parse_context.partial = false diff --git a/lib/liquid/profiler.rb b/lib/liquid/profiler.rb index 03d87b372..8ab267ab1 100644 --- a/lib/liquid/profiler.rb +++ b/lib/liquid/profiler.rb @@ -121,12 +121,12 @@ def initialize(partial_name = "") def start Thread.current[:liquid_profiler] = self - @render_start_at = Time.now + @render_start_at = Time.now end def stop Thread.current[:liquid_profiler] = nil - @render_end_at = Time.now + @render_end_at = Time.now end def total_render_time diff --git a/lib/liquid/standardfilters.rb b/lib/liquid/standardfilters.rb index a645846a6..f746ef6f9 100644 --- a/lib/liquid/standardfilters.rb +++ b/lib/liquid/standardfilters.rb @@ -76,11 +76,14 @@ def slice(input, offset, length = nil) # Truncate a string down to x characters def truncate(input, length = 50, truncate_string = "...") return if input.nil? - input_str = input.to_s - length = Utils.to_integer(length) + input_str = input.to_s + length = Utils.to_integer(length) + truncate_string_str = truncate_string.to_s - l = length - truncate_string_str.length - l = 0 if l < 0 + + l = length - truncate_string_str.length + l = 0 if l < 0 + input_str.length > length ? input_str[0...l].concat(truncate_string_str) : input_str end @@ -88,8 +91,10 @@ def truncatewords(input, words = 15, truncate_string = "...") return if input.nil? wordlist = input.to_s.split words = Utils.to_integer(words) - l = words - 1 - l = 0 if l < 0 + + l = words - 1 + l = 0 if l < 0 + wordlist.length > l ? wordlist[0..l].join(" ").concat(truncate_string.to_s) : input end @@ -432,7 +437,7 @@ def at_most(input, n) # {{ product.title | default: "No Title", allow_false: true }} # def default(input, default_value = '', options = {}) - options = {} unless options.is_a?(Hash) + options = {} unless options.is_a?(Hash) false_check = options['allow_false'] ? input.nil? : !input false_check || (input.respond_to?(:empty?) && input.empty?) ? default_value : input end diff --git a/lib/liquid/tablerowloop_drop.rb b/lib/liquid/tablerowloop_drop.rb index 628705278..3284b1b72 100644 --- a/lib/liquid/tablerowloop_drop.rb +++ b/lib/liquid/tablerowloop_drop.rb @@ -54,7 +54,7 @@ def increment! @index += 1 if @col == @cols - @col = 1 + @col = 1 @row += 1 else @col += 1 diff --git a/lib/liquid/tags/assign.rb b/lib/liquid/tags/assign.rb index 1ffb40c00..e10b729d7 100644 --- a/lib/liquid/tags/assign.rb +++ b/lib/liquid/tags/assign.rb @@ -29,8 +29,8 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - val = @from.render(context) - context.scopes.last[@to] = val + val = @from.render(context) + context.scopes.last[@to] = val context.resource_limits.assign_score += assign_score_of(val) output end @@ -45,7 +45,7 @@ def assign_score_of(val) if val.instance_of?(String) val.bytesize elsif val.instance_of?(Array) || val.instance_of?(Hash) - sum = 1 + sum = 1 # Uses #each to avoid extra allocations. val.each { |child| sum += assign_score_of(child) } sum diff --git a/lib/liquid/tags/capture.rb b/lib/liquid/tags/capture.rb index 8ecfe403d..1cace9c1c 100644 --- a/lib/liquid/tags/capture.rb +++ b/lib/liquid/tags/capture.rb @@ -27,7 +27,7 @@ def initialize(tag_name, markup, options) def render_to_output_buffer(context, output) previous_output_size = output.bytesize super - context.scopes.last[@to] = output + context.scopes.last[@to] = output context.resource_limits.assign_score += (output.bytesize - previous_output_size) output end diff --git a/lib/liquid/tags/cycle.rb b/lib/liquid/tags/cycle.rb index ed5186090..6aee14c02 100644 --- a/lib/liquid/tags/cycle.rb +++ b/lib/liquid/tags/cycle.rb @@ -49,10 +49,10 @@ def render_to_output_buffer(context, output) output << val - iteration += 1 - iteration = 0 if iteration >= @variables.size - context.registers[:cycle][key] = iteration + iteration += 1 + iteration = 0 if iteration >= @variables.size + context.registers[:cycle][key] = iteration output end diff --git a/lib/liquid/tags/for.rb b/lib/liquid/tags/for.rb index dca7f5561..44e0d379b 100644 --- a/lib/liquid/tags/for.rb +++ b/lib/liquid/tags/for.rb @@ -102,13 +102,15 @@ def lax_parse(markup) end def strict_parse(markup) - p = Parser.new(markup) - @variable_name = p.consume(:id) + p = Parser.new(markup) + @variable_name = p.consume(:id) raise SyntaxError, options[:locale].t("errors.syntax.for_invalid_in") unless p.id?('in') + collection_name = p.expression - @name = "#{@variable_name}-#{collection_name}" @collection_name = Expression.parse(collection_name) - @reversed = p.id?('reversed') + + @name = "#{@variable_name}-#{collection_name}" + @reversed = p.id?('reversed') while p.look(:id) && p.look(:colon, 1) unless (attribute = p.id?('limit') || p.id?('offset')) @@ -140,7 +142,7 @@ def collection_segment(context) collection = collection.to_a if collection.is_a?(Range) limit_value = context.evaluate(@limit) - to = if limit_value.nil? + to = if limit_value.nil? nil else Utils.to_integer(limit_value) + from diff --git a/lib/liquid/tags/if.rb b/lib/liquid/tags/if.rb index 6d9a30edc..d0e64c985 100644 --- a/lib/liquid/tags/if.rb +++ b/lib/liquid/tags/if.rb @@ -85,16 +85,16 @@ def lax_parse(markup) end def strict_parse(markup) - p = Parser.new(markup) + p = Parser.new(markup) condition = parse_binary_comparisons(p) p.consume(:end_of_string) condition end def parse_binary_comparisons(p) - condition = parse_comparison(p) + condition = parse_comparison(p) first_condition = condition - while (op = (p.id?('and') || p.id?('or'))) + while (op = (p.id?('and') || p.id?('or'))) child_condition = parse_comparison(p) condition.send(op, child_condition) condition = child_condition @@ -103,7 +103,7 @@ def parse_binary_comparisons(p) end def parse_comparison(p) - a = Expression.parse(p.expression) + a = Expression.parse(p.expression) if (op = p.consume?(:comparison)) b = Expression.parse(p.expression) Condition.new(a, op, b) diff --git a/lib/liquid/tags/increment.rb b/lib/liquid/tags/increment.rb index 0290f6959..241b316b3 100644 --- a/lib/liquid/tags/increment.rb +++ b/lib/liquid/tags/increment.rb @@ -23,7 +23,7 @@ def initialize(tag_name, markup, options) end def render_to_output_buffer(context, output) - value = context.environments.first[@variable] ||= 0 + value = context.environments.first[@variable] ||= 0 context.environments.first[@variable] = value + 1 output << value.to_s diff --git a/lib/liquid/tags/raw.rb b/lib/liquid/tags/raw.rb index 12820855e..e4a78a817 100644 --- a/lib/liquid/tags/raw.rb +++ b/lib/liquid/tags/raw.rb @@ -2,7 +2,7 @@ module Liquid class Raw < Block - Syntax = /\A\s*\z/ + Syntax = /\A\s*\z/ FullTokenPossiblyInvalid = /\A(.*)#{TagStart}\s*(\w+)\s*(.*)?#{TagEnd}\z/om def initialize(tag_name, markup, parse_context) @@ -12,7 +12,7 @@ def initialize(tag_name, markup, parse_context) end def parse(tokens) - @body = +'' + @body = +'' while (token = tokens.shift) if token =~ FullTokenPossiblyInvalid @body << Regexp.last_match(1) if Regexp.last_match(1) != "" diff --git a/lib/liquid/tags/render.rb b/lib/liquid/tags/render.rb index 6f6bb281e..f880a16d5 100644 --- a/lib/liquid/tags/render.rb +++ b/lib/liquid/tags/render.rb @@ -16,7 +16,7 @@ def initialize(tag_name, markup, options) template_name = Regexp.last_match(1) variable_name = Regexp.last_match(3) - @alias_name = Regexp.last_match(5) + @alias_name = Regexp.last_match(5) @variable_name_expr = variable_name ? Expression.parse(variable_name) : nil @template_name_expr = Expression.parse(template_name) @@ -48,6 +48,7 @@ def render_tag(context, output) inner_context.template_name = template_name inner_context.partial = true inner_context['forloop'] = forloop if forloop + @attributes.each do |key, value| inner_context[key] = context.evaluate(value) end diff --git a/lib/liquid/tags/table_row.rb b/lib/liquid/tags/table_row.rb index ecef599b0..353f9e388 100644 --- a/lib/liquid/tags/table_row.rb +++ b/lib/liquid/tags/table_row.rb @@ -24,17 +24,16 @@ def render_to_output_buffer(context, output) (collection = context.evaluate(@collection_name)) || (return '') from = @attributes.key?('offset') ? context.evaluate(@attributes['offset']).to_i : 0 - to = @attributes.key?('limit') ? from + context.evaluate(@attributes['limit']).to_i : nil + to = @attributes.key?('limit') ? from + context.evaluate(@attributes['limit']).to_i : nil collection = Utils.slice_collection(collection, from, to) - - length = collection.length + length = collection.length cols = context.evaluate(@attributes['cols']).to_i output << "\n" context.stack do - tablerowloop = Liquid::TablerowloopDrop.new(length, cols) + tablerowloop = Liquid::TablerowloopDrop.new(length, cols) context['tablerowloop'] = tablerowloop collection.each do |item| diff --git a/lib/liquid/variable.rb b/lib/liquid/variable.rb index e569e8b72..9566f94c8 100644 --- a/lib/liquid/variable.rb +++ b/lib/liquid/variable.rb @@ -61,7 +61,7 @@ def lax_parse(markup) def strict_parse(markup) @filters = [] - p = Parser.new(markup) + p = Parser.new(markup) @name = Expression.parse(p.expression) while p.consume?(:pipe) diff --git a/performance/benchmark.rb b/performance/benchmark.rb index 993cc933e..8bf231340 100644 --- a/performance/benchmark.rb +++ b/performance/benchmark.rb @@ -4,7 +4,7 @@ require_relative 'theme_runner' Liquid::Template.error_mode = ARGV.first.to_sym if ARGV.first -profiler = ThemeRunner.new +profiler = ThemeRunner.new Benchmark.ips do |x| x.time = 10 diff --git a/performance/profile.rb b/performance/profile.rb index de4ee2aac..70740778d 100644 --- a/performance/profile.rb +++ b/performance/profile.rb @@ -4,7 +4,7 @@ require_relative 'theme_runner' Liquid::Template.error_mode = ARGV.first.to_sym if ARGV.first -profiler = ThemeRunner.new +profiler = ThemeRunner.new profiler.run [:cpu, :object].each do |profile_type| diff --git a/test/integration/error_handling_test.rb b/test/integration/error_handling_test.rb index 2b8b5751d..c6463cce7 100644 --- a/test/integration/error_handling_test.rb +++ b/test/integration/error_handling_test.rb @@ -209,8 +209,8 @@ def test_default_exception_renderer_with_internal_error end def test_setting_default_exception_renderer - old_exception_renderer = Liquid::Template.default_exception_renderer - exceptions = [] + old_exception_renderer = Liquid::Template.default_exception_renderer + exceptions = [] Liquid::Template.default_exception_renderer = ->(e) { exceptions << e '' @@ -252,8 +252,9 @@ def test_included_template_name_with_line_numbers begin Liquid::Template.file_system = TestFileSystem.new - template = Liquid::Template.parse("Argument error:\n{% include 'product' %}", line_numbers: true) - page = template.render('errors' => ErrorDrop.new) + + template = Liquid::Template.parse("Argument error:\n{% include 'product' %}", line_numbers: true) + page = template.render('errors' => ErrorDrop.new) ensure Liquid::Template.file_system = old_file_system end diff --git a/test/integration/filter_test.rb b/test/integration/filter_test.rb index 594793b94..7a35f166b 100644 --- a/test/integration/filter_test.rb +++ b/test/integration/filter_test.rb @@ -72,10 +72,10 @@ def test_join end def test_sort - @context['value'] = 3 - @context['numbers'] = [2, 1, 4, 3] - @context['words'] = ['expected', 'as', 'alphabetic'] - @context['arrays'] = ['flower', 'are'] + @context['value'] = 3 + @context['numbers'] = [2, 1, 4, 3] + @context['words'] = ['expected', 'as', 'alphabetic'] + @context['arrays'] = ['flower', 'are'] @context['case_sensitive'] = ['sensitive', 'Expected', 'case'] assert_equal('1 2 3 4', Template.parse("{{numbers | sort | join}}").render(@context)) diff --git a/test/integration/tags/if_else_tag_test.rb b/test/integration/tags/if_else_tag_test.rb index dfbc537d6..b8ef220b5 100644 --- a/test/integration/tags/if_else_tag_test.rb +++ b/test/integration/tags/if_else_tag_test.rb @@ -142,7 +142,7 @@ def test_syntax_error_no_expression end def test_if_with_custom_condition - original_op = Condition.operators['contains'] + original_op = Condition.operators['contains'] Condition.operators['contains'] = :[] assert_template_result('yes', %({% if 'bob' contains 'o' %}yes{% endif %})) @@ -152,7 +152,7 @@ def test_if_with_custom_condition end def test_operators_are_ignored_unless_isolated - original_op = Condition.operators['contains'] + original_op = Condition.operators['contains'] Condition.operators['contains'] = :[] assert_template_result('yes', diff --git a/test/integration/tags/include_tag_test.rb b/test/integration/tags/include_tag_test.rb index f45a8923a..bfe0a5b46 100644 --- a/test/integration/tags/include_tag_test.rb +++ b/test/integration/tags/include_tag_test.rb @@ -192,7 +192,7 @@ def test_include_tag_within_if_statement end def test_custom_include_tag - original_tag = Liquid::Template.tags['include'] + original_tag = Liquid::Template.tags['include'] Liquid::Template.tags['include'] = CustomInclude begin assert_equal("custom_foo", @@ -203,7 +203,7 @@ def test_custom_include_tag end def test_custom_include_tag_within_if_statement - original_tag = Liquid::Template.tags['include'] + original_tag = Liquid::Template.tags['include'] Liquid::Template.tags['include'] = CustomInclude begin assert_equal("custom_foo_if_true", diff --git a/test/integration/template_test.rb b/test/integration/template_test.rb index 62b696a7f..014f95162 100644 --- a/test/integration/template_test.rb +++ b/test/integration/template_test.rb @@ -80,7 +80,7 @@ def test_persistent_assigns_squash_instance_assigns end def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_renders - t = Template.new + t = Template.new t.assigns['number'] = -> { @global ||= 0 @global += 1 @@ -92,7 +92,7 @@ def test_lambda_is_called_once_from_persistent_assigns_over_multiple_parses_and_ end def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_renders - t = Template.new + t = Template.new assigns = { 'number' => -> { @global ||= 0 @global += 1 @@ -104,13 +104,13 @@ def test_lambda_is_called_once_from_custom_assigns_over_multiple_parses_and_rend end def test_resource_limits_works_with_custom_length_method - t = Template.parse("{% assign foo = bar %}") + t = Template.parse("{% assign foo = bar %}") t.resource_limits.render_length_limit = 42 assert_equal("", t.render!("bar" => SomethingWithLength.new)) end def test_resource_limits_render_length - t = Template.parse("0123456789") + t = Template.parse("0123456789") t.resource_limits.render_length_limit = 5 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -121,12 +121,12 @@ def test_resource_limits_render_length end def test_resource_limits_render_score - t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}") + t = Template.parse("{% for a in (1..10) %} {% for a in (1..10) %} foo {% endfor %} {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) - t = Template.parse("{% for a in (1..100) %} foo {% endfor %}") + t = Template.parse("{% for a in (1..100) %} foo {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -137,7 +137,7 @@ def test_resource_limits_render_score end def test_resource_limits_assign_score - t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}") + t = Template.parse("{% assign foo = 42 %}{% assign bar = 23 %}") t.resource_limits.assign_score_limit = 1 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -169,7 +169,7 @@ def test_resource_limits_assign_score_nested end def test_resource_limits_aborts_rendering_after_first_error - t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}") + t = Template.parse("{% for a in (1..100) %} foo1 {% endfor %} bar {% for a in (1..100) %} foo2 {% endfor %}") t.resource_limits.render_score_limit = 50 assert_equal("Liquid error: Memory limits exceeded", t.render) assert(t.resource_limits.reached?) @@ -184,19 +184,19 @@ def test_resource_limits_hash_in_template_gets_updated_even_if_no_limits_are_set end def test_render_length_persists_between_blocks - t = Template.parse("{% if true %}aaaa{% endif %}") + t = Template.parse("{% if true %}aaaa{% endif %}") t.resource_limits.render_length_limit = 7 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 8 assert_equal("aaaa", t.render) - t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}") + t = Template.parse("{% if true %}aaaa{% endif %}{% if true %}bbb{% endif %}") t.resource_limits.render_length_limit = 13 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 14 assert_equal("aaaabbb", t.render) - t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}") + t = Template.parse("{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}{% if true %}a{% endif %}{% if true %}b{% endif %}") t.resource_limits.render_length_limit = 5 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 11 @@ -206,7 +206,7 @@ def test_render_length_persists_between_blocks end def test_render_length_uses_number_of_bytes_not_characters - t = Template.parse("{% if true %}すごい{% endif %}") + t = Template.parse("{% if true %}すごい{% endif %}") t.resource_limits.render_length_limit = 10 assert_equal("Liquid error: Memory limits exceeded", t.render) t.resource_limits.render_length_limit = 18 @@ -215,7 +215,7 @@ def test_render_length_uses_number_of_bytes_not_characters def test_default_resource_limits_unaffected_by_render_with_context context = Context.new - t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") + t = Template.parse("{% for a in (1..100) %} {% assign foo = 1 %} {% endfor %}") t.render!(context) assert(context.resource_limits.assign_score > 0) assert(context.resource_limits.render_score > 0) @@ -223,9 +223,9 @@ def test_default_resource_limits_unaffected_by_render_with_context end def test_can_use_drop_as_context - t = Template.new + t = Template.new t.registers['lulz'] = 'haha' - drop = TemplateContextDrop.new + drop = TemplateContextDrop.new assert_equal('fizzbuzz', t.parse('{{foo}}').render!(drop)) assert_equal('bar', t.parse('{{bar}}').render!(drop)) assert_equal('haha', t.parse("{{baz}}").render!(drop)) @@ -233,7 +233,7 @@ def test_can_use_drop_as_context def test_render_bang_force_rethrow_errors_on_passed_context context = Context.new('drop' => ErroneousDrop.new) - t = Template.new.parse('{{ drop.bad_method }}') + t = Template.new.parse('{{ drop.bad_method }}') e = assert_raises RuntimeError do t.render!(context) @@ -311,8 +311,8 @@ def test_undefined_variables_raise end def test_undefined_drop_methods - d = DropWithUndefinedMethod.new - t = Template.new.parse('{{ foo }} {{ woot }}') + d = DropWithUndefinedMethod.new + t = Template.new.parse('{{ foo }} {{ woot }}') result = t.render(d, strict_variables: true) assert_equal('foo ', result) @@ -330,7 +330,7 @@ def test_undefined_drop_methods_raise end def test_undefined_filters - t = Template.parse("{{a}} {{x | upcase | somefilter1 | somefilter2 | somefilter3}}") + t = Template.parse("{{a}} {{x | upcase | somefilter1 | somefilter2 | somefilter3}}") filters = Module.new do def somefilter3(v) "-#{v}-" @@ -353,11 +353,11 @@ def test_undefined_filters_raise end def test_using_range_literal_works_as_expected - t = Template.parse("{% assign foo = (x..y) %}{{ foo }}") + t = Template.parse("{% assign foo = (x..y) %}{{ foo }}") result = t.render('x' => 1, 'y' => 5) assert_equal('1..5', result) - t = Template.parse("{% assign nums = (x..y) %}{% for num in nums %}{{ num }}{% endfor %}") + t = Template.parse("{% assign nums = (x..y) %}{% for num in nums %}{{ num }}{% endfor %}") result = t.render('x' => 1, 'y' => 5) assert_equal('12345', result) end diff --git a/test/test_helper.rb b/test/test_helper.rb index a569dbee0..7422129e3 100755 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,8 +8,8 @@ require 'liquid.rb' require 'liquid/profiler' -mode = :strict -if (env_mode = ENV['LIQUID_PARSER_MODE']) +mode = :strict +if (env_mode = ENV['LIQUID_PARSER_MODE']) puts "-- #{env_mode.upcase} ERROR MODE" mode = env_mode.to_sym end @@ -71,7 +71,7 @@ def with_global_filter(*globals) end def with_taint_mode(mode) - old_mode = Liquid::Template.taint_mode + old_mode = Liquid::Template.taint_mode Liquid::Template.taint_mode = mode yield ensure @@ -79,7 +79,7 @@ def with_taint_mode(mode) end def with_error_mode(mode) - old_mode = Liquid::Template.error_mode + old_mode = Liquid::Template.error_mode Liquid::Template.error_mode = mode yield ensure diff --git a/test/unit/context_unit_test.rb b/test/unit/context_unit_test.rb index b6c477759..c57bbca98 100644 --- a/test/unit/context_unit_test.rb +++ b/test/unit/context_unit_test.rb @@ -85,7 +85,7 @@ def test_variables @context['date'] = Date.today assert_equal(Date.today, @context['date']) - now = Time.now + now = Time.now @context['datetime'] = now assert_equal(now, @context['datetime']) @@ -476,7 +476,7 @@ def test_context_initialization_with_a_proc_in_environment def test_apply_global_filter global_filter_proc = ->(output) { "#{output} filtered" } - context = Context.new + context = Context.new context.global_filter = global_filter_proc assert_equal('hi filtered', context.apply_global_filter('hi')) @@ -498,9 +498,9 @@ def test_apply_global_filter_when_no_global_filter_exist end def test_new_isolated_subcontext_does_not_inherit_variables - super_context = Context.new + super_context = Context.new super_context['my_variable'] = 'some value' - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_nil(subcontext['my_variable']) end @@ -520,9 +520,9 @@ def test_new_isolated_subcontext_inherits_resource_limits end def test_new_isolated_subcontext_inherits_exception_renderer - super_context = Context.new + super_context = Context.new super_context.exception_renderer = ->(_e) { 'my exception message' } - subcontext = super_context.new_isolated_subcontext + subcontext = super_context.new_isolated_subcontext assert_equal('my exception message', subcontext.handle_error(Liquid::Error.new)) end diff --git a/test/unit/strainer_unit_test.rb b/test/unit/strainer_unit_test.rb index 8e3c720b5..a05f90845 100644 --- a/test/unit/strainer_unit_test.rb +++ b/test/unit/strainer_unit_test.rb @@ -72,8 +72,8 @@ def test_strainer_only_allows_methods_defined_in_filters end def test_strainer_uses_a_class_cache_to_avoid_method_cache_invalidation - a = Module.new - b = Module.new + a = Module.new + b = Module.new strainer = Strainer.create(nil, [a, b]) assert_kind_of(Strainer, strainer) assert_kind_of(a, strainer) @@ -82,8 +82,8 @@ def test_strainer_uses_a_class_cache_to_avoid_method_cache_invalidation end def test_add_filter_when_wrong_filter_class - c = Context.new - s = c.strainer + c = Context.new + s = c.strainer wrong_filter = ->(v) { v.reverse } assert_raises ArgumentError do From 35bd54f50108633553f5999be72ba48dd14f1640 Mon Sep 17 00:00:00 2001 From: alebruck Date: Mon, 21 Oct 2019 08:24:10 +0200 Subject: [PATCH 5/5] Fix missing alignment --- test/unit/tokenizer_unit_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/tokenizer_unit_test.rb b/test/unit/tokenizer_unit_test.rb index c1ace45cf..e555d3a36 100644 --- a/test/unit/tokenizer_unit_test.rb +++ b/test/unit/tokenizer_unit_test.rb @@ -35,7 +35,7 @@ def test_calculate_line_numbers_per_token_with_profiling def tokenize(source) tokenizer = Liquid::Tokenizer.new(source) tokens = [] - while (t = tokenizer.shift) + while (t = tokenizer.shift) tokens << t end tokens