notification_factory_template_test.rb 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. require 'test_helper'
  2. class NotificationFactoryTemplateTest < ActiveSupport::TestCase
  3. # RSpec incoming!
  4. def described_class
  5. NotificationFactory::Template
  6. end
  7. test 'regular browser html' do
  8. # ensures https://github.com/zammad/zammad/issues/385
  9. template_before = '#{<a href="http://ticket.id" title="http://ticket.id" target="_blank">ticket.id</a>}'
  10. template_after = '<%= d "ticket.id", true %>'
  11. result = described_class.new(template_before, true).to_s
  12. assert_equal(template_after, result)
  13. template_before = '#{<a href="http://ticket.id" title="http://ticket.id" target="_blank">config.fqdn</a>}'
  14. template_after = '<%= d "config.fqdn", true %>'
  15. result = described_class.new(template_before, true).to_s
  16. assert_equal(template_after, result)
  17. end
  18. test 'spaced browser html' do
  19. # ensures https://github.com/zammad/zammad/issues/385
  20. template_before = '#{ <a href="http://ticket.id" title="http://ticket.id" target="_blank">ticket.id </a> }'
  21. template_after = '<%= d "ticket.id", true %>'
  22. result = described_class.new(template_before, true).to_s
  23. assert_equal(template_after, result)
  24. end
  25. test 'broken browser html' do
  26. # ensures https://github.com/zammad/zammad/issues/385
  27. template_before = '#{<a href="http://ticket.id" title="http://ticket.id" target="_blank">ticket.id }'
  28. template_after = '<%= d "ticket.id", true %>'
  29. result = described_class.new(template_before, true).to_s
  30. assert_equal(template_after, result)
  31. end
  32. test 'empty tag' do
  33. template_before = '#{}'
  34. template_after = '<%= d "", true %>'
  35. result = described_class.new(template_before, true).to_s
  36. assert_equal(template_after, result)
  37. end
  38. test 'empty tag with space' do
  39. template_before = '#{ }'
  40. template_after = '<%= d "", false %>'
  41. result = described_class.new(template_before, false).to_s
  42. assert_equal(template_after, result)
  43. end
  44. test 'translation' do
  45. template_before = "\#{t('some text')}"
  46. template_after = '<%= t "some text", false %>'
  47. result = described_class.new(template_before, false).to_s
  48. assert_equal(template_after, result)
  49. template_before = "\#{t('some \"text\"')}"
  50. template_after = '<%= t "some \"text\"", false %>'
  51. result = described_class.new(template_before, false).to_s
  52. assert_equal(template_after, result)
  53. end
  54. end