diff --git a/lib/liquid/spec/adapter_runner.rb b/lib/liquid/spec/adapter_runner.rb index 1672b01..eb8a91b 100644 --- a/lib/liquid/spec/adapter_runner.rb +++ b/lib/liquid/spec/adapter_runner.rb @@ -206,6 +206,7 @@ def run_single(spec) compile_options = { line_numbers: true } compile_options[:error_mode] = spec.error_mode if spec.error_mode compile_options[:file_system] = filesystem if filesystem + compile_options[:template_name] = spec.template_name if spec.template_name @compile_block.call(@ctx, spec.template, compile_options) diff --git a/lib/liquid/spec/cli/runner.rb b/lib/liquid/spec/cli/runner.rb index f2ad388..c9f09c2 100644 --- a/lib/liquid/spec/cli/runner.rb +++ b/lib/liquid/spec/cli/runner.rb @@ -643,6 +643,7 @@ def prepare_benchmark_spec(spec, _config) line_numbers: true, error_mode: :strict, file_system: filesystem, + template_name: spec.template_name, }.compact # Pre-compile to set up ctx[:template] @@ -675,6 +676,7 @@ def run_benchmark_spec(spec, _config, duration_seconds) line_numbers: true, error_mode: :strict, file_system: filesystem, + template_name: spec.template_name, }.compact LiquidSpec.do_compile(spec.template, compile_options) @@ -1061,6 +1063,7 @@ def compare_single_spec(spec, _config) compile_options = { line_numbers: true, error_mode: spec.error_mode&.to_sym || required_opts[:error_mode], + template_name: spec.template_name, }.compact assigns = deep_copy(spec.instantiate_environment) @@ -1130,6 +1133,7 @@ def run_single_spec(spec, _config) line_numbers: true, error_mode: spec.error_mode&.to_sym || required_opts[:error_mode], file_system: filesystem, + template_name: spec.template_name, }.compact begin diff --git a/lib/liquid/spec/lazy_spec.rb b/lib/liquid/spec/lazy_spec.rb index e82d455..3acbb18 100644 --- a/lib/liquid/spec/lazy_spec.rb +++ b/lib/liquid/spec/lazy_spec.rb @@ -27,7 +27,7 @@ def initialize(spec_name:, source_file:, line_number:, errors:) class LazySpec VALID_ERROR_KEYS = ["parse_error", "render_error", "output"].freeze - attr_reader :name, :template, :expected, :errors, :hint, :doc, :complexity + attr_reader :name, :template, :template_name, :expected, :errors, :hint, :doc, :complexity attr_reader :error_mode, :render_errors, :required_features attr_reader :source_file, :line_number attr_reader :raw_environment, :raw_filesystem, :raw_template_factory @@ -35,6 +35,7 @@ class LazySpec def initialize( name:, template:, + template_name: nil, expected: nil, errors: {}, hint: nil, @@ -53,6 +54,7 @@ def initialize( ) @name = name @template = template + @template_name = template_name @expected = expected @errors = errors || {} @hint = hint diff --git a/lib/liquid/spec/spec_loader.rb b/lib/liquid/spec/spec_loader.rb index e052a04..6bfcbcf 100644 --- a/lib/liquid/spec/spec_loader.rb +++ b/lib/liquid/spec/spec_loader.rb @@ -56,7 +56,7 @@ module SpecLoader VALID_METADATA_KEYS = %w[hint doc required_options render_errors minimum_complexity complexity].freeze VALID_SPEC_KEYS = %w[ name template expected environment filesystem complexity hint doc - error_mode render_errors required_features errors + error_mode render_errors required_features errors template_name ].freeze class << self @@ -237,6 +237,7 @@ def load_yaml_file(path, suite: nil) spec = LazySpec.new( name: spec_data["name"], template: spec_data["template"], + template_name: spec_data["template_name"], expected: spec_expected, errors: spec_data["errors"] || {}, hint: spec_data["hint"],