PageRenderTime 61ms CodeModel.GetById 29ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/ruport-0.8.11/test/test_graph_renderer.rb

https://github.com/millbanksystems/edms
Ruby | 97 lines | 77 code | 20 blank | 0 comment | 0 complexity | 37cb12475e38a3391e7a1fcebea83551 MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1, BSD-3-Clause
  1. require "test/unit"
  2. require "ruport"
  3. begin
  4. require "rubygems"
  5. rescue LoadError
  6. nil
  7. end
  8. class MockGraphPlugin < Ruport::Format::Plugin
  9. def prepare_graph
  10. output << "prepare"
  11. end
  12. def build_graph
  13. output << "build"
  14. end
  15. def finalize_graph
  16. output << "finalize"
  17. end
  18. end
  19. Ruport::Renderer::Graph.add_format MockGraphPlugin, :mock
  20. class TestGraphRenderer < Test::Unit::TestCase
  21. def test_basics
  22. out = Ruport::Renderer::Graph.render_mock do |r|
  23. r.layout do |l|
  24. assert l.height.kind_of?(Numeric)
  25. assert l.width.kind_of?(Numeric)
  26. assert_equal :line, l.style
  27. end
  28. end
  29. assert_equal("preparebuildfinalize",out)
  30. end
  31. def test_report_shortcut
  32. a = Ruport::Report.new
  33. a.extend(Ruport::Report::Graph)
  34. p = lambda { |e| e.data = [[1,2,3]].to_table(%w[a b c]) }
  35. b = a.build_graph(&p)
  36. c = b.run
  37. assert_not_nil b.plugin.output
  38. assert_equal c, a.render_graph(&p)
  39. end
  40. end
  41. class TestSVGPlugin < Test::Unit::TestCase
  42. def test_output
  43. assert_not_nil Ruport::Renderer::Graph.render_svg { |r|
  44. r.data = [[1,2,3],[4,5,6]].to_table
  45. }
  46. end
  47. end
  48. class TestXMLSWFPlugin < Test::Unit::TestCase
  49. def test_output
  50. expected = <<-EOS
  51. <chart>
  52. <chart_type>line</chart_type>
  53. <chart_data>
  54. <row>
  55. <null/>
  56. </row>
  57. <row>
  58. <string>Region 0</string>
  59. <number>1</number>
  60. <number>2</number>
  61. <number>3</number>
  62. </row>
  63. <row>
  64. <string>Region 1</string>
  65. <number>4</number>
  66. <number>5</number>
  67. <number>6</number>
  68. </row>
  69. </chart_data>
  70. </chart>
  71. EOS
  72. assert_equal expected,
  73. Ruport::Renderer::Graph.render_xml { |r|
  74. r.data = [[1,2,3],[4,5,6]].to_table
  75. }
  76. end
  77. end