diff --git a/_plugins/csv_block.rb b/_plugins/csv_block.rb index 598f288..530e9ea 100644 --- a/_plugins/csv_block.rb +++ b/_plugins/csv_block.rb @@ -157,7 +157,7 @@ def evaluate_formula_at_index_internal(col_index, row_index, table_data, visitin end end - evaluated_result = @calculator.evaluate(formula_with_values) or raise "Error: #{col_index_to_val(col_index)}#{row_index_to_val(row_index)} uses invalid formula: #{formula}" + evaluated_result = @calculator.evaluate(formula_with_values) or raise "Error: #{col_index_to_val(col_index)}#{row_index_to_val(row_index)} uses invalid formula: #{formula_with_values}" @evaluation_cache[cell_key] = evaluated_result evaluated_result diff --git a/_spec/csv_block_spec.rb b/_spec/csv_block_spec.rb index 27d21e6..cb79095 100644 --- a/_spec/csv_block_spec.rb +++ b/_spec/csv_block_spec.rb @@ -112,6 +112,15 @@ def render_csv_block(content, tag_options = "") expect(output).to include('250') end + it 'understands currency?' do + csv_content = "$100\n$150\n=SUM(A1:A2)" + output = render_csv_block(csv_content, "header:false") + + # Alas, for now. + # expect(output).to include('$250') + expect(output).to include('Error: A3 uses invalid formula: SUM($100,$150)') + end + it 'evaluates formulas with rectangular references' do csv_content = "1, 10, =SUM(A1:B1)\n100, 1000, =SUM(A2:B2)\n=SUM(A1:A2), =SUM(B1:B2), =SUM(A1:B2)" output = render_csv_block(csv_content, "header:false")