PageRenderTime 43ms CodeModel.GetById 28ms RepoModel.GetById 0ms app.codeStats 0ms

/wheels/tests/controller/provides/renderwith.cfc

http://cfwheels.googlecode.com/
ColdFusion CFScript | 116 lines | 102 code | 14 blank | 0 comment | 0 complexity | b84cc5367b5b5ca5d4c58b3c72288ea0 MD5 | raw file
Possible License(s): Apache-2.0, CPL-1.0
  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cffunction name="setup">
  3. <cfset $ENV = duplicate(application)>
  4. <cfset params = {controller="test", action="test"}>
  5. <cfset application.wheels.viewPath = "wheels/tests/_assets/views">
  6. </cffunction>
  7. <cffunction name="teardown">
  8. <cfset application = $ENV>
  9. <cfset $header(name="content-type", value="text/html" , charset="utf-8") />
  10. </cffunction>
  11. <cffunction name="test_throws_error_without_data_argument">
  12. <cfset loc.controller = controller("test", params)>
  13. <cftry>
  14. <cfset result = loc.controller.renderWith()>
  15. <cfcatch type="any">
  16. <cfset assert('true eq true') />
  17. </cfcatch>
  18. </cftry>
  19. </cffunction>
  20. <cffunction name="test_current_action_as_xml_with_template_returning_string_to_controller">
  21. <cfset params.format = "xml">
  22. <cfset loc.controller = controller("test", params)>
  23. <cfset loc.controller.provides("xml") />
  24. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  25. <cfset loc.data = loc.controller.renderWith(data=user, layout=false, returnAs="string")>
  26. <cfset assert("loc.data Contains 'xml template content'")>
  27. </cffunction>
  28. <cffunction name="test_current_action_as_xml_with_template">
  29. <cfset params.format = "xml">
  30. <cfset loc.controller = controller("test", params)>
  31. <cfset loc.controller.provides("xml") />
  32. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  33. <cfset loc.controller.renderWith(data=user, layout=false)>
  34. <cfset assert("loc.controller.response() Contains 'xml template content'")>
  35. </cffunction>
  36. <cffunction name="test_current_action_as_xml_without_template">
  37. <cfset params.action = "test2">
  38. <cfset params.format = "xml">
  39. <cfset loc.controller = controller("test", params)>
  40. <cfset loc.controller.provides("xml") />
  41. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  42. <cfset loc.controller.renderWith(data=user)>
  43. <cfset assert("IsXml(loc.controller.response()) eq true")>
  44. </cffunction>
  45. <cffunction name="test_current_action_as_xml_without_template_returning_string_to_controller">
  46. <cfset params.action = "test2">
  47. <cfset params.format = "xml">
  48. <cfset loc.controller = controller("test", params)>
  49. <cfset loc.controller.provides("xml") />
  50. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  51. <cfset loc.data = loc.controller.renderWith(data=user, returnAs="string")>
  52. <cfset assert("IsXml(loc.data) eq true")>
  53. </cffunction>
  54. <cffunction name="test_current_action_as_json_with_template">
  55. <cfset params.format = "json">
  56. <cfset loc.controller = controller("test", params)>
  57. <cfset loc.controller.provides("json") />
  58. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  59. <cfset loc.controller.renderWith(data=user, layout=false)>
  60. <cfset assert("loc.controller.response() Contains 'json template content'")>
  61. </cffunction>
  62. <cffunction name="test_current_action_as_json_without_template">
  63. <cfset params.action = "test2">
  64. <cfset params.format = "json">
  65. <cfset loc.controller = controller("test", params)>
  66. <cfset loc.controller.provides("json") />
  67. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  68. <cfset loc.controller.renderWith(data=user)>
  69. <cfset assert("IsJSON(loc.controller.response()) eq true")>
  70. </cffunction>
  71. <cffunction name="test_current_action_as_json_without_template_returning_string_to_controller">
  72. <cfset params.action = "test2">
  73. <cfset params.format = "json">
  74. <cfset loc.controller = controller("test", params)>
  75. <cfset loc.controller.provides("json") />
  76. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  77. <cfset loc.data = loc.controller.renderWith(data=user, returnAs="string")>
  78. <cfset assert("IsJSON(loc.data) eq true")>
  79. </cffunction>
  80. <cffunction name="test_current_action_as_pdf_with_template_throws_error">
  81. <cfset params.format = "pdf">
  82. <cfset loc.controller = controller("test", params)>
  83. <cfset loc.controller.provides("pdf") />
  84. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  85. <cftry>
  86. <cfset loc.controller.renderWith(data=user, layout=false)>
  87. <cfset fail(message="Error did not occur.")>
  88. <cfcatch type="any">
  89. <cfset assert("true eq true")>
  90. </cfcatch>
  91. </cftry>
  92. </cffunction>
  93. <cffunction name="test_current_action_as_json_with_template_in_production">
  94. <cfset application.wheels.cacheFileChecking = true>
  95. <cfset params.format = "json">
  96. <cfset loc.controller = controller("test", params)>
  97. <cfset loc.controller.provides("json") />
  98. <cfset user = model("user").findOne(where="username = 'tonyp'") />
  99. <cfset loc.controller.renderWith(data=user, layout=false)>
  100. <cfset assert("loc.controller.response() Contains 'json template content'")>
  101. </cffunction>
  102. </cfcomponent>