Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

86 рядки
3.0KB

  1. Sub Test_Dispatcher_NoMatchDispatchesToNotFound()
  2. Dim app
  3. Dim dispatcher
  4. Dim controllerKey
  5. Dim controller
  6. Set app = New App
  7. Set dispatcher = New Dispatcher
  8. Response.Status = "200 OK"
  9. dispatcher.Dispatch app, Nothing, controllerKey, controller
  10. AssertEquals "NotFound", controllerKey, "A Nothing route match should dispatch to NotFound"
  11. AssertEquals "404 Not Found", Response.Status, "NotFoundController.Execute should have run and set a 404 status"
  12. End Sub
  13. Sub Test_Dispatcher_UnknownControllerNameFallsBackToNotFound()
  14. Dim app
  15. Dim dispatcher
  16. Dim controllerKey
  17. Dim controller
  18. Dim routeMatch
  19. Dim params
  20. Set app = New App
  21. Set dispatcher = New Dispatcher
  22. Set params = CreateObject("Scripting.Dictionary")
  23. Set routeMatch = CreateObject("Scripting.Dictionary")
  24. routeMatch.Add "ControllerName", "SomethingUnregistered"
  25. routeMatch.Add "Params", params
  26. Response.Status = "200 OK"
  27. dispatcher.Dispatch app, routeMatch, controllerKey, controller
  28. AssertEquals "NotFound", controllerKey, "An unrecognized controller key should fall back to NotFound"
  29. AssertEquals "404 Not Found", Response.Status, "The NotFound fallback should still run Execute"
  30. End Sub
  31. Sub Test_Dispatcher_DispatchesToHome()
  32. Dim app
  33. Dim dispatcher
  34. Dim controllerKey
  35. Dim controller
  36. Dim routeMatch
  37. Dim params
  38. Set app = New App
  39. Set dispatcher = New Dispatcher
  40. Set params = CreateObject("Scripting.Dictionary")
  41. Set routeMatch = CreateObject("Scripting.Dictionary")
  42. routeMatch.Add "ControllerName", "Home"
  43. routeMatch.Add "Params", params
  44. dispatcher.Dispatch app, routeMatch, controllerKey, controller
  45. AssertEquals "Home", controllerKey, "A Home route match should dispatch to Home"
  46. AssertEquals "None", controller.ServiceSummary, "The dispatched controller should be a working HomeController"
  47. End Sub
  48. Sub Test_Dispatcher_DispatchesToGreetWithParams()
  49. Dim app
  50. Dim dispatcher
  51. Dim controllerKey
  52. Dim controller
  53. Dim routeMatch
  54. Dim params
  55. Set app = New App
  56. Set dispatcher = New Dispatcher
  57. Set params = CreateObject("Scripting.Dictionary")
  58. params.Add "name", "Ada"
  59. Set routeMatch = CreateObject("Scripting.Dictionary")
  60. routeMatch.Add "ControllerName", "Greet"
  61. routeMatch.Add "Params", params
  62. dispatcher.Dispatch app, routeMatch, controllerKey, controller
  63. AssertEquals "Greet", controllerKey, "A Greet route match should dispatch to Greet"
  64. AssertEquals "Ada", controller.Name, "The dispatched GreetController should receive the captured 'name' param"
  65. End Sub
  66. RunTest "Dispatcher: no route match dispatches to NotFound", "Test_Dispatcher_NoMatchDispatchesToNotFound"
  67. RunTest "Dispatcher: unknown controller name falls back to NotFound", "Test_Dispatcher_UnknownControllerNameFallsBackToNotFound"
  68. RunTest "Dispatcher: dispatches to Home", "Test_Dispatcher_DispatchesToHome"
  69. RunTest "Dispatcher: dispatches to Greet with params", "Test_Dispatcher_DispatchesToGreetWithParams"

Powered by TurnKey Linux.