/wheels/tests/view/dates/distanceOfTimeInWords.cfc

http://cfwheels.googlecode.com/ · ColdFusion CFScript · 182 lines · 161 code · 21 blank · 0 comment · 0 complexity · 56140277e6f1545caa4f3747c41134bf MD5 · raw file

  1. <cfcomponent extends="wheelsMapping.Test">
  2. <cffunction name="setup">
  3. <cfset loc.controller = controller(name="dummy")>
  4. <cfset loc.f = "distanceOfTimeInWords">
  5. <cfset loc.args = {}>
  6. <cfset loc.args.fromTime = now()>
  7. <cfset loc.args.includeSeconds = true>
  8. </cffunction>
  9. <cffunction name="test_with_seconds_below_5_seconds">
  10. <cfset loc.c = 5 - 1>
  11. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  12. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  13. <cfset loc.r = "less than 5 seconds">
  14. <cfset assert("loc.e eq loc.r")>
  15. </cffunction>
  16. <cffunction name="test_with_seconds_below_10_seconds">
  17. <cfset loc.c = 10 - 1>
  18. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  19. <cfset debug("loc.controller.distanceOfTimeInWords(argumentcollection=loc.args)", false)>
  20. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  21. <cfset loc.r = "less than 10 seconds">
  22. <cfset assert("loc.e eq loc.r")>
  23. </cffunction>
  24. <cffunction name="test_with_seconds_below_20_seconds">
  25. <cfset loc.c = 20 - 1>
  26. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  27. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  28. <cfset loc.r = "less than 20 seconds">
  29. <cfset assert("loc.e eq loc.r")>
  30. </cffunction>
  31. <cffunction name="test_with_seconds_below_40_seconds">
  32. <cfset loc.c = 40 - 1>
  33. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  34. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  35. <cfset loc.r = "half a minute">
  36. <cfset assert("loc.e eq loc.r")>
  37. </cffunction>
  38. <cffunction name="test_with_seconds_below_60_seconds">
  39. <cfset loc.c = 60 - 1>
  40. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  41. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  42. <cfset loc.r = "less than a minute">
  43. <cfset assert("loc.e eq loc.r")>
  44. </cffunction>
  45. <cffunction name="test_with_seconds_above_60_seconds">
  46. <cfset loc.c = 60 + 50>
  47. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  48. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  49. <cfset loc.r = "1 minute">
  50. <cfset assert("loc.e eq loc.r")>
  51. </cffunction>
  52. <cffunction name="test_without_seconds_below_60_seconds">
  53. <cfset loc.args.includeSeconds = false>
  54. <cfset loc.c = 60 - 1>
  55. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  56. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  57. <cfset loc.r = "less than a minute">
  58. <cfset assert("loc.e eq loc.r")>
  59. </cffunction>
  60. <cffunction name="test_without_seconds_above_60_seconds">
  61. <cfset loc.args.includeSeconds = false>
  62. <cfset loc.c = 60 + 50>
  63. <cfset loc.args.toTime = dateadd('s', loc.c, loc.args.fromTime)>
  64. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  65. <cfset loc.r = "1 minute">
  66. <cfset assert("loc.e eq loc.r")>
  67. </cffunction>
  68. <cffunction name="test_without_seconds_below_45_minutes">
  69. <cfset loc.args.includeSeconds = false>
  70. <cfset loc.c = 45 - 1>
  71. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  72. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  73. <cfset loc.r = "#loc.c# minutes">
  74. <cfset assert("loc.e eq loc.r")>
  75. </cffunction>
  76. <cffunction name="test_without_seconds_below_90_minutes">
  77. <cfset loc.args.includeSeconds = false>
  78. <cfset loc.c = 90 - 1>
  79. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  80. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  81. <cfset loc.r = "about 1 hour">
  82. <cfset assert("loc.e eq loc.r")>
  83. </cffunction>
  84. <cffunction name="test_without_seconds_below_1440_minutes">
  85. <cfset loc.args.includeSeconds = false>
  86. <cfset loc.c = 1440 - 1>
  87. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  88. <cfset loc.c = Ceiling(loc.c/60)>
  89. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  90. <cfset loc.r = "about #loc.c# hours">
  91. <cfset assert("loc.e eq loc.r")>
  92. </cffunction>
  93. <cffunction name="test_without_seconds_below_2880_minutes">
  94. <cfset loc.args.includeSeconds = false>
  95. <cfset loc.c = 2880 - 1>
  96. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  97. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  98. <cfset loc.r = "1 day">
  99. <cfset assert("loc.e eq loc.r")>
  100. </cffunction>
  101. <cffunction name="test_without_seconds_below_43200_minutes">
  102. <cfset loc.args.includeSeconds = false>
  103. <cfset loc.c = 43200 - 1>
  104. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  105. <cfset loc.c = Int(loc.c/1440)>
  106. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  107. <cfset loc.r = "#loc.c# days">
  108. <cfset assert("loc.e eq loc.r")>
  109. </cffunction>
  110. <cffunction name="test_without_seconds_below_86400_minutes">
  111. <cfset loc.args.includeSeconds = false>
  112. <cfset loc.c = 86400 - 1>
  113. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  114. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  115. <cfset loc.r = "about 1 month">
  116. <cfset assert("loc.e eq loc.r")>
  117. </cffunction>
  118. <cffunction name="test_without_seconds_below_525600_minutes">
  119. <cfset loc.args.includeSeconds = false>
  120. <cfset loc.c = 525600 - 1>
  121. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  122. <cfset loc.c = Int(loc.c/43200)>
  123. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  124. <cfset loc.r = "#loc.c# months">
  125. <cfset assert("loc.e eq loc.r")>
  126. </cffunction>
  127. <cffunction name="test_without_seconds_below_657000_minutes">
  128. <cfset loc.args.includeSeconds = false>
  129. <cfset loc.c = 657000 - 1>
  130. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  131. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  132. <cfset loc.r = "about 1 year">
  133. <cfset assert("loc.e eq loc.r")>
  134. </cffunction>
  135. <cffunction name="test_without_seconds_below_919800_minutes">
  136. <cfset loc.args.includeSeconds = false>
  137. <cfset loc.c = 919800 - 1>
  138. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  139. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  140. <cfset loc.r = "over 1 year">
  141. <cfset assert("loc.e eq loc.r")>
  142. </cffunction>
  143. <cffunction name="test_without_seconds_below_1051200_minutes">
  144. <cfset loc.args.includeSeconds = false>
  145. <cfset loc.c = 1051200 - 1>
  146. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  147. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  148. <cfset loc.r = "almost 2 years">
  149. <cfset assert("loc.e eq loc.r")>
  150. </cffunction>
  151. <cffunction name="test_without_seconds_above_1051200_minutes">
  152. <cfset loc.args.includeSeconds = false>
  153. <cfset loc.c = 1051200>
  154. <cfset loc.c = (loc.c * 3) + 786>
  155. <cfset loc.args.toTime = dateadd('n', loc.c, loc.args.fromTime)>
  156. <cfset loc.c = Int(loc.c/525600)>
  157. <cfinvoke component="#loc.controller#" method="#loc.f#" argumentcollection="#loc.args#" returnvariable="loc.e">
  158. <cfset loc.r = "over #loc.c# years">
  159. <cfset assert("loc.e eq loc.r")>
  160. </cffunction>
  161. </cfcomponent>