@rr0/cms 0.1.16 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/README.md +20 -2
  2. package/dist/DefaultContentVisitor.d.ts +1 -3
  3. package/dist/OpenGraphCommand.js +1 -1
  4. package/dist/OpenGraphCommand.test.js +14 -0
  5. package/dist/RR0Build.d.ts +56 -0
  6. package/dist/RR0Build.js +254 -0
  7. package/dist/RR0Build.test.js +103 -0
  8. package/dist/RR0Context.d.ts +6 -4
  9. package/dist/RR0Context.js +4 -0
  10. package/dist/TableReplaceCommand.js +2 -1
  11. package/dist/anchor/AnchorReplaceCommandTest.js +23 -0
  12. package/dist/anchor/AnchorReplacerTest.js +60 -0
  13. package/dist/anchor/CaseAnchorHandler.js +1 -1
  14. package/dist/anchor/DataAnchorHandler.d.ts +1 -2
  15. package/dist/book/Book.d.ts +1 -1
  16. package/dist/book/BookDirectoryStep.d.ts +3 -3
  17. package/dist/book/BookDirectoryStep.js +2 -1
  18. package/dist/book/BookService.d.ts +3 -3
  19. package/dist/book/BookService.js +2 -2
  20. package/dist/index.d.ts +0 -2
  21. package/dist/index.js +0 -2
  22. package/dist/lang/LanguageReplaceCommant.test.js +17 -0
  23. package/dist/lang/RR0Messages.d.ts +1 -0
  24. package/dist/lang/RR0Messages_en.d.ts +1 -0
  25. package/dist/lang/RR0Messages_en.js +2 -1
  26. package/dist/lang/RR0Messages_fr.d.ts +1 -0
  27. package/dist/lang/RR0Messages_fr.js +2 -1
  28. package/dist/org/Cities.js +12 -20
  29. package/dist/org/CountryMessageList_en.js +2 -1
  30. package/dist/org/CountryMessageList_fr.js +2 -1
  31. package/dist/org/Organization.d.ts +1 -2
  32. package/dist/org/OrganizationFactory.d.ts +1 -2
  33. package/dist/org/OrganizationFactory.js +1 -1
  34. package/dist/org/OrganizationService.d.ts +5 -1
  35. package/dist/org/OrganizationService.js +5 -1
  36. package/dist/org/au/Australia_en.d.ts +1 -1
  37. package/dist/org/au/Australia_fr.d.ts +1 -1
  38. package/dist/org/au/region/vic/Victoria.d.ts +1 -1
  39. package/dist/org/au/region/vic/Victoria.js +1 -1
  40. package/dist/org/au/region/vic/VictoriaMessages_en.d.ts +2 -2
  41. package/dist/org/au/region/vic/VictoriaMessages_en.js +2 -2
  42. package/dist/org/au/region/vic/VictoriaMessages_fr.d.ts +2 -2
  43. package/dist/org/au/region/vic/VictoriaMessages_fr.js +2 -2
  44. package/dist/org/cn/China.d.ts +6 -0
  45. package/dist/org/cn/China.js +6 -0
  46. package/dist/org/cn/ChinaMessages.d.ts +1 -0
  47. package/dist/org/cn/ChinaMessages_cn.d.ts +3 -0
  48. package/dist/org/cn/ChinaMessages_cn.js +5 -0
  49. package/dist/org/cn/ChinaMessages_en.d.ts +3 -0
  50. package/dist/org/cn/ChinaMessages_en.js +5 -0
  51. package/dist/org/cn/ChinaMessages_fr.d.ts +3 -0
  52. package/dist/org/cn/ChinaMessages_fr.js +5 -0
  53. package/dist/org/cn/region/ChinaCities.d.ts +2 -0
  54. package/dist/org/cn/region/ChinaCities.js +4 -0
  55. package/dist/org/cn/region/ChinaRegion.d.ts +4 -0
  56. package/dist/org/cn/region/ChinaRegion.js +5 -0
  57. package/dist/org/cn/region/ChinaRegionCode.d.ts +3 -0
  58. package/dist/org/cn/region/ChinaRegionCode.js +4 -0
  59. package/dist/org/cn/region/ChinaRegions.d.ts +2 -0
  60. package/dist/org/cn/region/ChinaRegions.js +4 -0
  61. package/dist/org/cn/region/n/NorthChina.d.ts +2 -0
  62. package/dist/org/cn/region/n/NorthChina.js +4 -0
  63. package/dist/org/cn/region/n/NorthChinaDepartmentCode.d.ts +3 -0
  64. package/dist/org/cn/region/n/NorthChinaDepartmentCode.js +4 -0
  65. package/dist/org/cn/region/n/NorthChinaMessages_cn.d.ts +6 -0
  66. package/dist/org/cn/region/n/NorthChinaMessages_cn.js +6 -0
  67. package/dist/org/cn/region/n/NorthChinaMessages_en.d.ts +6 -0
  68. package/dist/org/cn/region/n/NorthChinaMessages_en.js +6 -0
  69. package/dist/org/cn/region/n/NorthChinaMessages_fr.d.ts +6 -0
  70. package/dist/org/cn/region/n/NorthChinaMessages_fr.js +6 -0
  71. package/dist/org/cn/region/n/ji/Hebei.d.ts +2 -0
  72. package/dist/org/cn/region/n/ji/Hebei.js +5 -0
  73. package/dist/org/cn/region/n/ji/HebeiCities.d.ts +2 -0
  74. package/dist/org/cn/region/n/ji/HebeiCities.js +4 -0
  75. package/dist/org/cn/region/n/ji/HebeiCityCode.d.ts +3 -0
  76. package/dist/org/cn/region/n/ji/HebeiCityCode.js +4 -0
  77. package/dist/org/cn/region/n/ji/HebeiMessages_cn.d.ts +4 -0
  78. package/dist/org/cn/region/n/ji/HebeiMessages_cn.js +6 -0
  79. package/dist/org/cn/region/n/ji/HebeiMessages_en.d.ts +4 -0
  80. package/dist/org/cn/region/n/ji/HebeiMessages_en.js +6 -0
  81. package/dist/org/cn/region/n/ji/HebeiMessages_fr.d.ts +4 -0
  82. package/dist/org/cn/region/n/ji/HebeiMessages_fr.js +6 -0
  83. package/dist/org/cn/region/n/ji/Tianjin/Tianjin.d.ts +2 -0
  84. package/dist/org/cn/region/n/ji/Tianjin/Tianjin.js +5 -0
  85. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.d.ts +2 -0
  86. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_cn.js +2 -0
  87. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.d.ts +2 -0
  88. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_en.js +2 -0
  89. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.d.ts +2 -0
  90. package/dist/org/cn/region/n/ji/Tianjin/TianjinMessages_fr.js +3 -0
  91. package/dist/org/country/CountryMessages.test.d.ts +1 -0
  92. package/dist/org/country/CountryMessages.test.js +20 -0
  93. package/dist/org/country/CountryService.test.d.ts +1 -0
  94. package/dist/org/country/CountryService.test.js +11 -0
  95. package/dist/org/country/region/RegionMessages.test.d.ts +1 -0
  96. package/dist/org/country/region/RegionMessages.test.js +17 -0
  97. package/dist/org/country/region/RegionService.test.d.ts +1 -0
  98. package/dist/org/country/region/RegionService.test.js +13 -0
  99. package/dist/org/country/region/department/DeparmentMessages.test.d.ts +1 -0
  100. package/dist/org/country/region/department/DeparmentMessages.test.js +22 -0
  101. package/dist/org/country/region/department/DepartmentService.test.d.ts +1 -0
  102. package/dist/org/country/region/department/DepartmentService.test.js +13 -0
  103. package/dist/org/country/region/department/city/CityMessages.test.d.ts +1 -0
  104. package/dist/org/country/region/department/city/CityMessages.test.js +34 -0
  105. package/dist/org/country/region/department/city/CityService.test.d.ts +1 -0
  106. package/dist/org/country/region/department/city/CityService.test.js +19 -0
  107. package/dist/org/do/DominicanRepublicMessages.d.ts +1 -1
  108. package/dist/org/do/DominicanRepublic_en.d.ts +2 -2
  109. package/dist/org/do/DominicanRepublic_fr.d.ts +2 -2
  110. package/dist/org/eu/fr/FranceMessages.test.d.ts +1 -0
  111. package/dist/org/eu/fr/FranceMessages.test.js +11 -0
  112. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.d.ts +1 -0
  113. package/dist/org/eu/fr/cnes/geipan/geipan/GeipanDatasource.test.js +30 -0
  114. package/dist/org/us/region/UsaCountyCode.d.ts +7 -1
  115. package/dist/org/us/region/UsaCountyCode.js +7 -1
  116. package/dist/org/us/region/mn/MinnesotaCities.js +2 -2
  117. package/dist/org/us/region/mn/MinnesotaCounties.js +2 -2
  118. package/dist/org/us/region/mn/Minnesota_en.d.ts +2 -2
  119. package/dist/org/us/region/mn/Minnesota_en.js +2 -2
  120. package/dist/org/us/region/mn/Minnesota_fr.d.ts +2 -2
  121. package/dist/org/us/region/mn/Minnesota_fr.js +2 -2
  122. package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.d.ts → hennepin/Hennepin.d.ts} +1 -1
  123. package/dist/org/us/region/mn/{kalamazoo/Kalamazoo.js → hennepin/Hennepin.js} +1 -1
  124. package/dist/org/us/region/mn/{kalamazoo/KalamazooCities.d.ts → hennepin/HennepinCities.d.ts} +1 -1
  125. package/dist/org/us/region/mn/hennepin/HennepinCities.js +4 -0
  126. package/dist/org/us/region/mn/hennepin/HennepinCityCode.d.ts +3 -0
  127. package/dist/org/us/region/mn/hennepin/HennepinCityCode.js +4 -0
  128. package/dist/org/us/region/mn/hennepin/HennepinMessages_en.d.ts +4 -0
  129. package/dist/org/us/region/mn/hennepin/HennepinMessages_en.js +6 -0
  130. package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.d.ts +4 -0
  131. package/dist/org/us/region/mn/hennepin/HennepinMessages_fr.js +6 -0
  132. package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.d.ts +1 -0
  133. package/dist/org/us/region/mn/hennepin/Minneapolis/Minneapolis.js +5 -0
  134. package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.d.ts +2 -0
  135. package/dist/org/us/region/mn/hennepin/Minneapolis/MinneapolisMessages.js +2 -0
  136. package/dist/org/us/region/mo/MissouriCities.js +2 -2
  137. package/dist/org/us/region/mo/MissouriCounties.js +2 -2
  138. package/dist/org/us/region/mo/Missouri_en.d.ts +2 -2
  139. package/dist/org/us/region/mo/Missouri_en.js +2 -2
  140. package/dist/org/us/region/mo/Missouri_fr.d.ts +2 -2
  141. package/dist/org/us/region/mo/Missouri_fr.js +2 -2
  142. package/dist/org/us/region/{mn/kalamazoo/galesburg/Galesburg.d.ts → mo/pike/Louisiana/Louisiana.d.ts} +1 -1
  143. package/dist/org/us/region/mo/pike/Louisiana/Louisiana.js +5 -0
  144. package/dist/org/us/region/{mn/kalamazoo/galesburg/GalesburgMessages.d.ts → mo/pike/Louisiana/LouisianaMessages.d.ts} +1 -1
  145. package/dist/org/us/region/{ms/kalamazoo/galesburg/GalesburgMessages.js → mo/pike/Louisiana/LouisianaMessages.js} +1 -1
  146. package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.d.ts → pike/Pike.d.ts} +1 -1
  147. package/dist/org/us/region/mo/{kalamazoo/Kalamazoo.js → pike/Pike.js} +1 -1
  148. package/dist/org/us/region/mo/{kalamazoo/KalamazooCities.d.ts → pike/PikeCities.d.ts} +1 -1
  149. package/dist/org/us/region/mo/pike/PikeCities.js +4 -0
  150. package/dist/org/us/region/mo/pike/PikeCityCode.d.ts +3 -0
  151. package/dist/org/us/region/mo/pike/PikeCityCode.js +4 -0
  152. package/dist/org/us/region/mo/pike/PikeMessages_en.d.ts +4 -0
  153. package/dist/org/us/region/mo/pike/PikeMessages_en.js +6 -0
  154. package/dist/org/us/region/mo/pike/PikeMessages_fr.d.ts +4 -0
  155. package/dist/org/us/region/mo/pike/PikeMessages_fr.js +6 -0
  156. package/dist/org/us/region/ms/MississippiCities.js +2 -2
  157. package/dist/org/us/region/ms/MississippiCounties.js +2 -2
  158. package/dist/org/us/region/ms/Mississippi_en.d.ts +2 -2
  159. package/dist/org/us/region/ms/Mississippi_en.js +2 -2
  160. package/dist/org/us/region/ms/Mississippi_fr.d.ts +2 -2
  161. package/dist/org/us/region/ms/Mississippi_fr.js +2 -2
  162. package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.d.ts → hinds/Hinds.d.ts} +1 -1
  163. package/dist/org/us/region/ms/{kalamazoo/Kalamazoo.js → hinds/Hinds.js} +1 -1
  164. package/dist/org/us/region/ms/{kalamazoo/KalamazooCities.d.ts → hinds/HindsCities.d.ts} +1 -1
  165. package/dist/org/us/region/ms/hinds/HindsCities.js +4 -0
  166. package/dist/org/us/region/ms/hinds/HindsCityCode.d.ts +3 -0
  167. package/dist/org/us/region/ms/hinds/HindsCityCode.js +4 -0
  168. package/dist/org/us/region/ms/hinds/HindsMessages_en.d.ts +4 -0
  169. package/dist/org/us/region/ms/hinds/HindsMessages_en.js +6 -0
  170. package/dist/org/us/region/ms/hinds/HindsMessages_fr.d.ts +4 -0
  171. package/dist/org/us/region/ms/hinds/HindsMessages_fr.js +6 -0
  172. package/dist/org/us/region/ms/hinds/Jackson/Jackson.d.ts +1 -0
  173. package/dist/org/us/region/ms/hinds/Jackson/Jackson.js +5 -0
  174. package/dist/org/us/region/ms/{kalamazoo/galesburg/GalesburgMessages.d.ts → hinds/Jackson/JacksonMessages.d.ts} +1 -1
  175. package/dist/org/us/region/ms/hinds/Jackson/JacksonMessages.js +2 -0
  176. package/dist/org/us/region/mt/MontanaCities.js +2 -2
  177. package/dist/org/us/region/mt/MontanaCounties.js +2 -2
  178. package/dist/org/us/region/mt/Montana_en.d.ts +2 -2
  179. package/dist/org/us/region/mt/Montana_en.js +2 -2
  180. package/dist/org/us/region/mt/Montana_fr.d.ts +2 -2
  181. package/dist/org/us/region/mt/Montana_fr.js +2 -2
  182. package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.d.ts → cascade/Cascade.d.ts} +1 -1
  183. package/dist/org/us/region/mt/{kalamazoo/Kalamazoo.js → cascade/Cascade.js} +1 -1
  184. package/dist/org/us/region/mt/{kalamazoo/KalamazooCities.d.ts → cascade/CascadeCities.d.ts} +1 -1
  185. package/dist/org/us/region/mt/cascade/CascadeCities.js +4 -0
  186. package/dist/org/us/region/mt/cascade/CascadeCityCode.d.ts +3 -0
  187. package/dist/org/us/region/mt/cascade/CascadeCityCode.js +4 -0
  188. package/dist/org/us/region/mt/cascade/CascadeMessages_en.d.ts +4 -0
  189. package/dist/org/us/region/mt/cascade/CascadeMessages_en.js +6 -0
  190. package/dist/org/us/region/mt/cascade/CascadeMessages_fr.d.ts +4 -0
  191. package/dist/org/us/region/mt/cascade/CascadeMessages_fr.js +6 -0
  192. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.d.ts +1 -0
  193. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFalls.js +5 -0
  194. package/dist/org/us/region/mt/{kalamazoo/galesburg/GalesburgMessages.d.ts → cascade/GreatFalls/GreatFallsMessages.d.ts} +1 -1
  195. package/dist/org/us/region/mt/cascade/GreatFalls/GreatFallsMessages.js +2 -0
  196. package/dist/org/us/region/nh/NewHampshireCities.js +2 -2
  197. package/dist/org/us/region/nh/NewHampshireCounties.js +2 -2
  198. package/dist/org/us/region/nh/NewHampshire_en.d.ts +2 -2
  199. package/dist/org/us/region/nh/NewHampshire_en.js +2 -2
  200. package/dist/org/us/region/nh/NewHampshire_fr.d.ts +2 -2
  201. package/dist/org/us/region/nh/NewHampshire_fr.js +2 -2
  202. package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.d.ts +1 -0
  203. package/dist/org/us/region/nh/rockingham/Portsmouth/Portsmouth.js +5 -0
  204. package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.d.ts +2 -0
  205. package/dist/org/us/region/nh/rockingham/Portsmouth/PortsmouthMessages.js +2 -0
  206. package/dist/org/us/region/nh/rockingham/Rockingham.d.ts +2 -0
  207. package/dist/org/us/region/nh/{kalamazoo/Kalamazoo.js → rockingham/Rockingham.js} +1 -1
  208. package/dist/org/us/region/nh/rockingham/RockinghamCities.d.ts +2 -0
  209. package/dist/org/us/region/nh/rockingham/RockinghamCities.js +4 -0
  210. package/dist/org/us/region/nh/rockingham/RockinghamCityCode.d.ts +3 -0
  211. package/dist/org/us/region/nh/rockingham/RockinghamCityCode.js +4 -0
  212. package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.d.ts +4 -0
  213. package/dist/org/us/region/nh/rockingham/RockinghamMessages_en.js +6 -0
  214. package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.d.ts +4 -0
  215. package/dist/org/us/region/nh/rockingham/RockinghamMessages_fr.js +6 -0
  216. package/dist/org/us/region/nv/NevadaCities.js +2 -2
  217. package/dist/org/us/region/nv/NevadaCounties.js +2 -2
  218. package/dist/org/us/region/nv/Nevada_en.d.ts +2 -2
  219. package/dist/org/us/region/nv/Nevada_en.js +2 -2
  220. package/dist/org/us/region/nv/Nevada_fr.d.ts +2 -2
  221. package/dist/org/us/region/nv/Nevada_fr.js +2 -2
  222. package/dist/org/us/region/nv/clark/Clark.d.ts +2 -0
  223. package/dist/org/us/region/nv/{kalamazoo/Kalamazoo.js → clark/Clark.js} +1 -1
  224. package/dist/org/us/region/nv/clark/ClarkCities.d.ts +2 -0
  225. package/dist/org/us/region/nv/clark/ClarkCities.js +4 -0
  226. package/dist/org/us/region/nv/clark/ClarkCityCode.d.ts +3 -0
  227. package/dist/org/us/region/nv/clark/ClarkCityCode.js +4 -0
  228. package/dist/org/us/region/nv/clark/ClarkMessages_en.d.ts +4 -0
  229. package/dist/org/us/region/nv/clark/ClarkMessages_en.js +6 -0
  230. package/dist/org/us/region/nv/clark/ClarkMessages_fr.d.ts +4 -0
  231. package/dist/org/us/region/nv/clark/ClarkMessages_fr.js +6 -0
  232. package/dist/org/us/region/nv/clark/LasVegas/LasVegas.d.ts +1 -0
  233. package/dist/org/us/region/nv/clark/LasVegas/LasVegas.js +5 -0
  234. package/dist/org/us/region/{mo/kalamazoo/galesburg/GalesburgMessages.d.ts → nv/clark/LasVegas/LasVegasMessages.d.ts} +1 -1
  235. package/dist/org/us/region/nv/clark/LasVegas/LasVegasMessages.js +2 -0
  236. package/dist/people/People.d.ts +1 -2
  237. package/dist/people/People.test.d.ts +1 -0
  238. package/dist/people/People.test.js +34 -0
  239. package/dist/people/PeopleDirectoryStep.d.ts +2 -2
  240. package/dist/people/PeopleDirectoryStepFactory.d.ts +27 -14
  241. package/dist/people/PeopleDirectoryStepFactory.js +66 -44
  242. package/dist/people/PeopleFactory.d.ts +1 -2
  243. package/dist/people/PeopleFactory.js +1 -1
  244. package/dist/people/PeopleFactory.test.d.ts +1 -0
  245. package/dist/people/PeopleFactory.test.js +81 -0
  246. package/dist/people/PeopleRegexReplaceCommand.test.d.ts +1 -0
  247. package/dist/people/PeopleRegexReplaceCommand.test.js +17 -0
  248. package/dist/people/PeopleReplacer.test.d.ts +1 -0
  249. package/dist/people/PeopleReplacer.test.js +58 -0
  250. package/dist/people/PeopleService.d.ts +1 -1
  251. package/dist/people/PeopleService.js +1 -1
  252. package/dist/people/author/AuthorReplaceCommandTest.d.ts +1 -0
  253. package/dist/people/author/AuthorReplaceCommandTest.js +49 -0
  254. package/dist/place/Place.d.ts +1 -2
  255. package/dist/place/PlaceReplacer.test.d.ts +1 -0
  256. package/dist/place/PlaceReplacer.test.js +91 -0
  257. package/dist/place/PlaceService.js +2 -2
  258. package/dist/place/PlaceService.test.d.ts +1 -0
  259. package/dist/place/PlaceService.test.js +28 -0
  260. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.d.ts +2 -3
  261. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.js +0 -4
  262. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.d.ts +1 -0
  263. package/dist/science/crypto/ufo/enquete/dossier/CaseDirectoryStep.test.js +34 -0
  264. package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.d.ts +1 -2
  265. package/dist/science/crypto/ufo/enquete/dossier/CaseFactory.js +1 -1
  266. package/dist/science/crypto/ufo/enquete/dossier/CaseService.d.ts +1 -1
  267. package/dist/science/crypto/ufo/enquete/dossier/CaseService.js +1 -1
  268. package/dist/search/SearchIndexStep.js +2 -2
  269. package/dist/search/SearchVisitor.js +1 -1
  270. package/dist/source/PersistentSourceRegistry.d.ts +2 -2
  271. package/dist/source/PersistentSourceRegistry.js +8 -3
  272. package/dist/source/SourceFactory.d.ts +2 -2
  273. package/dist/source/SourceFactory.js +1 -1
  274. package/dist/source/SourceIndexStep.js +2 -2
  275. package/dist/source/SourceRegistry.d.ts +2 -2
  276. package/dist/source/SourceRenderer.d.ts +1 -1
  277. package/dist/source/SourceRenderer.js +1 -1
  278. package/dist/source/index.d.ts +0 -3
  279. package/dist/source/index.js +0 -3
  280. package/dist/tech/info/soft/API.d.ts +1 -1
  281. package/dist/tech/info/soft/APIFactory.d.ts +1 -2
  282. package/dist/tech/info/soft/APIFactory.js +1 -1
  283. package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.d.ts +1 -0
  284. package/dist/tech/info/soft/proj/impl/lang/CodeReplacerTest.js +50 -0
  285. package/dist/test/RR0TestUtil.d.ts +21 -0
  286. package/dist/test/RR0TestUtil.js +72 -0
  287. package/dist/test/index.d.ts +1 -0
  288. package/dist/test/index.js +1 -0
  289. package/dist/time/EventRenderer.d.ts +3 -3
  290. package/dist/time/EventRenderer.js +1 -1
  291. package/dist/time/EventReplacerFactory.d.ts +1 -2
  292. package/dist/time/Time.js +1 -1
  293. package/dist/time/Time.test.d.ts +1 -0
  294. package/dist/time/Time.test.js +48 -0
  295. package/dist/time/TimeEventRenderer.test.d.ts +1 -0
  296. package/dist/time/TimeEventRenderer.test.js +56 -0
  297. package/dist/time/TimeService.d.ts +1 -2
  298. package/dist/time/TimeService.js +1 -1
  299. package/dist/time/TimeTagReplaceCommand.test.d.ts +1 -0
  300. package/dist/time/TimeTagReplaceCommand.test.js +17 -0
  301. package/dist/time/TimeTestUtil.d.ts +1 -1
  302. package/dist/time/TimeTestUtil.js +2 -2
  303. package/dist/time/TimeUrlBuilder.test.d.ts +1 -0
  304. package/dist/time/TimeUrlBuilder.test.js +46 -0
  305. package/dist/time/TitleReplaceCommand.test.d.ts +1 -0
  306. package/dist/time/TitleReplaceCommand.test.js +44 -0
  307. package/dist/time/datasource/ChronologyReplacer.test.d.ts +1 -0
  308. package/dist/time/datasource/ChronologyReplacer.test.js +29 -0
  309. package/dist/time/datasource/CsvMapper.test.d.ts +1 -0
  310. package/dist/time/datasource/CsvMapper.test.js +50 -0
  311. package/dist/time/datasource/DatasourceTestCase.d.ts +1 -1
  312. package/dist/time/datasource/DatasourceTestCase.js +3 -3
  313. package/dist/time/datasource/FileSource.d.ts +2 -1
  314. package/dist/time/datasource/FileSource.js +1 -1
  315. package/dist/time/datasource/JsonMapper.test.d.ts +1 -0
  316. package/dist/time/datasource/JsonMapper.test.js +23 -0
  317. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.d.ts +1 -0
  318. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCaseSummaryRR0Mapper.test.js +72 -0
  319. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.d.ts +1 -0
  320. package/dist/time/datasource/baseovnifrance/BaseOvniFranceCsv.test.js +44 -0
  321. package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.d.ts +1 -0
  322. package/dist/time/datasource/baseovnifrance/BaseOvniFranceDatasource.test.js +30 -0
  323. package/dist/time/datasource/fufora/FuforaDatasource.test.d.ts +1 -0
  324. package/dist/time/datasource/fufora/FuforaDatasource.test.js +30 -0
  325. package/dist/time/datasource/nuforc/NuforcDatasource.test.d.ts +1 -0
  326. package/dist/time/datasource/nuforc/NuforcDatasource.test.js +30 -0
  327. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.d.ts +1 -0
  328. package/dist/time/datasource/nuforc/NuforcRR0Mapper.test.js +110 -0
  329. package/dist/time/datasource/rr0/RR0CaseSummary.d.ts +1 -2
  330. package/dist/time/datasource/rr0/RR0Datasource.test.d.ts +19 -0
  331. package/dist/time/datasource/rr0/RR0Datasource.test.js +82 -0
  332. package/dist/time/datasource/rr0/RR0HttpDatasource.d.ts +1 -1
  333. package/dist/time/datasource/sceau/SceauDatasource.test.d.ts +17 -0
  334. package/dist/time/datasource/sceau/SceauDatasource.test.js +84 -0
  335. package/dist/time/datasource/ufo-search/UfoSearchCaseRR0Mapper.js +1 -1
  336. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.d.ts +1 -0
  337. package/dist/time/datasource/ufo-search/UfoSearchDatasource.test.js +30 -0
  338. package/dist/time/datasource/ufo-search/UfoSearchFileDatasource.js +2 -2
  339. package/dist/time/datasource/urecat/UrecatDatasource.test.d.ts +1 -0
  340. package/dist/time/datasource/urecat/UrecatDatasource.test.js +56 -0
  341. package/dist/time/datasource/urecat/UrecatHttpDatasource.js +1 -1
  342. package/dist/time/html/TimeRenderer.js +1 -1
  343. package/dist/time/html/TimeReplacer.test.d.ts +1 -0
  344. package/dist/time/html/TimeReplacer.test.js +225 -0
  345. package/dist/time/text/RelativeTimeTextBuilder.js +53 -102
  346. package/dist/time/text/RelativeTimeTextBuilder.test.d.ts +1 -0
  347. package/dist/time/text/RelativeTimeTextBuilder.test.js +125 -0
  348. package/dist/time/text/TimeTextBuilder.d.ts +4 -5
  349. package/dist/time/text/TimeTextBuilder.js +8 -21
  350. package/dist/time/text/TimeTextBuilder.test.d.ts +1 -0
  351. package/dist/time/text/TimeTextBuilder.test.js +63 -0
  352. package/dist/util/cli/CLI.test.d.ts +1 -0
  353. package/dist/util/cli/CLI.test.js +13 -0
  354. package/dist/util/html/HtmlTable.test.d.ts +1 -0
  355. package/dist/util/html/HtmlTable.test.js +11 -0
  356. package/dist/util/string/StringUtil.test.d.ts +1 -0
  357. package/dist/util/string/StringUtil.test.js +22 -0
  358. package/dist/util/url/UrlUtil.test.d.ts +1 -0
  359. package/dist/util/url/UrlUtil.test.js +14 -0
  360. package/package.json +11 -6
  361. package/dist/build.js +0 -299
  362. package/dist/data/AbstractDataFactory.d.ts +0 -16
  363. package/dist/data/AbstractDataFactory.js +0 -60
  364. package/dist/data/AbstractDataService.d.ts +0 -12
  365. package/dist/data/AbstractDataService.js +0 -13
  366. package/dist/data/AllDataService.d.ts +0 -16
  367. package/dist/data/AllDataService.js +0 -54
  368. package/dist/data/RR0Data.d.ts +0 -81
  369. package/dist/data/RR0DataFactory.d.ts +0 -7
  370. package/dist/data/TypedDataFactory.d.ts +0 -14
  371. package/dist/data/TypedDataFactory.js +0 -29
  372. package/dist/data/index.d.ts +0 -6
  373. package/dist/data/index.js +0 -6
  374. package/dist/event/RR0Event.d.ts +0 -7
  375. package/dist/event/RR0EventFactory.d.ts +0 -7
  376. package/dist/event/RR0EventFactory.js +0 -21
  377. package/dist/event/index.d.ts +0 -2
  378. package/dist/event/index.js +0 -2
  379. package/dist/org/us/region/mn/kalamazoo/KalamazooCities.js +0 -4
  380. package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.d.ts +0 -3
  381. package/dist/org/us/region/mn/kalamazoo/KalamazooCityCode.js +0 -4
  382. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  383. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_en.js +0 -6
  384. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  385. package/dist/org/us/region/mn/kalamazoo/KalamazooMessages_fr.js +0 -6
  386. package/dist/org/us/region/mn/kalamazoo/galesburg/Galesburg.js +0 -5
  387. package/dist/org/us/region/mn/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  388. package/dist/org/us/region/mo/kalamazoo/KalamazooCities.js +0 -4
  389. package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.d.ts +0 -3
  390. package/dist/org/us/region/mo/kalamazoo/KalamazooCityCode.js +0 -4
  391. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  392. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_en.js +0 -6
  393. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  394. package/dist/org/us/region/mo/kalamazoo/KalamazooMessages_fr.js +0 -6
  395. package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  396. package/dist/org/us/region/mo/kalamazoo/galesburg/Galesburg.js +0 -5
  397. package/dist/org/us/region/mo/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  398. package/dist/org/us/region/ms/kalamazoo/KalamazooCities.js +0 -4
  399. package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.d.ts +0 -3
  400. package/dist/org/us/region/ms/kalamazoo/KalamazooCityCode.js +0 -4
  401. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  402. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_en.js +0 -6
  403. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  404. package/dist/org/us/region/ms/kalamazoo/KalamazooMessages_fr.js +0 -6
  405. package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  406. package/dist/org/us/region/ms/kalamazoo/galesburg/Galesburg.js +0 -5
  407. package/dist/org/us/region/mt/kalamazoo/KalamazooCities.js +0 -4
  408. package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.d.ts +0 -3
  409. package/dist/org/us/region/mt/kalamazoo/KalamazooCityCode.js +0 -4
  410. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  411. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_en.js +0 -6
  412. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  413. package/dist/org/us/region/mt/kalamazoo/KalamazooMessages_fr.js +0 -6
  414. package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  415. package/dist/org/us/region/mt/kalamazoo/galesburg/Galesburg.js +0 -5
  416. package/dist/org/us/region/mt/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  417. package/dist/org/us/region/nh/kalamazoo/Kalamazoo.d.ts +0 -2
  418. package/dist/org/us/region/nh/kalamazoo/KalamazooCities.d.ts +0 -2
  419. package/dist/org/us/region/nh/kalamazoo/KalamazooCities.js +0 -4
  420. package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.d.ts +0 -3
  421. package/dist/org/us/region/nh/kalamazoo/KalamazooCityCode.js +0 -4
  422. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  423. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_en.js +0 -6
  424. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  425. package/dist/org/us/region/nh/kalamazoo/KalamazooMessages_fr.js +0 -6
  426. package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  427. package/dist/org/us/region/nh/kalamazoo/galesburg/Galesburg.js +0 -5
  428. package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
  429. package/dist/org/us/region/nh/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  430. package/dist/org/us/region/nv/kalamazoo/Kalamazoo.d.ts +0 -2
  431. package/dist/org/us/region/nv/kalamazoo/KalamazooCities.d.ts +0 -2
  432. package/dist/org/us/region/nv/kalamazoo/KalamazooCities.js +0 -4
  433. package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.d.ts +0 -3
  434. package/dist/org/us/region/nv/kalamazoo/KalamazooCityCode.js +0 -4
  435. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.d.ts +0 -4
  436. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_en.js +0 -6
  437. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.d.ts +0 -4
  438. package/dist/org/us/region/nv/kalamazoo/KalamazooMessages_fr.js +0 -6
  439. package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.d.ts +0 -1
  440. package/dist/org/us/region/nv/kalamazoo/galesburg/Galesburg.js +0 -5
  441. package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.d.ts +0 -2
  442. package/dist/org/us/region/nv/kalamazoo/galesburg/GalesburgMessages.js +0 -2
  443. package/dist/source/Article.d.ts +0 -4
  444. package/dist/source/ArticleFactory.d.ts +0 -7
  445. package/dist/source/ArticleFactory.js +0 -11
  446. package/dist/source/Source.d.ts +0 -45
  447. package/tsconfig.json +0 -23
  448. package/tsconfig.prod.json +0 -10
  449. /package/dist/{build.d.ts → OpenGraphCommand.test.d.ts} +0 -0
  450. /package/dist/{data/RR0Data.js → RR0Build.test.d.ts} +0 -0
  451. /package/dist/{data/RR0DataFactory.js → anchor/AnchorReplaceCommandTest.d.ts} +0 -0
  452. /package/dist/{event/RR0Event.js → anchor/AnchorReplacerTest.d.ts} +0 -0
  453. /package/dist/{source/Article.js → lang/LanguageReplaceCommant.test.d.ts} +0 -0
  454. /package/dist/{source/Source.js → org/cn/ChinaMessages.js} +0 -0
@@ -0,0 +1,48 @@
1
+ import { Time } from "./Time.js";
2
+ import { TimeContext } from "@rr0/time";
3
+ import { RR0ContextImpl } from "../RR0Context.js";
4
+ import { describe, expect, test } from "@javarome/testscript";
5
+ import { rr0TestUtil } from "../test/index.js";
6
+ import { FileContents } from "@javarome/fileutil";
7
+ describe("Time", () => {
8
+ test("parse", () => {
9
+ const exec = Time.parseFileName("time/-0/0/1/1/index.html");
10
+ let pos = 0;
11
+ expect(exec[++pos]).toBe("-");
12
+ expect(exec[++pos]).toBe("0");
13
+ expect(exec[++pos]).toBe("0");
14
+ expect(exec[++pos]).toBe("1");
15
+ expect(exec[++pos]).toBe("1");
16
+ expect(exec[++pos]).toBeUndefined();
17
+ expect(exec[++pos]).toBeUndefined();
18
+ expect(exec[++pos]).toBe("index.html");
19
+ });
20
+ describe("contextFromFile", () => {
21
+ const config = rr0TestUtil.config;
22
+ const timeContext = new TimeContext();
23
+ const context = new RR0ContextImpl("fr", timeContext, config);
24
+ test("recognize year before 0 AD", () => {
25
+ context.file = new FileContents("time/-0/0/1/1/index.html", "utf-8", "", new Date("2012-08-12"), { lang: "fr", variants: [] });
26
+ const newTimeContext = Time.contextFromFileName(context);
27
+ expect(newTimeContext.getYear()).toBe(-11);
28
+ });
29
+ test("recognize year after 0 AD", () => {
30
+ context.file = new FileContents("time/1/9/7/2/index.html", "utf-8", "", new Date("2012-08-12"), { lang: "fr", variants: [] });
31
+ const newTimeContext = Time.contextFromFileName(context);
32
+ expect(newTimeContext.getYear()).toBe(1972);
33
+ });
34
+ test("recognize month", () => {
35
+ context.file = new FileContents("time/1/9/7/2/08/index.html", "utf-8", "", new Date("2012-08-12"), { lang: "fr", variants: [] });
36
+ const newTimeContext = Time.contextFromFileName(context);
37
+ expect(newTimeContext.getYear()).toBe(1972);
38
+ expect(newTimeContext.getMonth()).toBe(8);
39
+ });
40
+ test("recognize day", () => {
41
+ context.file = new FileContents("time/1/9/7/2/08/12/index.html", "utf-8", "", new Date("2012-08-12"), { lang: "fr", variants: [] });
42
+ const newTimeContext = Time.contextFromFileName(context);
43
+ expect(newTimeContext.getYear()).toBe(1972);
44
+ expect(newTimeContext.getMonth()).toBe(8);
45
+ expect(newTimeContext.getDayOfMonth()).toBe(12);
46
+ });
47
+ });
48
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,56 @@
1
+ import { describe, expect, test } from "@javarome/testscript";
2
+ import { CaseSummaryRenderer } from "./CaseSummaryRenderer.js";
3
+ import { rr0TestUtil } from "../test/index.js";
4
+ import { Place } from "../place/index.js";
5
+ import { franceCity } from "../org/eu/fr/region/FranceCity.js";
6
+ import { HttpSource } from "./datasource/index.js";
7
+ import { TimeContext } from "@rr0/time";
8
+ import { SourceFactory, SourceRenderer } from "../source/index.js";
9
+ import { NoteFileCounter, NoteRenderer } from "../note/index.js";
10
+ import { HautsDeSeineCityCode } from "../org/eu/fr/region/idf/92/HautsDeSeineCityCode.js";
11
+ import { AllDataService } from "@rr0/data";
12
+ describe("TimeEventRenderer", () => {
13
+ const dataService = new AllDataService([]);
14
+ const baseUrl = "https://rr0.org";
15
+ const http = new HttpSource();
16
+ const sourceFactory = new SourceFactory(dataService, http, baseUrl, rr0TestUtil.intlOptions);
17
+ const renderer = new CaseSummaryRenderer(new NoteRenderer(new NoteFileCounter()), sourceFactory, new SourceRenderer(rr0TestUtil.time.timeTextBuilder), rr0TestUtil.time.timeElementFactory);
18
+ test("render event", async () => {
19
+ const context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
20
+ const city = franceCity(HautsDeSeineCityCode.Nanterre, Place.fromLocation(48.891944, 2.207222));
21
+ const dep = city.parent;
22
+ const region = dep.parent;
23
+ const countryMessages = context.messages.country;
24
+ const franceMessages = countryMessages.fr;
25
+ const idfMessages = franceMessages.region[region.id];
26
+ const hautsDeSeineMessages = idfMessages.department[dep.id];
27
+ const cityMessages = hautsDeSeineMessages.city[city.id];
28
+ const namedPlace = {
29
+ place: city.places[0],
30
+ name: cityMessages.toTitle(context, city)
31
+ };
32
+ const sourceMonth = 12;
33
+ const unreacheableSource = {
34
+ events: [], previousSourceRefs: [],
35
+ url: "https://somesite.com/case1",
36
+ title: "Case 1",
37
+ authors: ["Some Author"],
38
+ publication: {
39
+ publisher: "Some site",
40
+ time: TimeContext.fromDate(new Date(2001, sourceMonth - 1, 13))
41
+ }
42
+ };
43
+ const sources = [unreacheableSource];
44
+ const c = {
45
+ events: [], type: "sighting",
46
+ time: context.time,
47
+ place: namedPlace,
48
+ description: "some sighting",
49
+ sources
50
+ };
51
+ const outDoc = context.file.document;
52
+ const elem = outDoc.createElement("li");
53
+ await renderer.render(context, c, elem);
54
+ expect(elem.innerHTML).toBe(`<span class="time-resolved">en <time datetime="1970-03">mars 1970</time></span> À <span class="place">Nanterre (Hauts-de-Seine (Île-de-France (France)))</span>, some sighting <span class="source"><span class="people">Some Author</span>&nbsp;: <a href="https://somesite.com/case1">Case 1</a>, <i>Some site</i>, jeudi 13 décembre 2001</span>.`);
55
+ });
56
+ });
@@ -1,8 +1,7 @@
1
1
  import { TimeRenderer } from "./html/TimeRenderer.js";
2
2
  import { TimeTextBuilder } from "./text/TimeTextBuilder.js";
3
- import { AbstractDataService, AllDataService } from "../data/index.js";
4
- import { RR0Event } from "../event/index.js";
5
3
  import { TimeUrlBuilder } from "./TimeUrlBuilder";
4
+ import { AbstractDataService, AllDataService, RR0Event } from "@rr0/data";
6
5
  export type TimeServiceOptions = {
7
6
  readonly root: string;
8
7
  readonly files: string[];
@@ -1,5 +1,5 @@
1
1
  import { TimeRenderer } from "./html/TimeRenderer.js";
2
- import { AbstractDataService } from "../data/index.js";
2
+ import { AbstractDataService } from "@rr0/data";
3
3
  export class TimeService extends AbstractDataService {
4
4
  constructor(dataService, textBuilder, urlBuilder, options) {
5
5
  super(dataService, null, options.files);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { TimeReplacerFactory } from "./html/TimeReplacerFactory.js";
2
+ import { rr0TestUtil } from "../test/index.js";
3
+ import { describe, expect, test } from "@javarome/testscript";
4
+ import { DomReplaceCommand } from "ssg-api";
5
+ import { TimeReplacer } from "./html/TimeReplacer.js";
6
+ import path from "path";
7
+ describe("HtmlTagReplaceCommand", async () => {
8
+ const timeRoot = rr0TestUtil.time.timeOptions.root;
9
+ await rr0TestUtil.time.getService({ root: path.join(rr0TestUtil.rootDir, timeRoot), files: ["time/2/0/0/4/index.html"] });
10
+ test("replace time tag", async () => {
11
+ const replacer = new TimeReplacer(rr0TestUtil.time.timeElementFactory);
12
+ const command = new DomReplaceCommand("time", new TimeReplacerFactory(replacer));
13
+ const context = rr0TestUtil.time.newHtmlContext("1/9/9/0/08/index.html", `<time>2004</time> <a href="/science/crypto/ufo/enquete/dossier/Roswell">Roswell</a>`);
14
+ await command.execute(context);
15
+ expect(context.file.contents).toBe(`<html><head><meta name="generator" content="ssg-api"></head><body><span class="time-resolved">en <a href="${path.join("/", timeRoot, "2/0/0/4/")}"><time datetime="2004">2004</time></a></span> <a href="/science/crypto/ufo/enquete/dossier/Roswell">Roswell</a></body></html>`);
16
+ });
17
+ });
@@ -9,7 +9,7 @@ export declare class TimeTestUtil {
9
9
  protected timeService: TimeService;
10
10
  fullRoot: string;
11
11
  constructor(rr0TestUtil: RR0TestUtil);
12
- newHtmlContext(inputFileName: string, contents?: string): HtmlRR0Context;
12
+ newHtmlContext(inputFileName: string, contents?: string, locale?: string): HtmlRR0Context;
13
13
  filePath(inputFileName: string): string;
14
14
  url(inputFileName: string): string;
15
15
  getService(options?: TimeServiceOptions): TimeService;
@@ -8,8 +8,8 @@ export class TimeTestUtil {
8
8
  this.timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
9
9
  this.fullRoot = path.join(rr0TestUtil.rootDir, this.timeOptions.root);
10
10
  }
11
- newHtmlContext(inputFileName, contents) {
12
- return rr0TestUtil.newHtmlContext(this.filePath(inputFileName), contents);
11
+ newHtmlContext(inputFileName, contents, locale = "fr") {
12
+ return rr0TestUtil.newHtmlContext(this.filePath(inputFileName), contents, locale);
13
13
  }
14
14
  filePath(inputFileName) {
15
15
  return path.join(this.timeOptions.root, inputFileName);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,46 @@
1
+ import { TimeUrlBuilder } from "./TimeUrlBuilder.js";
2
+ import { TimeContext } from "@rr0/time";
3
+ import { RR0ContextImpl } from "../RR0Context.js";
4
+ import { describe, expect, test } from "@javarome/testscript";
5
+ import { rr0TestUtil } from "../test/index.js";
6
+ import path from "path";
7
+ describe("TimeUrlBuilder", () => {
8
+ const config = rr0TestUtil.config;
9
+ const rootDir = rr0TestUtil.time.fullRoot;
10
+ const timeUrlBuilder = new TimeUrlBuilder({ rootDir });
11
+ test("builds year", () => {
12
+ {
13
+ const context = new RR0ContextImpl("fr", new TimeContext(), config);
14
+ context.time.setYear(2008);
15
+ const url = timeUrlBuilder.fromContext(context.time);
16
+ expect(url).toEqual(path.join(rootDir, "2/0/0/8"));
17
+ }
18
+ {
19
+ const context = new RR0ContextImpl("fr", new TimeContext(), config);
20
+ context.time.setYear(2012);
21
+ context.time.setMonth(8);
22
+ context.time.setDayOfMonth(12);
23
+ context.time.setYear(2020); // Resets month and day
24
+ const url = timeUrlBuilder.fromContext(context.time);
25
+ expect(url).toEqual(path.join(rootDir, "2/0/2/0"));
26
+ }
27
+ });
28
+ test("builds month", () => {
29
+ {
30
+ const context = new RR0ContextImpl("fr", new TimeContext(), config);
31
+ context.time.setYear(2001);
32
+ context.time.setMonth(9);
33
+ const url = timeUrlBuilder.fromContext(context.time);
34
+ expect(url).toBe(path.join(rootDir, "2/0/0/1/09"));
35
+ }
36
+ {
37
+ const context = new RR0ContextImpl("fr", new TimeContext(), config);
38
+ context.time.setYear(2012);
39
+ context.time.setMonth(8);
40
+ context.time.setDayOfMonth(12);
41
+ context.time.setMonth(2);
42
+ const url = timeUrlBuilder.fromContext(context.time);
43
+ expect(url).toEqual(path.join(rootDir, "2/0/1/2/02"));
44
+ }
45
+ });
46
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ import { SsiTitleReplaceCommand } from "./SsiTitleReplaceCommand.js";
2
+ import { rr0TestUtil } from "../test/index.js";
3
+ import { describe, expect, test } from "@javarome/testscript";
4
+ import { Time } from "./Time.js";
5
+ describe("TitleReplaceCommand", () => {
6
+ let timeTextBuilder = rr0TestUtil.time.timeTextBuilder;
7
+ const timeDefaultHandler = (context) => {
8
+ let title;
9
+ title = Time.titleFromFile(context, context.file.name, timeTextBuilder);
10
+ return title;
11
+ };
12
+ describe("Time page", () => {
13
+ const fileName = rr0TestUtil.time.filePath("1/9/5/4/index.html");
14
+ test("default title with no handler", async () => {
15
+ const command = new SsiTitleReplaceCommand();
16
+ const context = rr0TestUtil.newHtmlContext(fileName, `This is about <!--#echo var="title" -->!`);
17
+ await command.execute(context);
18
+ const fullPath = rr0TestUtil.filePath(fileName);
19
+ expect(context.file.title).toBe(fullPath);
20
+ expect(context.file.contents).toBe(`<html><head><title>${rr0TestUtil.filePath(fileName)}</title></head><body>This is about ${fullPath}!</body></html>`);
21
+ });
22
+ test("default title with handler", async () => {
23
+ const command = new SsiTitleReplaceCommand([timeDefaultHandler]);
24
+ const context = rr0TestUtil.newHtmlContext(fileName, `This is about <!--#echo var="title" -->!`);
25
+ await command.execute(context);
26
+ expect(context.file.title).toBe("1954");
27
+ expect(context.file.contents).toBe(`<html><head><title>1954</title></head><body>This is about 1954!</body></html>`);
28
+ });
29
+ test("default month title with handler", async () => {
30
+ const command = new SsiTitleReplaceCommand([timeDefaultHandler]);
31
+ const context = rr0TestUtil.time.newHtmlContext("1/9/5/4/10/index.html", `This is about <!--#echo var="title" -->!`);
32
+ await command.execute(context);
33
+ expect(context.file.title).toBe("Octobre 1954");
34
+ expect(context.file.contents).toBe(`<html><head><title>Octobre 1954</title></head><body>This is about Octobre 1954!</body></html>`);
35
+ });
36
+ test("default day of month title with handler", async () => {
37
+ const command = new SsiTitleReplaceCommand([timeDefaultHandler]);
38
+ const context = rr0TestUtil.time.newHtmlContext("1/9/5/4/10/01/index.html", `This is about <!--#echo var="title" -->!`);
39
+ await command.execute(context);
40
+ expect(context.file.title).toBe("Vendredi 1 octobre 1954");
41
+ expect(context.file.contents).toBe(`<html><head><title>Vendredi 1 octobre 1954</title></head><body>This is about Vendredi 1 octobre 1954!</body></html>`);
42
+ });
43
+ });
44
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import { beforeEach, describe, test } from "@javarome/testscript";
2
+ import { ChronologyReplacer } from "./ChronologyReplacer.js";
3
+ import { CaseSummaryRenderer } from "../CaseSummaryRenderer.js";
4
+ import { urecatRR0Mapping } from "./urecat/index.js";
5
+ import { rr0TestUtil } from "../../test/index.js";
6
+ import { SourceFactory, SourceRenderer } from "../../source/index.js";
7
+ import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
8
+ import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
9
+ import { HttpSource } from "./HttpSource.js";
10
+ import { AllDataService } from "@rr0/data";
11
+ describe("ChronologyReplacer", () => {
12
+ let context;
13
+ let chronologyReplacer;
14
+ beforeEach(() => {
15
+ const dataService = new AllDataService([]);
16
+ const baseUrl = "https://rr0.org";
17
+ const http = new HttpSource();
18
+ const sourceFactory = new SourceFactory(dataService, http, baseUrl, rr0TestUtil.intlOptions);
19
+ const timeTextBuilder = new TimeTextBuilder(rr0TestUtil.intlOptions);
20
+ const caseRenderer = new CaseSummaryRenderer(new NoteRenderer(new NoteFileCounter()), sourceFactory, new SourceRenderer(timeTextBuilder), rr0TestUtil.time.timeElementFactory);
21
+ chronologyReplacer = new ChronologyReplacer([urecatRR0Mapping], caseRenderer);
22
+ context = rr0TestUtil.time.newHtmlContext("index.html");
23
+ context.time.setYear(undefined);
24
+ // context.time.setMonth(3)
25
+ });
26
+ test("save", () => {
27
+ const replacement = chronologyReplacer.replacement(context, context.file.document.querySelector("ul"));
28
+ });
29
+ });
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,50 @@
1
+ import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
+ import fs from "fs";
3
+ import { CsvMapper } from "./CsvMapper.js";
4
+ import { rr0TestUtil } from "../../test/index.js";
5
+ import path from "path";
6
+ import * as process from "node:process";
7
+ import { geipanTestCaseSummaries } from "../../org/eu/fr/cnes/geipan/geipan/GeipanTestCases.js";
8
+ import { geipanFileDatasource, geipanHttpDatasource } from "../../org/eu/fr/cnes/geipan/geipan/GeipanRR0Mapping.js";
9
+ import { GeipanCaseToSummaryMapper } from "../../org/eu/fr/cnes/geipan/geipan/GeipanCaseToSummaryMapper.js";
10
+ describe("CsvMapper", () => {
11
+ const dataDate = new Date("2024-08-12 00:00:00 GMT+1");
12
+ let context;
13
+ let mapper;
14
+ beforeEach(() => {
15
+ context = rr0TestUtil.newContext(path.join(rr0TestUtil.rootDir, "time/1/9/7/0/03/index.html"));
16
+ mapper = new CsvMapper();
17
+ });
18
+ test("columns for a case", () => {
19
+ mapper.map(context, geipanTestCaseSummaries[0], dataDate);
20
+ expect(Array.from(mapper.fields).sort()).toEqual(["city", "classification", "id", "postTime", "time", "url", "zoneCode", "zoneType"]);
21
+ });
22
+ test("values of a case", () => {
23
+ const obj = geipanTestCaseSummaries[0];
24
+ const csvRow = mapper.map(context, obj, dataDate);
25
+ expect(csvRow).toBe(`${obj.id},${obj.url},${obj.city},${obj.zoneType},${obj.zoneCode},${obj.time},${obj.postTime},${obj.classification}`);
26
+ });
27
+ test("write", () => {
28
+ const csvContents = mapper.mapAll(context, geipanTestCaseSummaries, dataDate);
29
+ const expectedCsv = "id,url,city,zoneType,zoneCode,dateTime,postTime,classification\n"
30
+ + geipanTestCaseSummaries
31
+ .map(c => `${c.id},${c.url},${c.city},${c.zoneType},${c.zoneCode},${c.time},${c.postTime},${c.classification}`)
32
+ .join("\n");
33
+ expect(csvContents).toBe(expectedCsv);
34
+ });
35
+ test("read", () => {
36
+ const fileMapper = new CsvMapper(";");
37
+ const fileName = path.join(process.cwd(), geipanFileDatasource.defaultFileName);
38
+ const data = fs.readFileSync(fileName, { encoding: "latin1" });
39
+ const csvMapper = new GeipanCaseToSummaryMapper(geipanHttpDatasource.baseUrl, geipanHttpDatasource.searchPath, geipanHttpDatasource.authors);
40
+ const parsed = fileMapper.parse(data);
41
+ const cases = parsed.map(csvCase => csvMapper.map(context, csvCase, dataDate));
42
+ expect(cases.length).toEqual(2768);
43
+ const expected1 = geipanTestCaseSummaries[0];
44
+ const case1 = cases.find(c => c.id === expected1.id);
45
+ expect(case1).toEqual(expected1);
46
+ const expected2 = geipanTestCaseSummaries[1];
47
+ const case2 = cases.find(c => c.id === expected2.id);
48
+ expect(case2).toEqual(expected2);
49
+ });
50
+ });
@@ -1,8 +1,8 @@
1
1
  import { HtmlRR0Context } from "../../RR0Context.js";
2
2
  import { TimeContext } from "@rr0/time";
3
3
  import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
4
- import { Source } from "../../source/index.js";
5
4
  import { RR0CaseMapping } from "./rr0/index.js";
5
+ import { Source } from "@rr0/data/dist/source";
6
6
  export declare abstract class DatasourceTestCase<S> {
7
7
  readonly mapping: RR0CaseMapping<S>;
8
8
  readonly sourceCases: S[];
@@ -3,11 +3,11 @@ import { CaseSummaryRenderer } from "../CaseSummaryRenderer.js";
3
3
  import { TimeTextBuilder } from "../text/TimeTextBuilder.js";
4
4
  import { SourceFactory, SourceRenderer } from "../../source/index.js";
5
5
  import { NoteFileCounter, NoteRenderer } from "../../note/index.js";
6
- import { AllDataService } from "../../data/index.js";
7
6
  import { HttpSource } from "./HttpSource.js";
8
7
  import { TimeElementFactory } from "../html/TimeElementFactory.js";
9
8
  import { TimeRenderer } from "../html/TimeRenderer.js";
10
9
  import { rr0TestUtil } from "../../test";
10
+ import { AllDataService } from "@rr0/data";
11
11
  export class DatasourceTestCase {
12
12
  constructor(mapping, sourceCases, intlOptions = {
13
13
  year: "numeric",
@@ -28,7 +28,7 @@ export class DatasourceTestCase {
28
28
  const time = this.getTime(nativeCase);
29
29
  const caseContext = context.clone();
30
30
  Object.assign(caseContext, { time });
31
- const timeStr = this.timeTextBuilder.build(caseContext, true);
31
+ const timeStr = this.timeTextBuilder.build(caseContext);
32
32
  const placeStr = expected.place ? ` À <span class="place">${expected.place.name}</span>` : "";
33
33
  const expectedSources = expected.sources;
34
34
  const sourceStr = (expectedSources === null || expectedSources === void 0 ? void 0 : expectedSources.length) > 0 ? this.expectedSourceStr(context, expectedSources, nativeCase) : "";
@@ -69,7 +69,7 @@ export class DatasourceTestCase {
69
69
  const source = expectedSources[0];
70
70
  const sourceContext = context.clone();
71
71
  sourceContext.time = source.publication.time;
72
- const publicationStr = source.publication ? `, ${this.timeTextBuilder.build(sourceContext, true)}` : "";
72
+ const publicationStr = source.publication ? `, ${this.timeTextBuilder.build(sourceContext)}` : "";
73
73
  const indexStr = source.index ? `, ${source.index}` : "";
74
74
  const authorStr = datasource.authors.map(authorStr => `<span class="people">${authorStr}</span>`).join(" &amp; ");
75
75
  const title = `cas n° ${nativeCase["id"]}`;
@@ -1,5 +1,6 @@
1
1
  import { Datasource } from "./Datasource.js";
2
- import { FileContents, HtmlSsgContext } from "ssg-api";
2
+ import { HtmlSsgContext } from "ssg-api";
3
+ import { FileContents } from "@javarome/fileutil";
3
4
  export declare class FileSource {
4
5
  protected encoding: BufferEncoding;
5
6
  protected static readonly specialChars: RegExp;
@@ -1,7 +1,7 @@
1
1
  import { StringUtil } from "../../util/string/StringUtil.js";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
- import { FileContents } from "ssg-api";
4
+ import { FileContents } from "@javarome/fileutil";
5
5
  export class FileSource {
6
6
  constructor(encoding) {
7
7
  this.encoding = encoding;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
+ import fs from "fs";
3
+ import { ufoSearchFileDatasource } from "./ufo-search/index.js";
4
+ import { rr0TestUtil } from "../../test/index.js";
5
+ import { ufoSearchTestCases } from "./ufo-search/UfoSearchTestCases.js";
6
+ import path from "path";
7
+ describe("JsonMapper", () => {
8
+ let context;
9
+ beforeEach(() => {
10
+ context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html", undefined, "en");
11
+ });
12
+ test("read", () => {
13
+ const data = fs.readFileSync(path.join("src", ufoSearchFileDatasource.fileName), { encoding: "utf-8" });
14
+ const cases = ufoSearchFileDatasource.fileMapper.parse(context, data);
15
+ expect(cases.length).toEqual(54751);
16
+ const expected1 = ufoSearchTestCases[0];
17
+ const case1 = cases.find(c => c.key_vals.url === expected1.key_vals.url);
18
+ expect(case1).toEqual(expected1);
19
+ const expected2 = ufoSearchTestCases[1];
20
+ const case2 = cases.find(c => c.key_vals.url === expected2.key_vals.url);
21
+ expect(case2).toEqual(expected2);
22
+ });
23
+ });
@@ -0,0 +1,72 @@
1
+ import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
+ import { rr0TestUtil } from "../../../test/index.js";
3
+ import { TimeContext } from "@rr0/time";
4
+ import { baseOvniFranceTestCases } from "./BaseOvniFranceTestCases.js";
5
+ import { baseOvniFranceDatasource, baseOvniFranceRR0Mapper } from "./BaseOvniFranceRR0Mapping.js";
6
+ import { leMans72 } from "../../../org/eu/fr/region/pdl/72/LeMans/LeMans.js";
7
+ import { lyon69 } from "../../../org/eu/fr/region/ara/69/Lyon/Lyon.js";
8
+ import { briancon05 } from "../../../org/eu/fr/region/pac/05/briancon/Briancon.js";
9
+ import { chambonSurVoueize23 } from "../../../org/eu/fr/region/naq/23/Chambon/Chambon.js";
10
+ function expectedSource(datasource, dataDate, caseNumber) {
11
+ const url = new URL(datasource.searchPath + "?typlist=20&page=0&numobs=" + caseNumber, datasource.baseUrl).href;
12
+ return {
13
+ previousSourceRefs: [], events: [],
14
+ url, title: "cas n° " + caseNumber, authors: datasource.authors,
15
+ publication: { publisher: datasource.copyright, time: TimeContext.fromDate(dataDate) }
16
+ };
17
+ }
18
+ describe("BaseOvniFranceCaseSource", () => {
19
+ let context;
20
+ beforeEach(() => {
21
+ context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
22
+ context.time.setYear(1970);
23
+ context.time.setMonth(3);
24
+ });
25
+ test("map as RR0 cases", async () => {
26
+ const dataDate = new Date("2024-08-12 00:00:00 GMT+1");
27
+ const mapped = baseOvniFranceTestCases.map(sourceCase => baseOvniFranceRR0Mapper.map(context, sourceCase, dataDate));
28
+ const nativeCase1 = baseOvniFranceTestCases[0];
29
+ const nativeCase1Time = nativeCase1.time;
30
+ const nativeCase2 = baseOvniFranceTestCases[1];
31
+ const nativeCase2Time = nativeCase2.time;
32
+ const nativeCase3 = baseOvniFranceTestCases[2];
33
+ const nativeCase3Time = nativeCase3.time;
34
+ const nativeCase4 = baseOvniFranceTestCases[3];
35
+ const nativeCase4Time = nativeCase4.time;
36
+ const expected = [
37
+ {
38
+ type: "sighting",
39
+ events: [],
40
+ time: new TimeContext(nativeCase1Time.getYear(), nativeCase1Time.getMonth(), nativeCase1Time.getDayOfMonth(), nativeCase1Time.getHour(), nativeCase1Time.getMinutes(), nativeCase1Time.getTimeZone()),
41
+ place: { name: "Le Mans", place: leMans72.places[0] },
42
+ description: "observation",
43
+ sources: [expectedSource(baseOvniFranceDatasource, dataDate, nativeCase1.id)]
44
+ },
45
+ {
46
+ type: "sighting",
47
+ events: [],
48
+ time: new TimeContext(nativeCase2Time.getYear(), nativeCase2Time.getMonth(), nativeCase2Time.getDayOfMonth(), nativeCase2Time.getHour(), nativeCase2Time.getMinutes(), nativeCase2Time.getTimeZone()),
49
+ place: { name: "Lyon", place: lyon69.places[0] },
50
+ description: "observation",
51
+ sources: [expectedSource(baseOvniFranceDatasource, dataDate, nativeCase2.id)]
52
+ },
53
+ {
54
+ type: "sighting",
55
+ events: [],
56
+ time: new TimeContext(nativeCase3Time.getYear(), nativeCase3Time.getMonth(), nativeCase3Time.getDayOfMonth(), nativeCase3Time.getHour(), nativeCase3Time.getMinutes(), nativeCase3Time.getTimeZone()),
57
+ place: { name: "Briançon", place: briancon05.places[0] },
58
+ description: "observation",
59
+ sources: [expectedSource(baseOvniFranceDatasource, dataDate, nativeCase3.id)]
60
+ },
61
+ {
62
+ type: "sighting",
63
+ events: [],
64
+ time: new TimeContext(nativeCase4Time.getYear(), nativeCase4Time.getMonth(), nativeCase4Time.getDayOfMonth(), nativeCase4Time.getHour(), nativeCase4Time.getMinutes(), nativeCase4Time.getTimeZone()),
65
+ place: { name: "Chambon-sur-Voueize", place: chambonSurVoueize23.places[0] },
66
+ description: "observation",
67
+ sources: [expectedSource(baseOvniFranceDatasource, dataDate, nativeCase4.id)]
68
+ }
69
+ ];
70
+ expect(mapped).toEqual(expected);
71
+ });
72
+ });
@@ -0,0 +1,44 @@
1
+ import { beforeEach, describe, expect, test } from "@javarome/testscript";
2
+ import { CsvMapper } from "../CsvMapper.js";
3
+ import { rr0TestUtil } from "../../../test/index.js";
4
+ import { baseOvniFranceTestCases } from "./BaseOvniFranceTestCases.js";
5
+ import fs from "fs";
6
+ import { baseOvniFranceDatasource, baseOvniFranceSortComparator } from "./BaseOvniFranceRR0Mapping.js";
7
+ import { BaseOvniFranceCaseSummaryMapper } from "./BaseOvniFranceCaseSummaryMapper.js";
8
+ describe("Base OVNI France CSV mapping", () => {
9
+ const dataDate = new Date("2024-08-12 00:00:00 GMT+1");
10
+ let context;
11
+ let mapper;
12
+ beforeEach(() => {
13
+ context = rr0TestUtil.newContext("time/1/9/7/0/03/index.html");
14
+ mapper = new CsvMapper();
15
+ });
16
+ test("columns for a case", () => {
17
+ mapper.map(context, baseOvniFranceTestCases[0], dataDate);
18
+ expect(Array.from(mapper.fields)).toEqual(["caseNumber", "url", "city", "depCode", "dateTime", "physicalEffect", "witnessEffect", "entities", "landing"]);
19
+ });
20
+ test("values of a case", () => {
21
+ const obj = baseOvniFranceTestCases[0];
22
+ const csvRow = mapper.map(context, obj, dataDate);
23
+ expect(csvRow).toBe(`${obj.id},${obj.url},${obj.city},${obj.depCode},${obj.time.toString()},${obj.landing},${obj.entities},${obj.witnessEffect},${obj.physicalEffect}`);
24
+ });
25
+ test("write", () => {
26
+ const csvContents = mapper.mapAll(context, baseOvniFranceTestCases, dataDate);
27
+ const case1 = baseOvniFranceTestCases[0];
28
+ expect(csvContents).toBe(`caseNumber,url,city,depCode,dateTime,physicalEffect,witnessEffect,entities,landing
29
+ ${case1.id},http://baseovnifrance.free.fr/listgen.php?typlist=20&page=0&numobs=2760,Le Mans,72,1970-03 16:00,false,false,false,false
30
+ 1650,http://baseovnifrance.free.fr/listgen.php?typlist=20&page=0&numobs=1650,Lyon,69,1970-03-12 07:40,false,false,false,false
31
+ 3088,http://baseovnifrance.free.fr/listgen.php?typlist=20&page=0&numobs=3088,Briançon,05,1970-03-16 20:00,false,false,false,false
32
+ 1655,http://baseovnifrance.free.fr/listgen.php?typlist=20&page=0&numobs=1655,Chambon sur Voueize,23,1970-03-17 19:15,false,false,false,false`);
33
+ });
34
+ test("read", () => {
35
+ const fileMapper = new CsvMapper("&");
36
+ const data = fs.readFileSync("time/1/9/7/7/03/05_03_24_1709676761.txt", { encoding: "latin1" });
37
+ const csvMapper = new BaseOvniFranceCaseSummaryMapper(baseOvniFranceDatasource.baseUrl, baseOvniFranceDatasource.searchPath, baseOvniFranceDatasource.authors);
38
+ const cases = fileMapper.parse(data)
39
+ .map(csvCase => csvMapper.map(context, csvCase, dataDate))
40
+ .sort(baseOvniFranceSortComparator);
41
+ const expected = baseOvniFranceTestCases.sort(baseOvniFranceSortComparator);
42
+ expect(cases).toEqual(expected);
43
+ });
44
+ });
@@ -0,0 +1,30 @@
1
+ import { beforeEach, describe, test } from "@javarome/testscript";
2
+ import { rr0TestUtil } from "../../../test/index.js";
3
+ import { baseOvniFranceTestCases } from "./BaseOvniFranceTestCases.js";
4
+ import { DatasourceTestCase } from "../DatasourceTestCase.js";
5
+ import { baseOvniFranceRR0Mapping, baseOvniFranceSortComparator } from "./BaseOvniFranceRR0Mapping.js";
6
+ describe("BaseOvniFranceCaseSource", () => {
7
+ const testCase = new class extends DatasourceTestCase {
8
+ constructor(mapping, sourceCases) {
9
+ super(mapping, sourceCases);
10
+ }
11
+ getTime(c) {
12
+ return c.time;
13
+ }
14
+ sortComparator(c1, c2) {
15
+ return baseOvniFranceSortComparator(c1, c2);
16
+ }
17
+ }(baseOvniFranceRR0Mapping, baseOvniFranceTestCases);
18
+ let context;
19
+ beforeEach(() => {
20
+ context = rr0TestUtil.time.newHtmlContext("1/9/7/0/03/index.html");
21
+ context.time.setYear(1970);
22
+ context.time.setMonth(3);
23
+ });
24
+ test("fetch", async () => {
25
+ await testCase.testFetch(context);
26
+ });
27
+ test("render", async () => {
28
+ await testCase.testRender(context);
29
+ });
30
+ });