@vived/app 5.1.2 → 5.3.0

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 (207) hide show
  1. package/dist/cjs/Babylon/Mocks/MockBabylonRenderingUC.js +3 -3
  2. package/dist/cjs/Babylon/Mocks/MockBabylonRenderingUC.js.map +1 -1
  3. package/dist/cjs/Babylon/Mocks/MockPixelToSceneRayUC.js +1 -1
  4. package/dist/cjs/Babylon/Mocks/MockPixelToSceneRayUC.js.map +1 -1
  5. package/dist/cjs/Babylon/Mocks/MockScenePixelPickUC.js +1 -1
  6. package/dist/cjs/Babylon/Mocks/MockScenePixelPickUC.js.map +1 -1
  7. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js +1 -3
  8. package/dist/cjs/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  9. package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js +1 -1
  10. package/dist/cjs/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
  11. package/dist/cjs/Babylon/UC/PixelToSceneRayUC.test.js +2 -0
  12. package/dist/cjs/Babylon/UC/PixelToSceneRayUC.test.js.map +1 -1
  13. package/dist/cjs/Babylon/UC/ScenePixelPickUC.test.js +2 -0
  14. package/dist/cjs/Babylon/UC/ScenePixelPickUC.test.js.map +1 -1
  15. package/dist/cjs/BaseApp/UC/RenderCanvasUC.test.js +6 -0
  16. package/dist/cjs/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
  17. package/dist/cjs/Callouts/UC/TryAddCallout.test.js +1 -0
  18. package/dist/cjs/Callouts/UC/TryAddCallout.test.js.map +1 -1
  19. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js +3 -1
  20. package/dist/cjs/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  21. package/dist/cjs/HoverLabel/Controllers/HoverLabelMouse.js.map +1 -1
  22. package/dist/cjs/HoverLabel/Controllers/HoverLabelTouch.js.map +1 -1
  23. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js +9 -3
  24. package/dist/cjs/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  25. package/dist/cjs/LabelDrop/Controller/MouseLabelDropAuthor.js.map +1 -1
  26. package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.js.map +1 -1
  27. package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.test.js +4 -1
  28. package/dist/cjs/LabelDrop/Controller/TouchLabelDropAuthor.test.js.map +1 -1
  29. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +5 -2
  30. package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  31. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +1 -0
  32. package/dist/cjs/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  33. package/dist/cjs/Landmarks/Controller/MouseLandmark.js.map +1 -1
  34. package/dist/cjs/Landmarks/Controller/TouchLandmark.js.map +1 -1
  35. package/dist/cjs/MouseInput/Entities/MouseInput.js.map +1 -1
  36. package/dist/cjs/MouseInput/Mocks/MockMouseInput.js +4 -5
  37. package/dist/cjs/MouseInput/Mocks/MockMouseInput.js.map +1 -1
  38. package/dist/cjs/MouseInput/Mocks/index.js.map +1 -1
  39. package/dist/cjs/MouseInput/index.js.map +1 -1
  40. package/dist/cjs/ObjectPick/Controllers/MouseObjectPickMC.js.map +1 -1
  41. package/dist/cjs/ObjectPick/Controllers/StylusObjectPickSC.js.map +1 -1
  42. package/dist/cjs/ObjectPick/Controllers/TouchObjectPickTC.js.map +1 -1
  43. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +1 -0
  44. package/dist/cjs/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  45. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
  46. package/dist/cjs/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  47. package/dist/cjs/SceneRoot/Controllers/DoubleTapToFocus.js.map +1 -1
  48. package/dist/cjs/SceneRoot/Controllers/MouseClickToFocus.js.map +1 -1
  49. package/dist/cjs/SceneRoot/Controllers/MouseOrbit.js.map +1 -1
  50. package/dist/cjs/SceneRoot/Controllers/MouseRoll.js.map +1 -1
  51. package/dist/cjs/SceneRoot/Controllers/MouseScale.js.map +1 -1
  52. package/dist/cjs/SceneRoot/Controllers/ScaleSceneRootSC.js.map +1 -1
  53. package/dist/cjs/SceneRoot/Controllers/SceneRootMoveSC.js.map +1 -1
  54. package/dist/cjs/SceneRoot/Controllers/TouchOrbit.js.map +1 -1
  55. package/dist/cjs/SceneRoot/Controllers/TouchPan.js.map +1 -1
  56. package/dist/cjs/SceneRoot/Controllers/TouchPinch.js.map +1 -1
  57. package/dist/cjs/SceneRoot/Controllers/TouchScale.js.map +1 -1
  58. package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.js.map +1 -1
  59. package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.test.js +1 -0
  60. package/dist/cjs/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
  61. package/dist/cjs/Selection/Controller/MousePressOnAppObject.js.map +1 -1
  62. package/dist/cjs/Selection/Controller/MousePressOnAppObject.test.js +1 -0
  63. package/dist/cjs/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
  64. package/dist/cjs/Selection/Controller/MouseSelectAppObject.js.map +1 -1
  65. package/dist/cjs/Selection/Controller/MouseSelectAppObject.test.js +1 -0
  66. package/dist/cjs/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
  67. package/dist/cjs/Selection/Controller/StylusHoverOnAppObjectSC.js.map +1 -1
  68. package/dist/cjs/Selection/Controller/StylusPressOnAppObjectSC.js.map +1 -1
  69. package/dist/cjs/Selection/Controller/StylusSelectAppObjectSC.js.map +1 -1
  70. package/dist/cjs/Selection/Controller/TapToSelectAppObject.js.map +1 -1
  71. package/dist/cjs/Selection/Controller/TouchPressOnAppObject.js.map +1 -1
  72. package/dist/cjs/Stick/Controllers/DoubleClickToStickMC.js.map +1 -1
  73. package/dist/cjs/Stick/Controllers/DoubleTapToStickTC.js.map +1 -1
  74. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js +3 -1
  75. package/dist/cjs/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  76. package/dist/cjs/Stylus/Entity/StylusEntity.js.map +1 -1
  77. package/dist/cjs/Stylus/Entity/StylusEntity.test.js.map +1 -1
  78. package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js +3 -1
  79. package/dist/cjs/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
  80. package/dist/cjs/TouchController/Entities/TouchInput.js.map +1 -1
  81. package/dist/cjs/Transform3D/Controllers/Mouse/DragScaleTransformMC.js.map +1 -1
  82. package/dist/cjs/Transform3D/Controllers/Mouse/MousePanTransformMC.js.map +1 -1
  83. package/dist/cjs/Transform3D/Controllers/Mouse/PanTransformMC.js.map +1 -1
  84. package/dist/cjs/Transform3D/Controllers/Mouse/RollScaleTransformMC.js.map +1 -1
  85. package/dist/cjs/Transform3D/Controllers/Stylus/MoveTransformSC.js.map +1 -1
  86. package/dist/cjs/Transform3D/Controllers/Stylus/PanScaleTransformSC.js.map +1 -1
  87. package/dist/cjs/Transform3D/Controllers/Touch/DragScaleTransformTC.js.map +1 -1
  88. package/dist/cjs/Transform3D/Controllers/Touch/PanTransformTC.js.map +1 -1
  89. package/dist/cjs/Transform3D/Controllers/Touch/PinchTransformTC.js.map +1 -1
  90. package/dist/cjs/Transform3D/Controllers/Touch/TouchPanTransformTC.js.map +1 -1
  91. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +1 -0
  92. package/dist/cjs/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  93. package/dist/cjs/Transform3D/UC/PinchTransform.test.js +1 -0
  94. package/dist/cjs/Transform3D/UC/PinchTransform.test.js.map +1 -1
  95. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js +1 -0
  96. package/dist/cjs/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  97. package/dist/esm/Babylon/Mocks/MockBabylonRenderingUC.js +3 -3
  98. package/dist/esm/Babylon/Mocks/MockBabylonRenderingUC.js.map +1 -1
  99. package/dist/esm/Babylon/Mocks/MockPixelToSceneRayUC.js +1 -1
  100. package/dist/esm/Babylon/Mocks/MockPixelToSceneRayUC.js.map +1 -1
  101. package/dist/esm/Babylon/Mocks/MockScenePixelPickUC.js +1 -1
  102. package/dist/esm/Babylon/Mocks/MockScenePixelPickUC.js.map +1 -1
  103. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js +1 -3
  104. package/dist/esm/Babylon/Mocks/MockSceneRayPickUC.js.map +1 -1
  105. package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js +1 -1
  106. package/dist/esm/Babylon/Mocks/ShowBabylonInspectorPmMock.js.map +1 -1
  107. package/dist/esm/Babylon/UC/PixelToSceneRayUC.test.js +2 -0
  108. package/dist/esm/Babylon/UC/PixelToSceneRayUC.test.js.map +1 -1
  109. package/dist/esm/Babylon/UC/ScenePixelPickUC.test.js +2 -0
  110. package/dist/esm/Babylon/UC/ScenePixelPickUC.test.js.map +1 -1
  111. package/dist/esm/BaseApp/UC/RenderCanvasUC.test.js +6 -0
  112. package/dist/esm/BaseApp/UC/RenderCanvasUC.test.js.map +1 -1
  113. package/dist/esm/Callouts/UC/TryAddCallout.test.js +1 -0
  114. package/dist/esm/Callouts/UC/TryAddCallout.test.js.map +1 -1
  115. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js +3 -1
  116. package/dist/esm/Hideable/UCs/TryHideWithPickUC.test.js.map +1 -1
  117. package/dist/esm/HoverLabel/Controllers/HoverLabelMouse.js.map +1 -1
  118. package/dist/esm/HoverLabel/Controllers/HoverLabelTouch.js.map +1 -1
  119. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js +9 -3
  120. package/dist/esm/HoverLabel/UseCases/TryShowHoverLabel.test.js.map +1 -1
  121. package/dist/esm/LabelDrop/Controller/MouseLabelDropAuthor.js.map +1 -1
  122. package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.js.map +1 -1
  123. package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.test.js +4 -1
  124. package/dist/esm/LabelDrop/Controller/TouchLabelDropAuthor.test.js.map +1 -1
  125. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +5 -2
  126. package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
  127. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js +1 -0
  128. package/dist/esm/LabelDrop/UseCases/ToggleLabelDropTargetUC.test.js.map +1 -1
  129. package/dist/esm/Landmarks/Controller/MouseLandmark.js.map +1 -1
  130. package/dist/esm/Landmarks/Controller/TouchLandmark.js.map +1 -1
  131. package/dist/esm/MouseInput/Entities/MouseInput.js.map +1 -1
  132. package/dist/esm/MouseInput/Mocks/MockMouseInput.js +4 -5
  133. package/dist/esm/MouseInput/Mocks/MockMouseInput.js.map +1 -1
  134. package/dist/esm/MouseInput/Mocks/index.js.map +1 -1
  135. package/dist/esm/MouseInput/index.js.map +1 -1
  136. package/dist/esm/ObjectPick/Controllers/MouseObjectPickMC.js.map +1 -1
  137. package/dist/esm/ObjectPick/Controllers/StylusObjectPickSC.js.map +1 -1
  138. package/dist/esm/ObjectPick/Controllers/TouchObjectPickTC.js.map +1 -1
  139. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js +1 -0
  140. package/dist/esm/ObjectPick/UseCases/TrySelectObjectPickUC.test.js.map +1 -1
  141. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js +1 -0
  142. package/dist/esm/ObjectPick/UseCases/TrySubmitObjectPickUC.test.js.map +1 -1
  143. package/dist/esm/SceneRoot/Controllers/DoubleTapToFocus.js.map +1 -1
  144. package/dist/esm/SceneRoot/Controllers/MouseClickToFocus.js.map +1 -1
  145. package/dist/esm/SceneRoot/Controllers/MouseOrbit.js.map +1 -1
  146. package/dist/esm/SceneRoot/Controllers/MouseRoll.js.map +1 -1
  147. package/dist/esm/SceneRoot/Controllers/MouseScale.js.map +1 -1
  148. package/dist/esm/SceneRoot/Controllers/ScaleSceneRootSC.js.map +1 -1
  149. package/dist/esm/SceneRoot/Controllers/SceneRootMoveSC.js.map +1 -1
  150. package/dist/esm/SceneRoot/Controllers/TouchOrbit.js.map +1 -1
  151. package/dist/esm/SceneRoot/Controllers/TouchPan.js.map +1 -1
  152. package/dist/esm/SceneRoot/Controllers/TouchPinch.js.map +1 -1
  153. package/dist/esm/SceneRoot/Controllers/TouchScale.js.map +1 -1
  154. package/dist/esm/Selection/Controller/MouseHoverOnAppObject.js.map +1 -1
  155. package/dist/esm/Selection/Controller/MouseHoverOnAppObject.test.js +1 -0
  156. package/dist/esm/Selection/Controller/MouseHoverOnAppObject.test.js.map +1 -1
  157. package/dist/esm/Selection/Controller/MousePressOnAppObject.js.map +1 -1
  158. package/dist/esm/Selection/Controller/MousePressOnAppObject.test.js +1 -0
  159. package/dist/esm/Selection/Controller/MousePressOnAppObject.test.js.map +1 -1
  160. package/dist/esm/Selection/Controller/MouseSelectAppObject.js.map +1 -1
  161. package/dist/esm/Selection/Controller/MouseSelectAppObject.test.js +1 -0
  162. package/dist/esm/Selection/Controller/MouseSelectAppObject.test.js.map +1 -1
  163. package/dist/esm/Selection/Controller/StylusHoverOnAppObjectSC.js.map +1 -1
  164. package/dist/esm/Selection/Controller/StylusPressOnAppObjectSC.js.map +1 -1
  165. package/dist/esm/Selection/Controller/StylusSelectAppObjectSC.js.map +1 -1
  166. package/dist/esm/Selection/Controller/TapToSelectAppObject.js.map +1 -1
  167. package/dist/esm/Selection/Controller/TouchPressOnAppObject.js.map +1 -1
  168. package/dist/esm/Stick/Controllers/DoubleClickToStickMC.js.map +1 -1
  169. package/dist/esm/Stick/Controllers/DoubleTapToStickTC.js.map +1 -1
  170. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js +3 -1
  171. package/dist/esm/Stick/UCs/TryStickAppObjectUC.test.js.map +1 -1
  172. package/dist/esm/Stylus/Entity/StylusEntity.js.map +1 -1
  173. package/dist/esm/Stylus/Entity/StylusEntity.test.js.map +1 -1
  174. package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js +3 -1
  175. package/dist/esm/Stylus/UCs/EmulateStylusUC.test.js.map +1 -1
  176. package/dist/esm/TouchController/Entities/TouchInput.js.map +1 -1
  177. package/dist/esm/Transform3D/Controllers/Mouse/DragScaleTransformMC.js.map +1 -1
  178. package/dist/esm/Transform3D/Controllers/Mouse/MousePanTransformMC.js.map +1 -1
  179. package/dist/esm/Transform3D/Controllers/Mouse/PanTransformMC.js.map +1 -1
  180. package/dist/esm/Transform3D/Controllers/Mouse/RollScaleTransformMC.js.map +1 -1
  181. package/dist/esm/Transform3D/Controllers/Stylus/MoveTransformSC.js.map +1 -1
  182. package/dist/esm/Transform3D/Controllers/Stylus/PanScaleTransformSC.js.map +1 -1
  183. package/dist/esm/Transform3D/Controllers/Touch/DragScaleTransformTC.js.map +1 -1
  184. package/dist/esm/Transform3D/Controllers/Touch/PanTransformTC.js.map +1 -1
  185. package/dist/esm/Transform3D/Controllers/Touch/PinchTransformTC.js.map +1 -1
  186. package/dist/esm/Transform3D/Controllers/Touch/TouchPanTransformTC.js.map +1 -1
  187. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js +1 -0
  188. package/dist/esm/Transform3D/UC/BumpTransformScaleAboutPixelPoint.test.js.map +1 -1
  189. package/dist/esm/Transform3D/UC/PinchTransform.test.js +1 -0
  190. package/dist/esm/Transform3D/UC/PinchTransform.test.js.map +1 -1
  191. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js +1 -0
  192. package/dist/esm/Transform3D/UC/TryPanTransformUC.test.js.map +1 -1
  193. package/dist/types/Babylon/Mocks/MockBabylonRenderingUC.d.ts +3 -3
  194. package/dist/types/Babylon/Mocks/MockBabylonRenderingUC.d.ts.map +1 -1
  195. package/dist/types/Babylon/Mocks/MockPixelToSceneRayUC.d.ts +1 -1
  196. package/dist/types/Babylon/Mocks/MockPixelToSceneRayUC.d.ts.map +1 -1
  197. package/dist/types/Babylon/Mocks/MockScenePixelPickUC.d.ts +1 -1
  198. package/dist/types/Babylon/Mocks/MockScenePixelPickUC.d.ts.map +1 -1
  199. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts +1 -1
  200. package/dist/types/Babylon/Mocks/MockSceneRayPickUC.d.ts.map +1 -1
  201. package/dist/types/Babylon/Mocks/ShowBabylonInspectorPmMock.d.ts +1 -1
  202. package/dist/types/Babylon/Mocks/ShowBabylonInspectorPmMock.d.ts.map +1 -1
  203. package/dist/types/MouseInput/Mocks/MockMouseInput.d.ts +5 -6
  204. package/dist/types/MouseInput/Mocks/MockMouseInput.d.ts.map +1 -1
  205. package/dist/types/MouseInput/Mocks/index.d.ts.map +1 -1
  206. package/dist/types/MouseInput/index.d.ts.map +1 -1
  207. package/package.json +1 -1
@@ -6,9 +6,9 @@ const UC_1 = require("../UC");
6
6
  class MockBabylonRenderingUC extends UC_1.BabylonRenderingUC {
7
7
  constructor(appObject) {
8
8
  super(appObject, UC_1.BabylonRenderingUC.type);
9
- this.submitRenderCanvas = jest.fn();
10
- this.clearRenderCanvas = jest.fn();
11
- this.resize = jest.fn();
9
+ this.submitRenderCanvas = (_canvas) => { };
10
+ this.clearRenderCanvas = () => { };
11
+ this.resize = () => { };
12
12
  }
13
13
  }
14
14
  exports.MockBabylonRenderingUC = MockBabylonRenderingUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockBabylonRenderingUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockBabylonRenderingUC.ts"],"names":[],"mappings":";;;AAaA,gEAEC;AAdD,8BAA2C;AAE3C,MAAa,sBAAuB,SAAQ,uBAAkB;IAK5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAkB,CAAC,IAAI,CAAC,CAAC;QAL5C,uBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC/B,sBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,WAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAInB,CAAC;CACF;AARD,wDAQC;AAED,SAAgB,0BAA0B,CAAC,UAAyB;IAClE,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { BabylonRenderingUC } from \"../UC\";\n\nexport class MockBabylonRenderingUC extends BabylonRenderingUC {\n submitRenderCanvas = jest.fn();\n clearRenderCanvas = jest.fn();\n resize = jest.fn();\n\n constructor(appObject: AppObject) {\n super(appObject, BabylonRenderingUC.type);\n }\n}\n\nexport function makeMockBabylonRenderingUC(appObjects: AppObjectRepo) {\n return new MockBabylonRenderingUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
1
+ {"version":3,"file":"MockBabylonRenderingUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockBabylonRenderingUC.ts"],"names":[],"mappings":";;;AAaA,gEAEC;AAdD,8BAA2C;AAE3C,MAAa,sBAAuB,SAAQ,uBAAkB;IAK5D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,uBAAkB,CAAC,IAAI,CAAC,CAAC;QAL5C,uBAAkB,GAAG,CAAC,OAA0B,EAAQ,EAAE,GAAE,CAAC,CAAC;QAC9D,sBAAiB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;QACnC,WAAM,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IAIxB,CAAC;CACF;AARD,wDAQC;AAED,SAAgB,0BAA0B,CAAC,UAAyB;IAClE,OAAO,IAAI,sBAAsB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { BabylonRenderingUC } from \"../UC\";\n\nexport class MockBabylonRenderingUC extends BabylonRenderingUC {\n submitRenderCanvas = (_canvas: HTMLCanvasElement): void => {};\n clearRenderCanvas = (): void => {};\n resize = (): void => {};\n\n constructor(appObject: AppObject) {\n super(appObject, BabylonRenderingUC.type);\n }\n}\n\nexport function makeMockBabylonRenderingUC(appObjects: AppObjectRepo) {\n return new MockBabylonRenderingUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
@@ -6,7 +6,7 @@ const UC_1 = require("../UC");
6
6
  class MockPixelToSceneRayUC extends UC_1.PixelToSceneRayUC {
7
7
  constructor(appObject) {
8
8
  super(appObject, UC_1.PixelToSceneRayUC.type);
9
- this.pixelToSceneRay = jest.fn();
9
+ this.pixelToSceneRay = (_pixelPos) => undefined;
10
10
  }
11
11
  }
12
12
  exports.MockPixelToSceneRayUC = MockPixelToSceneRayUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockPixelToSceneRayUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockPixelToSceneRayUC.ts"],"names":[],"mappings":";;;AAWA,8DAEC;AAZD,8BAA0C;AAE1C,MAAa,qBAAsB,SAAQ,sBAAiB;IAG1D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAiB,CAAC,IAAI,CAAC,CAAC;QAH3C,oBAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAI5B,CAAC;CACF;AAND,sDAMC;AAED,SAAgB,yBAAyB,CAAC,UAAyB;IACjE,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { PixelToSceneRayUC } from \"../UC\";\n\nexport class MockPixelToSceneRayUC extends PixelToSceneRayUC {\n pixelToSceneRay = jest.fn();\n\n constructor(appObject: AppObject) {\n super(appObject, PixelToSceneRayUC.type);\n }\n}\n\nexport function makeMockPixelToSceneRayUC(appObjects: AppObjectRepo) {\n return new MockPixelToSceneRayUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
1
+ {"version":3,"file":"MockPixelToSceneRayUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockPixelToSceneRayUC.ts"],"names":[],"mappings":";;;AAWA,8DAEC;AAZD,8BAA0C;AAE1C,MAAa,qBAAsB,SAAQ,sBAAiB;IAG1D,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,sBAAiB,CAAC,IAAI,CAAC,CAAC;QAH3C,oBAAe,GAAG,CAAC,SAAc,EAAO,EAAE,CAAC,SAAS,CAAC;IAIrD,CAAC;CACF;AAND,sDAMC;AAED,SAAgB,yBAAyB,CAAC,UAAyB;IACjE,OAAO,IAAI,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { PixelToSceneRayUC } from \"../UC\";\n\nexport class MockPixelToSceneRayUC extends PixelToSceneRayUC {\n pixelToSceneRay = (_pixelPos: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, PixelToSceneRayUC.type);\n }\n}\n\nexport function makeMockPixelToSceneRayUC(appObjects: AppObjectRepo) {\n return new MockPixelToSceneRayUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
@@ -6,7 +6,7 @@ const UC_1 = require("../UC");
6
6
  class MockScenePixelPickUC extends UC_1.ScenePixelPickUC {
7
7
  constructor(appObject) {
8
8
  super(appObject, UC_1.ScenePixelPickUC.type);
9
- this.scenePixelPick = jest.fn();
9
+ this.scenePixelPick = (_pixelPos) => undefined;
10
10
  }
11
11
  }
12
12
  exports.MockScenePixelPickUC = MockScenePixelPickUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockScenePixelPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockScenePixelPickUC.ts"],"names":[],"mappings":";;;AAWA,4DAEC;AAZD,8BAAyC;AAEzC,MAAa,oBAAqB,SAAQ,qBAAgB;IAGxD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,qBAAgB,CAAC,IAAI,CAAC,CAAC;QAH1C,mBAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAI3B,CAAC;CACF;AAND,oDAMC;AAED,SAAgB,wBAAwB,CAAC,UAAyB;IAChE,OAAO,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ScenePixelPickUC } from \"../UC\";\n\nexport class MockScenePixelPickUC extends ScenePixelPickUC {\n scenePixelPick = jest.fn();\n\n constructor(appObject: AppObject) {\n super(appObject, ScenePixelPickUC.type);\n }\n}\n\nexport function makeMockScenePixelPickUC(appObjects: AppObjectRepo) {\n return new MockScenePixelPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
1
+ {"version":3,"file":"MockScenePixelPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockScenePixelPickUC.ts"],"names":[],"mappings":";;;AAWA,4DAEC;AAZD,8BAAyC;AAEzC,MAAa,oBAAqB,SAAQ,qBAAgB;IAGxD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,qBAAgB,CAAC,IAAI,CAAC,CAAC;QAH1C,mBAAc,GAAG,CAAC,SAAc,EAAO,EAAE,CAAC,SAAS,CAAC;IAIpD,CAAC;CACF;AAND,oDAMC;AAED,SAAgB,wBAAwB,CAAC,UAAyB;IAChE,OAAO,IAAI,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACrE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ScenePixelPickUC } from \"../UC\";\n\nexport class MockScenePixelPickUC extends ScenePixelPickUC {\n scenePixelPick = (_pixelPos: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, ScenePixelPickUC.type);\n }\n}\n\nexport function makeMockScenePixelPickUC(appObjects: AppObjectRepo) {\n return new MockScenePixelPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
@@ -6,9 +6,7 @@ const UC_1 = require("../UC");
6
6
  class MockSceneRayPickUC extends UC_1.SceneRayPickUC {
7
7
  constructor(appObject) {
8
8
  super(appObject, UC_1.SceneRayPickUC.type);
9
- this.sceneRayPick = () => {
10
- return undefined;
11
- };
9
+ this.sceneRayPick = (_ray) => undefined;
12
10
  }
13
11
  }
14
12
  exports.MockSceneRayPickUC = MockSceneRayPickUC;
@@ -1 +1 @@
1
- {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":";;;AAaA,wDAIC;AAhBD,8BAAuC;AAEvC,MAAa,kBAAmB,SAAQ,mBAAc;IAKpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAc,CAAC,IAAI,CAAC,CAAC;QALxC,iBAAY,GAAG,GAAG,EAAE;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;IAIF,CAAC;CACF;AARD,gDAQC;AAED,SAAgB,sBAAsB,CACpC,UAAyB;IAEzB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SceneRayPickUC } from \"../UC\";\n\nexport class MockSceneRayPickUC extends SceneRayPickUC {\n sceneRayPick = () => {\n return undefined;\n };\n\n constructor(appObject: AppObject) {\n super(appObject, SceneRayPickUC.type);\n }\n}\n\nexport function makeMockSceneRayPickUC(\n appObjects: AppObjectRepo,\n): MockSceneRayPickUC {\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
1
+ {"version":3,"file":"MockSceneRayPickUC.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/MockSceneRayPickUC.ts"],"names":[],"mappings":";;;AAWA,wDAIC;AAdD,8BAAuC;AAEvC,MAAa,kBAAmB,SAAQ,mBAAc;IAGpD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAc,CAAC,IAAI,CAAC,CAAC;QAHxC,iBAAY,GAAG,CAAC,IAAS,EAAO,EAAE,CAAC,SAAS,CAAC;IAI7C,CAAC;CACF;AAND,gDAMC;AAED,SAAgB,sBAAsB,CACpC,UAAyB;IAEzB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AACnE,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { SceneRayPickUC } from \"../UC\";\n\nexport class MockSceneRayPickUC extends SceneRayPickUC {\n sceneRayPick = (_ray: any): any => undefined;\n\n constructor(appObject: AppObject) {\n super(appObject, SceneRayPickUC.type);\n }\n}\n\nexport function makeMockSceneRayPickUC(\n appObjects: AppObjectRepo\n): MockSceneRayPickUC {\n return new MockSceneRayPickUC(appObjects.getOrCreate(\"Babylon\"));\n}\n"]}
@@ -6,7 +6,7 @@ const ShowBabylonInspectorPM_1 = require("../PM/ShowBabylonInspectorPM");
6
6
  class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM_1.ShowBabylonInspectorPM {
7
7
  constructor(appObject) {
8
8
  super(appObject);
9
- this.vmsAreEqual = jest.fn();
9
+ this.vmsAreEqual = (_vm1, _vm2) => false;
10
10
  }
11
11
  }
12
12
  exports.ShowBabylonInspectorPmMock = ShowBabylonInspectorPmMock;
@@ -1 +1 @@
1
- {"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":";;;AAWA,wEAIC;AAdD,yEAAsE;AAEtE,MAAa,0BAA2B,SAAQ,+CAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAIxB,CAAC;CACF;AAND,gEAMC;AAED,SAAgB,8BAA8B,CAAC,UAAyB;IACtE,OAAO,IAAI,0BAA0B,CACnC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ShowBabylonInspectorPM } from \"../PM/ShowBabylonInspectorPM\";\n\nexport class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {\n vmsAreEqual = jest.fn();\n\n constructor(appObject: AppObject) {\n super(appObject);\n }\n}\n\nexport function makeShowBabylonInspectorPmMock(appObjects: AppObjectRepo) {\n return new ShowBabylonInspectorPmMock(\n appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\"),\n );\n}\n"]}
1
+ {"version":3,"file":"ShowBabylonInspectorPmMock.js","sourceRoot":"","sources":["../../../../src/Babylon/Mocks/ShowBabylonInspectorPmMock.ts"],"names":[],"mappings":";;;AAWA,wEAIC;AAdD,yEAAsE;AAEtE,MAAa,0BAA2B,SAAQ,+CAAsB;IAGpE,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,CAAC,CAAC;QAHnB,gBAAW,GAAG,CAAC,IAAS,EAAE,IAAS,EAAW,EAAE,CAAC,KAAK,CAAC;IAIvD,CAAC;CACF;AAND,gEAMC;AAED,SAAgB,8BAA8B,CAAC,UAAyB;IACtE,OAAO,IAAI,0BAA0B,CACnC,UAAU,CAAC,WAAW,CAAC,4BAA4B,CAAC,CACrD,CAAC;AACJ,CAAC","sourcesContent":["import { AppObject, AppObjectRepo } from \"@vived/core\";\nimport { ShowBabylonInspectorPM } from \"../PM/ShowBabylonInspectorPM\";\n\nexport class ShowBabylonInspectorPmMock extends ShowBabylonInspectorPM {\n vmsAreEqual = (_vm1: any, _vm2: any): boolean => false;\n\n constructor(appObject: AppObject) {\n super(appObject);\n }\n}\n\nexport function makeShowBabylonInspectorPmMock(appObjects: AppObjectRepo) {\n return new ShowBabylonInspectorPmMock(\n appObjects.getOrCreate(\"ShowBabylonInspectorPmMock\")\n );\n}\n"]}
@@ -7,6 +7,8 @@ function makeTestRig() {
7
7
  const appObjects = (0, core_1.makeAppObjectRepo)();
8
8
  const ao = appObjects.getOrCreate("AO");
9
9
  const mockPickUC = (0, Mocks_1.makeMockPixelToSceneRayUC)(appObjects);
10
+ // Convert method to jest mock
11
+ mockPickUC.pixelToSceneRay = jest.fn();
10
12
  const mockSubmitWarning = jest.fn();
11
13
  appObjects.submitWarning = mockSubmitWarning;
12
14
  return { appObjects, ao, mockPickUC, mockSubmitWarning };
@@ -1 +1 @@
1
- {"version":3,"file":"PixelToSceneRayUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/PixelToSceneRayUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAyD;AACzD,oCAAqD;AACrD,2DAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC;IAEzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,IAAA,mCAAe,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,IAAA,mCAAe,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, Vector2 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../Mocks\";\nimport { pixelToSceneRay, PixelToSceneRayUC } from \"./PixelToSceneRayUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const mockPickUC = makeMockPixelToSceneRayUC(appObjects);\n\n const mockSubmitWarning = jest.fn();\n appObjects.submitWarning = mockSubmitWarning;\n\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\n}\n\ndescribe(\"Dispatch State Change\", () => {\n it(\"Gets the UC\", () => {\n const { mockPickUC, appObjects } = makeTestRig();\n expect(PixelToSceneRayUC.get(appObjects)).toEqual(mockPickUC);\n });\n\n it(\"Finds and uses the SceneRayPickUC\", () => {\n const { appObjects, mockPickUC } = makeTestRig();\n\n pixelToSceneRay(new Vector2(1, 2), appObjects);\n\n expect(mockPickUC.pixelToSceneRay).toHaveBeenCalledWith(new Vector2(1, 2));\n });\n\n it(\"Warns if it can't find SceneRayPickUC\", () => {\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\n mockPickUC.dispose();\n\n pixelToSceneRay(new Vector2(1, 2), appObjects);\n\n expect(mockSubmitWarning).toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"file":"PixelToSceneRayUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/PixelToSceneRayUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAyD;AACzD,oCAAqD;AACrD,2DAAyE;AAEzE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC;IAEzD,8BAA8B;IAC9B,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,IAAA,mCAAe,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/C,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,IAAA,mCAAe,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/C,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, Vector2 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../Mocks\";\nimport { pixelToSceneRay, PixelToSceneRayUC } from \"./PixelToSceneRayUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const mockPickUC = makeMockPixelToSceneRayUC(appObjects);\n\n // Convert method to jest mock\n mockPickUC.pixelToSceneRay = jest.fn();\n\n const mockSubmitWarning = jest.fn();\n appObjects.submitWarning = mockSubmitWarning;\n\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\n}\n\ndescribe(\"Dispatch State Change\", () => {\n it(\"Gets the UC\", () => {\n const { mockPickUC, appObjects } = makeTestRig();\n expect(PixelToSceneRayUC.get(appObjects)).toEqual(mockPickUC);\n });\n\n it(\"Finds and uses the SceneRayPickUC\", () => {\n const { appObjects, mockPickUC } = makeTestRig();\n\n pixelToSceneRay(new Vector2(1, 2), appObjects);\n\n expect(mockPickUC.pixelToSceneRay).toHaveBeenCalledWith(new Vector2(1, 2));\n });\n\n it(\"Warns if it can't find SceneRayPickUC\", () => {\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\n mockPickUC.dispose();\n\n pixelToSceneRay(new Vector2(1, 2), appObjects);\n\n expect(mockSubmitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -7,6 +7,8 @@ function makeTestRig() {
7
7
  const appObjects = (0, core_1.makeAppObjectRepo)();
8
8
  const ao = appObjects.getOrCreate("AO");
9
9
  const mockPickUC = (0, Mocks_1.makeMockScenePixelPickUC)(appObjects);
10
+ // Convert method to jest mock
11
+ mockPickUC.scenePixelPick = jest.fn();
10
12
  const mockSubmitWarning = jest.fn();
11
13
  appObjects.submitWarning = mockSubmitWarning;
12
14
  return { appObjects, ao, mockPickUC, mockSubmitWarning };
@@ -1 +1 @@
1
- {"version":3,"file":"ScenePixelPickUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/ScenePixelPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAyD;AACzD,oCAAoD;AACpD,yDAAsE;AAEtE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,mCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,IAAA,iCAAc,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,IAAA,iCAAc,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, Vector2 } from \"@vived/core\";\nimport { makeMockScenePixelPickUC } from \"../Mocks\";\nimport { scenePixelPick, ScenePixelPickUC } from \"./ScenePixelPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const mockPickUC = makeMockScenePixelPickUC(appObjects);\n const mockSubmitWarning = jest.fn();\n appObjects.submitWarning = mockSubmitWarning;\n\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\n}\n\ndescribe(\"Scene Pixel Pick UC\", () => {\n it(\"Gets the UC\", () => {\n const { mockPickUC, appObjects } = makeTestRig();\n expect(ScenePixelPickUC.get(appObjects)).toEqual(mockPickUC);\n });\n\n it(\"Finds and uses the SceneRayPickUC\", () => {\n const { appObjects, mockPickUC } = makeTestRig();\n\n scenePixelPick(new Vector2(1, 2), appObjects);\n\n expect(mockPickUC.scenePixelPick).toHaveBeenCalledWith(new Vector2(1, 2));\n });\n\n it(\"Warns if it can't find SceneRayPickUC\", () => {\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\n mockPickUC.dispose();\n\n scenePixelPick(new Vector2(1, 2), appObjects);\n\n expect(mockSubmitWarning).toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"file":"ScenePixelPickUC.test.js","sourceRoot":"","sources":["../../../../src/Babylon/UC/ScenePixelPickUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAyD;AACzD,oCAAoD;AACpD,yDAAsE;AAEtE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,IAAA,gCAAwB,EAAC,UAAU,CAAC,CAAC;IAExD,8BAA8B;IAC9B,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IAEtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACpC,UAAU,CAAC,aAAa,GAAG,iBAAiB,CAAC;IAE7C,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC3D,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;QACrB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,mCAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAEjD,IAAA,iCAAc,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QACpE,UAAU,CAAC,OAAO,EAAE,CAAC;QAErB,IAAA,iCAAc,EAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo, Vector2 } from \"@vived/core\";\nimport { makeMockScenePixelPickUC } from \"../Mocks\";\nimport { scenePixelPick, ScenePixelPickUC } from \"./ScenePixelPickUC\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const ao = appObjects.getOrCreate(\"AO\");\n const mockPickUC = makeMockScenePixelPickUC(appObjects);\n\n // Convert method to jest mock\n mockPickUC.scenePixelPick = jest.fn();\n\n const mockSubmitWarning = jest.fn();\n appObjects.submitWarning = mockSubmitWarning;\n\n return { appObjects, ao, mockPickUC, mockSubmitWarning };\n}\n\ndescribe(\"Scene Pixel Pick UC\", () => {\n it(\"Gets the UC\", () => {\n const { mockPickUC, appObjects } = makeTestRig();\n expect(ScenePixelPickUC.get(appObjects)).toEqual(mockPickUC);\n });\n\n it(\"Finds and uses the SceneRayPickUC\", () => {\n const { appObjects, mockPickUC } = makeTestRig();\n\n scenePixelPick(new Vector2(1, 2), appObjects);\n\n expect(mockPickUC.scenePixelPick).toHaveBeenCalledWith(new Vector2(1, 2));\n });\n\n it(\"Warns if it can't find SceneRayPickUC\", () => {\n const { mockPickUC, appObjects, mockSubmitWarning } = makeTestRig();\n mockPickUC.dispose();\n\n scenePixelPick(new Vector2(1, 2), appObjects);\n\n expect(mockSubmitWarning).toHaveBeenCalled();\n });\n});\n"]}
@@ -14,6 +14,12 @@ function makeTestRig() {
14
14
  const mockBabylon = (0, Babylon_1.makeMockBabylonRenderingUC)(appObjects);
15
15
  const mockMouse = new MockMouseInput_1.MockMouseInput(app);
16
16
  const mockTouch = new MockTouchInput_1.MockTouchInputEntity(app);
17
+ // Convert mouse input methods to jest mocks
18
+ mockMouse.setEventElement = jest.fn();
19
+ mockMouse.clearInputElement = jest.fn();
20
+ // Convert babylon rendering methods to jest mocks
21
+ mockBabylon.submitRenderCanvas = jest.fn();
22
+ mockBabylon.clearRenderCanvas = jest.fn();
17
23
  const mockWarn = jest.fn();
18
24
  appObjects.submitWarning = mockWarn;
19
25
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderCanvasUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/RenderCanvasUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeRenderCanvasUC, RenderCanvasUC } from \"./RenderCanvasUC\";\nimport { MockKeyboardInput } from \"../../KeyboardInput/Mocks/MockKeyboardInput\";\nimport { MockMouseInput } from \"../../MouseInput/Mocks/MockMouseInput\";\nimport { MockTouchInputEntity } from \"../../TouchController/Mock/MockTouchInput\";\nimport { makeMockBabylonRenderingUC } from \"../../Babylon\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const app = appObjects.getOrCreate(\"App\");\n const renderUC = makeRenderCanvasUC(app);\n const mockKeybaord = new MockKeyboardInput(app);\n const mockBabylon = makeMockBabylonRenderingUC(appObjects);\n const mockMouse = new MockMouseInput(app);\n const mockTouch = new MockTouchInputEntity(app);\n\n const mockWarn = jest.fn();\n appObjects.submitWarning = mockWarn;\n\n return {\n appObjects,\n renderUC,\n mockBabylon,\n mockKeybaord,\n mockWarn,\n mockTouch,\n mockMouse,\n };\n}\n\ndescribe(\"Render Canvas UC\", () => {\n it(\"Submits the canvas to the keyboard input\", () => {\n const { mockKeybaord, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockKeybaord.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the keyboard input when a canvas is submitted\", () => {\n const { mockKeybaord, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockKeybaord.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from keyboard input\", () => {\n const { mockKeybaord, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockKeybaord.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the keyboard input when a canvas is cleared\", () => {\n const { mockKeybaord, renderUC, mockWarn } = makeTestRig();\n\n mockKeybaord.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the mouse input\", () => {\n const { mockMouse, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockMouse.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the mouse input when a canvas is submitted\", () => {\n const { mockMouse, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockMouse.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from mouse input\", () => {\n const { mockMouse, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockMouse.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the mouse input when a canvas is cleared\", () => {\n const { mockMouse, renderUC, mockWarn } = makeTestRig();\n\n mockMouse.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the touch input\", () => {\n const { mockTouch, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockTouch.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the touch input when a canvas is submitted\", () => {\n const { mockTouch, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockTouch.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from touch input\", () => {\n const { mockTouch, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockTouch.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the touch input when a canvas is cleared\", () => {\n const { mockTouch, renderUC, mockWarn } = makeTestRig();\n\n mockTouch.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the babylon rendering\", () => {\n const { mockBabylon, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockBabylon.submitRenderCanvas).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the babylon rendering when a canvas is submitted\", () => {\n const { mockBabylon, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockBabylon.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from babylon rendering\", () => {\n const { mockBabylon, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockBabylon.clearRenderCanvas).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the babylon rendering when a canvas is cleared\", () => {\n const { mockBabylon, renderUC, mockWarn } = makeTestRig();\n\n mockBabylon.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Gets the UC\", () => {\n const { renderUC, appObjects } = makeTestRig();\n\n expect(RenderCanvasUC.get(appObjects)).toEqual(renderUC);\n });\n\n it(\"Warns and returns undefined if there is no UC\", () => {\n const { renderUC, appObjects, mockWarn } = makeTestRig();\n renderUC.dispose();\n\n expect(RenderCanvasUC.get(appObjects)).toBeUndefined();\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Warns if there are more than two UCs found\", () => {\n const { appObjects, mockWarn } = makeTestRig();\n const newAO = appObjects.getOrCreate(\"newAO\");\n\n makeRenderCanvasUC(newAO);\n\n expect(RenderCanvasUC.get(appObjects)).not.toBeUndefined();\n expect(mockWarn).toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"file":"RenderCanvasUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/RenderCanvasUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { makeRenderCanvasUC, RenderCanvasUC } from \"./RenderCanvasUC\";\nimport { MockKeyboardInput } from \"../../KeyboardInput/Mocks/MockKeyboardInput\";\nimport { MockMouseInput } from \"../../MouseInput/Mocks/MockMouseInput\";\nimport { MockTouchInputEntity } from \"../../TouchController/Mock/MockTouchInput\";\nimport { makeMockBabylonRenderingUC } from \"../../Babylon\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const app = appObjects.getOrCreate(\"App\");\n const renderUC = makeRenderCanvasUC(app);\n const mockKeybaord = new MockKeyboardInput(app);\n const mockBabylon = makeMockBabylonRenderingUC(appObjects);\n const mockMouse = new MockMouseInput(app);\n const mockTouch = new MockTouchInputEntity(app);\n\n // Convert mouse input methods to jest mocks\n mockMouse.setEventElement = jest.fn();\n mockMouse.clearInputElement = jest.fn();\n\n // Convert babylon rendering methods to jest mocks\n mockBabylon.submitRenderCanvas = jest.fn();\n mockBabylon.clearRenderCanvas = jest.fn();\n\n const mockWarn = jest.fn();\n appObjects.submitWarning = mockWarn;\n\n return {\n appObjects,\n renderUC,\n mockBabylon,\n mockKeybaord,\n mockWarn,\n mockTouch,\n mockMouse,\n };\n}\n\ndescribe(\"Render Canvas UC\", () => {\n it(\"Submits the canvas to the keyboard input\", () => {\n const { mockKeybaord, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockKeybaord.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the keyboard input when a canvas is submitted\", () => {\n const { mockKeybaord, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockKeybaord.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from keyboard input\", () => {\n const { mockKeybaord, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockKeybaord.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the keyboard input when a canvas is cleared\", () => {\n const { mockKeybaord, renderUC, mockWarn } = makeTestRig();\n\n mockKeybaord.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the mouse input\", () => {\n const { mockMouse, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockMouse.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the mouse input when a canvas is submitted\", () => {\n const { mockMouse, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockMouse.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from mouse input\", () => {\n const { mockMouse, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockMouse.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the mouse input when a canvas is cleared\", () => {\n const { mockMouse, renderUC, mockWarn } = makeTestRig();\n\n mockMouse.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the touch input\", () => {\n const { mockTouch, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockTouch.setEventElement).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the touch input when a canvas is submitted\", () => {\n const { mockTouch, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockTouch.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from touch input\", () => {\n const { mockTouch, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockTouch.clearInputElement).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the touch input when a canvas is cleared\", () => {\n const { mockTouch, renderUC, mockWarn } = makeTestRig();\n\n mockTouch.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Submits the canvas to the babylon rendering\", () => {\n const { mockBabylon, renderUC } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockBabylon.submitRenderCanvas).toHaveBeenCalledWith(renderCanvas);\n });\n\n it(\"Warns if it can't find the babylon rendering when a canvas is submitted\", () => {\n const { mockBabylon, renderUC, mockWarn } = makeTestRig();\n const renderCanvas = document.createElement(\"canvas\");\n mockBabylon.dispose();\n renderUC.submitCanvas(renderCanvas);\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Clears the input element from babylon rendering\", () => {\n const { mockBabylon, renderUC } = makeTestRig();\n\n renderUC.clearCanvas();\n\n expect(mockBabylon.clearRenderCanvas).toHaveBeenCalled();\n });\n\n it(\"Warns if it can't find the babylon rendering when a canvas is cleared\", () => {\n const { mockBabylon, renderUC, mockWarn } = makeTestRig();\n\n mockBabylon.dispose();\n renderUC.clearCanvas();\n\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Gets the UC\", () => {\n const { renderUC, appObjects } = makeTestRig();\n\n expect(RenderCanvasUC.get(appObjects)).toEqual(renderUC);\n });\n\n it(\"Warns and returns undefined if there is no UC\", () => {\n const { renderUC, appObjects, mockWarn } = makeTestRig();\n renderUC.dispose();\n\n expect(RenderCanvasUC.get(appObjects)).toBeUndefined();\n expect(mockWarn).toHaveBeenCalled();\n });\n\n it(\"Warns if there are more than two UCs found\", () => {\n const { appObjects, mockWarn } = makeTestRig();\n const newAO = appObjects.getOrCreate(\"newAO\");\n\n makeRenderCanvasUC(newAO);\n\n expect(RenderCanvasUC.get(appObjects)).not.toBeUndefined();\n expect(mockWarn).toHaveBeenCalled();\n });\n});\n"]}
@@ -23,6 +23,7 @@ function makeTestRig() {
23
23
  const mockCreate = new CreateCalloutUcMock_1.CreateCalloutUcMock(calloutAO);
24
24
  mockCreate.fromPick.mockReturnValue(appObjects.getOrCreate("appObj2"));
25
25
  const mockPixelToRay = (0, Mocks_1.makeMockPixelToSceneRayUC)(appObjects);
26
+ mockPixelToRay.pixelToSceneRay = jest.fn();
26
27
  const tryAddUC = (0, TryAddCallout_1.makeTryAddCalloutUC)(createCalloutAO);
27
28
  const toolRepo = (0, Tools_1.makeToolRepo)(appObjects.getOrCreate("ToolRepo"));
28
29
  toolRepo.makeTool("CALLOUT");
@@ -1 +1 @@
1
- {"version":3,"file":"TryAddCallout.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/TryAddCallout.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon/Mocks\";\nimport { makeToolRepo } from \"../../Tools\";\nimport { CreateCalloutUcMock } from \"../Mocks/CreateCalloutUcMock\";\nimport { CreateCalloutUC } from \"./CreateCalloutUC\";\nimport { makeTryAddCalloutUC } from \"./TryAddCallout\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const createCalloutAO = appObjects.getOrCreate(\"createCalloutAO\");\n\n const mockSceneRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n worldPickPoint: new Vector3(1, 2, 3),\n hit: true,\n normal: new Vector3(4, 5, 6),\n objectPickMeta: {\n appObjectID: \"appObj1\",\n },\n });\n\n mockSceneRayPick.sceneRayPick = mockPick;\n\n const calloutAO = appObjects.getOrCreate(\"appObj1\");\n const mockCreate = new CreateCalloutUcMock(calloutAO);\n mockCreate.fromPick.mockReturnValue(appObjects.getOrCreate(\"appObj2\"));\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n\n const tryAddUC = makeTryAddCalloutUC(createCalloutAO);\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n toolRepo.makeTool(\"CALLOUT\");\n toolRepo.makeTool(\"OTHER\");\n toolRepo.triggerTool(\"CALLOUT\");\n\n return {\n tryAddUC,\n mockPick,\n mockCreate,\n calloutAO,\n appObjects,\n mockPixelToRay,\n toolRepo,\n };\n}\n\ndescribe(\"Try Add Callout UC\", () => {\n it(\"Forms the pixel into a ray and passed it to the initialize with ray\", () => {\n const { mockPixelToRay, tryAddUC } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n mockPixelToRay.pixelToSceneRay.mockReturnValue(mockRay);\n\n tryAddUC.initializeWithRay = jest.fn();\n\n tryAddUC.initializeWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8),\n );\n expect(tryAddUC.initializeWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Forms the pixel into a ray and passed it to the move with ray\", () => {\n const { mockPixelToRay, tryAddUC } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n mockPixelToRay.pixelToSceneRay.mockReturnValue(mockRay);\n\n tryAddUC.moveWithRay = jest.fn();\n\n tryAddUC.moveWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8),\n );\n expect(tryAddUC.moveWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Returns false if not allowed\", () => {\n const { tryAddUC } = makeTestRig();\n\n tryAddUC.allow = () => {\n return false;\n };\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the pick is not on anything\", () => {\n const { mockPick, tryAddUC } = makeTestRig();\n\n mockPick.mockReturnValue(undefined);\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if it can't find the app object\", () => {\n const { tryAddUC, appObjects } = makeTestRig();\n appObjects.remove(\"appObj1\");\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if it can't find Create UC on the app object\", () => {\n const { tryAddUC, calloutAO } = makeTestRig();\n calloutAO.removeComponent(CreateCalloutUC.type);\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Does not allow if the tool is not Callout\", () => {\n const { tryAddUC, toolRepo } = makeTestRig();\n\n toolRepo.triggerTool(\"OTHER\");\n\n expect(tryAddUC.allow()).toEqual(false);\n\n toolRepo.triggerTool(\"CALLOUT\");\n\n expect(tryAddUC.allow()).toEqual(true);\n });\n});\n"]}
1
+ {"version":3,"file":"TryAddCallout.test.js","sourceRoot":"","sources":["../../../../src/Callouts/UC/TryAddCallout.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n makeAppObjectRepo,\n ParametricLine,\n Vector2,\n Vector3,\n} from \"@vived/core\";\nimport {\n makeMockPixelToSceneRayUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon/Mocks\";\nimport { makeToolRepo } from \"../../Tools\";\nimport { CreateCalloutUcMock } from \"../Mocks/CreateCalloutUcMock\";\nimport { CreateCalloutUC } from \"./CreateCalloutUC\";\nimport { makeTryAddCalloutUC } from \"./TryAddCallout\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const createCalloutAO = appObjects.getOrCreate(\"createCalloutAO\");\n\n const mockSceneRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n worldPickPoint: new Vector3(1, 2, 3),\n hit: true,\n normal: new Vector3(4, 5, 6),\n objectPickMeta: {\n appObjectID: \"appObj1\",\n },\n });\n\n mockSceneRayPick.sceneRayPick = mockPick;\n\n const calloutAO = appObjects.getOrCreate(\"appObj1\");\n const mockCreate = new CreateCalloutUcMock(calloutAO);\n mockCreate.fromPick.mockReturnValue(appObjects.getOrCreate(\"appObj2\"));\n\n const mockPixelToRay = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRay.pixelToSceneRay = jest.fn();\n\n const tryAddUC = makeTryAddCalloutUC(createCalloutAO);\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n toolRepo.makeTool(\"CALLOUT\");\n toolRepo.makeTool(\"OTHER\");\n toolRepo.triggerTool(\"CALLOUT\");\n\n return {\n tryAddUC,\n mockPick,\n mockCreate,\n calloutAO,\n appObjects,\n mockPixelToRay,\n toolRepo,\n };\n}\n\ndescribe(\"Try Add Callout UC\", () => {\n it(\"Forms the pixel into a ray and passed it to the initialize with ray\", () => {\n const { mockPixelToRay, tryAddUC } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n tryAddUC.initializeWithRay = jest.fn();\n\n tryAddUC.initializeWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8)\n );\n expect(tryAddUC.initializeWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Forms the pixel into a ray and passed it to the move with ray\", () => {\n const { mockPixelToRay, tryAddUC } = makeTestRig();\n\n const mockRay = ParametricLine.FromTwoPoint(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n (mockPixelToRay.pixelToSceneRay as jest.Mock).mockReturnValue(mockRay);\n\n tryAddUC.moveWithRay = jest.fn();\n\n tryAddUC.moveWithPixel(new Vector2(7, 8));\n\n expect(mockPixelToRay.pixelToSceneRay).toHaveBeenCalledWith(\n new Vector2(7, 8)\n );\n expect(tryAddUC.moveWithRay).toHaveBeenCalledWith(mockRay);\n });\n\n it(\"Returns false if not allowed\", () => {\n const { tryAddUC } = makeTestRig();\n\n tryAddUC.allow = () => {\n return false;\n };\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if the pick is not on anything\", () => {\n const { mockPick, tryAddUC } = makeTestRig();\n\n mockPick.mockReturnValue(undefined);\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if it can't find the app object\", () => {\n const { tryAddUC, appObjects } = makeTestRig();\n appObjects.remove(\"appObj1\");\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Returns false if it can't find Create UC on the app object\", () => {\n const { tryAddUC, calloutAO } = makeTestRig();\n calloutAO.removeComponent(CreateCalloutUC.type);\n\n expect(tryAddUC.initializeWithRay(ParametricLine.Forward())).toEqual(false);\n });\n\n it(\"Does not allow if the tool is not Callout\", () => {\n const { tryAddUC, toolRepo } = makeTestRig();\n\n toolRepo.triggerTool(\"OTHER\");\n\n expect(tryAddUC.allow()).toEqual(false);\n\n toolRepo.triggerTool(\"CALLOUT\");\n\n expect(tryAddUC.allow()).toEqual(true);\n });\n});\n"]}
@@ -18,7 +18,9 @@ function makeTestRig() {
18
18
  const mockPick = jest.fn().mockReturnValue({ appObjectID: "hideableObj" });
19
19
  mockRayPick.sceneRayPick = mockPick;
20
20
  const mockPixelPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
21
- mockPixelPick.scenePixelPick.mockReturnValue({ appObjectID: "hideableObj" });
21
+ mockPixelPick.scenePixelPick = jest
22
+ .fn()
23
+ .mockReturnValue({ appObjectID: "hideableObj" });
22
24
  const toolRepo = (0, Tools_1.makeToolRepo)(appObjects.getOrCreate("ToolRepo"));
23
25
  const hideTool = toolRepo.makeTool("HIDE");
24
26
  hideTool.state = Tools_1.ToolState.ACTIVE;
@@ -1 +1 @@
1
- {"version":3,"file":"TryHideWithPickUC.test.js","sourceRoot":"","sources":["../../../../src/Hideable/UCs/TryHideWithPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { HideUCMock } from \"../Mocks/HideUCMock\";\nimport { makeTryHideWithPickUC, TryHideWithPickUC } from \"./TryHideWithPickUC\";\nimport { makeMockSceneRayPickUC } from \"../../Babylon/Mocks/MockSceneRayPickUC\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeMockScenePixelPickUC } from \"../../Babylon\";\nimport { makeToolRepo, ToolState } from \"../../Tools\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingleton = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"AO\");\n const uc = makeTryHideWithPickUC(ao);\n\n const hideableObj = appObjects.getOrCreate(\"hideableObj\");\n const mockHideUC = new HideUCMock(hideableObj);\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects);\n mockPixelPick.scenePixelPick.mockReturnValue({ appObjectID: \"hideableObj\" });\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n const hideTool = toolRepo.makeTool(\"HIDE\");\n hideTool.state = ToolState.ACTIVE;\n\n return {\n appObjects,\n ao,\n mockHideUC,\n uc,\n registerSingleton,\n mockPick,\n mockPixelPick,\n hideTool,\n };\n}\n\ndescribe(\"Hide UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TryHideWithPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSingleton, uc } = makeTestRig();\n\n expect(registerSingleton).toHaveBeenCalledWith(uc);\n });\n\n it(\"Picks with the ray\", () => {\n const { uc, mockPick } = makeTestRig();\n\n const pickRay = ParametricLine.FromPointDirection(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6),\n );\n\n uc.tryRayPick(pickRay);\n\n expect(mockPick).toHaveBeenCalledWith(pickRay);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryRayPick(ParametricLine.Forward());\n\n expect(mockHideUC.hide).toHaveBeenCalled();\n });\n\n it(\"Doesn't warn if the picked object does not have the UC\", () => {\n const { uc, mockPick, appObjects } = makeTestRig();\n\n appObjects.submitWarning = jest.fn();\n appObjects.getOrCreate(\"SomeOtherObject\");\n mockPick.mockReturnValue({\n appObjectID: \"SomeOtherObject\",\n });\n\n uc.tryRayPick(ParametricLine.Forward());\n\n expect(appObjects.submitWarning).not.toHaveBeenCalled();\n });\n\n it(\"Picks with a pixel\", () => {\n const { uc, mockPixelPick } = makeTestRig();\n\n const pickPixel = new Vector2(1, 2);\n\n uc.tryPixelPick(pickPixel);\n\n expect(mockPixelPick.scenePixelPick).toHaveBeenCalledWith(pickPixel);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryPixelPick(Vector2.One());\n\n expect(mockHideUC.hide).toHaveBeenCalled();\n });\n\n it(\"Returns true if the hide tool is active\", () => {\n const { uc, hideTool } = makeTestRig();\n hideTool.state = ToolState.ACTIVE;\n\n expect(uc.allow()).toEqual(true);\n });\n\n it(\"Returns false if the hide tool is not active\", () => {\n const { uc, hideTool } = makeTestRig();\n hideTool.state = ToolState.ENABLED;\n\n expect(uc.allow()).toEqual(false);\n });\n});\n"]}
1
+ {"version":3,"file":"TryHideWithPickUC.test.js","sourceRoot":"","sources":["../../../../src/Hideable/UCs/TryHideWithPickUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { HideUCMock } from \"../Mocks/HideUCMock\";\nimport { makeTryHideWithPickUC, TryHideWithPickUC } from \"./TryHideWithPickUC\";\nimport { makeMockSceneRayPickUC } from \"../../Babylon/Mocks/MockSceneRayPickUC\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeMockScenePixelPickUC } from \"../../Babylon\";\nimport { makeToolRepo, ToolState } from \"../../Tools\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n const registerSingleton = jest.spyOn(appObjects, \"registerSingleton\");\n\n const ao = appObjects.getOrCreate(\"AO\");\n const uc = makeTryHideWithPickUC(ao);\n\n const hideableObj = appObjects.getOrCreate(\"hideableObj\");\n const mockHideUC = new HideUCMock(hideableObj);\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({ appObjectID: \"hideableObj\" });\n mockRayPick.sceneRayPick = mockPick;\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects);\n mockPixelPick.scenePixelPick = jest\n .fn()\n .mockReturnValue({ appObjectID: \"hideableObj\" });\n\n const toolRepo = makeToolRepo(appObjects.getOrCreate(\"ToolRepo\"));\n const hideTool = toolRepo.makeTool(\"HIDE\");\n hideTool.state = ToolState.ACTIVE;\n\n return {\n appObjects,\n ao,\n mockHideUC,\n uc,\n registerSingleton,\n mockPick,\n mockPixelPick,\n hideTool,\n };\n}\n\ndescribe(\"Hide UC\", () => {\n it(\"Gets the singleton\", () => {\n const { appObjects, uc } = makeTestRig();\n\n expect(TryHideWithPickUC.get(appObjects)).toEqual(uc);\n });\n\n it(\"Registers as the singleton\", () => {\n const { registerSingleton, uc } = makeTestRig();\n\n expect(registerSingleton).toHaveBeenCalledWith(uc);\n });\n\n it(\"Picks with the ray\", () => {\n const { uc, mockPick } = makeTestRig();\n\n const pickRay = ParametricLine.FromPointDirection(\n new Vector3(1, 2, 3),\n new Vector3(4, 5, 6)\n );\n\n uc.tryRayPick(pickRay);\n\n expect(mockPick).toHaveBeenCalledWith(pickRay);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryRayPick(ParametricLine.Forward());\n\n expect(mockHideUC.hide).toHaveBeenCalled();\n });\n\n it(\"Doesn't warn if the picked object does not have the UC\", () => {\n const { uc, mockPick, appObjects } = makeTestRig();\n\n appObjects.submitWarning = jest.fn();\n appObjects.getOrCreate(\"SomeOtherObject\");\n mockPick.mockReturnValue({\n appObjectID: \"SomeOtherObject\",\n });\n\n uc.tryRayPick(ParametricLine.Forward());\n\n expect(appObjects.submitWarning).not.toHaveBeenCalled();\n });\n\n it(\"Picks with a pixel\", () => {\n const { uc, mockPixelPick } = makeTestRig();\n\n const pickPixel = new Vector2(1, 2);\n\n uc.tryPixelPick(pickPixel);\n\n expect(mockPixelPick.scenePixelPick).toHaveBeenCalledWith(pickPixel);\n });\n\n it(\"Calls the UC\", () => {\n const { uc, mockHideUC } = makeTestRig();\n\n uc.tryPixelPick(Vector2.One());\n\n expect(mockHideUC.hide).toHaveBeenCalled();\n });\n\n it(\"Returns true if the hide tool is active\", () => {\n const { uc, hideTool } = makeTestRig();\n hideTool.state = ToolState.ACTIVE;\n\n expect(uc.allow()).toEqual(true);\n });\n\n it(\"Returns false if the hide tool is not active\", () => {\n const { uc, hideTool } = makeTestRig();\n hideTool.state = ToolState.ENABLED;\n\n expect(uc.allow()).toEqual(false);\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverLabelMouse.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelMouse.ts"],"names":[],"mappings":";;;AAoBA,kDAEC;AAtBD,qEAAkE;AAClE,mEAAgE;AAChE,sCAA6D;AAC7D,iDAI0B;AAE1B,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CASC;AALQ,oBAAI,GAAG,6BAA6B,CAAC;AAO9C,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IA6B9C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA7BhC,oBAAe,GAAG,GAAG,CAAC;QAO/B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAEpC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,CAAC,CAAC;QAKA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CACjD,mCAAgB,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,wGAAwG,CACzG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["import { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\n\nexport abstract class HoverLabelMouse\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"Mouse_HoverLabel_Controller\";\n\n abstract readonly hoverLabelDelay: number;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeHoverLabelMouse(appObject: AppObject): HoverLabelMouse {\n return new HoverLabelMouseImp(appObject);\n}\n\nclass HoverLabelMouseImp extends HoverLabelMouse {\n readonly hoverLabelDelay = 500;\n\n private currentTimeout: NodeJS.Timeout | undefined;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n if (!this.tryShowHoverLabel) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n }\n\n this.currentTimeout = setTimeout(() => {\n this.tryShowHoverLabel?.tryShowScreenHoverLabel(e.position);\n this.currentTimeout = undefined;\n }, this.hoverLabelDelay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelMouse.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\"\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"HoverLabelMouse.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelMouse.ts"],"names":[],"mappings":";;;AAoBA,kDAEC;AAtBD,qEAAkE;AAClE,mEAAgE;AAChE,sCAA6D;AAC7D,iDAI0B;AAE1B,MAAsB,eACpB,SAAQ,0BAAmB;;AAD7B,0CASC;AALQ,oBAAI,GAAG,6BAA6B,CAAC;AAO9C,SAAgB,mBAAmB,CAAC,SAAoB;IACtD,OAAO,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAmB,SAAQ,eAAe;IA6B9C,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QA7BhC,oBAAe,GAAG,GAAG,CAAC;QAO/B,UAAK,GAAG,CAAC,CAAkB,EAAW,EAAE;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,OAAO;YAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAAE,OAAO;YAEpC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAClC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC3B,CAAC,CAAC;QAKA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CACjD,mCAAgB,CAAC,IAAI,CACtB,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CACP,wGAAwG,CACzG,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,qCAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,6BAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;CACF","sourcesContent":["import { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput\";\n\nexport abstract class HoverLabelMouse\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"Mouse_HoverLabel_Controller\";\n\n abstract readonly hoverLabelDelay: number;\n abstract onMove: (e: MouseInputEvent) => void;\n abstract allow: (e: MouseInputEvent) => boolean;\n}\n\nexport function makeHoverLabelMouse(appObject: AppObject): HoverLabelMouse {\n return new HoverLabelMouseImp(appObject);\n}\n\nclass HoverLabelMouseImp extends HoverLabelMouse {\n readonly hoverLabelDelay = 500;\n\n private currentTimeout: NodeJS.Timeout | undefined;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: MouseInputEvent): boolean => {\n return true;\n };\n\n onMove = (e: MouseInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n if (!this.tryShowHoverLabel) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n }\n\n this.currentTimeout = setTimeout(() => {\n this.tryShowHoverLabel?.tryShowScreenHoverLabel(e.position);\n this.currentTimeout = undefined;\n }, this.hoverLabelDelay);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelMouse.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type,\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\",\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n\n const mouseInput = MouseInputEntity.get(this.appObjects);\n if (mouseInput) {\n mouseInput.registerController(this);\n } else {\n this.warn(\"Unable to find MouseInputEntity\");\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverLabelTouch.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelTouch.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\n\nexport abstract class HoverLabelTouch\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"Touch_Hoverlabel_Controller\";\n\n abstract readonly touchLabelDragThreshold: number;\n abstract allow: (e: TouchInputEvent) => boolean;\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(): void;\n}\n\nexport function makeHoverLabelTouch(appObject: AppObject): HoverLabelTouch {\n return new HoverLabelTouchImp(appObject);\n}\n\nclass HoverLabelTouchImp extends HoverLabelTouch {\n readonly touchLabelDragThreshold = 15;\n\n private lastPosition: Vector2 = Vector2.Zero();\n private startPosition: Vector2 = Vector2.Zero();\n private touchStarted = false;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n this.touchStarted = false;\n\n if (e.touchCount !== 1) return;\n\n this.startPosition = e.touches[0].position;\n this.lastPosition = e.touches[0].position;\n this.touchStarted = true;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.touchStarted) return;\n\n this.lastPosition = e.touches[0].position;\n };\n\n onTouchEnd = () => {\n if (!this.touchStarted) return;\n if (!this.tryShowHoverLabel) return;\n\n const xDiff = this.lastPosition.x - this.startPosition.x;\n const yDiff = this.lastPosition.y - this.startPosition.y;\n const dist = Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n\n if (dist < this.touchLabelDragThreshold) {\n this.tryShowHoverLabel.tryShowScreenHoverLabel(this.lastPosition);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelTouch.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\"\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
1
+ {"version":3,"file":"HoverLabelTouch.js","sourceRoot":"","sources":["../../../../src/HoverLabel/Controllers/HoverLabelTouch.ts"],"names":[],"mappings":"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","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport { Vector2 } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController\";\nimport { HoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { TryShowHoverLabel } from \"../UseCases/TryShowHoverLabel\";\n\nexport abstract class HoverLabelTouch\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"Touch_Hoverlabel_Controller\";\n\n abstract readonly touchLabelDragThreshold: number;\n abstract allow: (e: TouchInputEvent) => boolean;\n abstract onTouchStart(e: TouchInputEvent): void;\n abstract onTouchMove(e: TouchInputEvent): void;\n abstract onTouchEnd(): void;\n}\n\nexport function makeHoverLabelTouch(appObject: AppObject): HoverLabelTouch {\n return new HoverLabelTouchImp(appObject);\n}\n\nclass HoverLabelTouchImp extends HoverLabelTouch {\n readonly touchLabelDragThreshold = 15;\n\n private lastPosition: Vector2 = Vector2.Zero();\n private startPosition: Vector2 = Vector2.Zero();\n private touchStarted = false;\n\n private hoverLabelEntity?: HoverLabelEntity;\n private tryShowHoverLabel?: TryShowHoverLabel;\n\n allow = (e: TouchInputEvent): boolean => {\n return true;\n };\n\n onTouchStart = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.hoverLabelEntity) return;\n\n this.hoverLabelEntity.hideHoverLabel();\n this.touchStarted = false;\n\n if (e.touchCount !== 1) return;\n\n this.startPosition = e.touches[0].position;\n this.lastPosition = e.touches[0].position;\n this.touchStarted = true;\n };\n\n onTouchMove = (e: TouchInputEvent) => {\n if (!this.allow(e)) return;\n if (!this.touchStarted) return;\n\n this.lastPosition = e.touches[0].position;\n };\n\n onTouchEnd = () => {\n if (!this.touchStarted) return;\n if (!this.tryShowHoverLabel) return;\n\n const xDiff = this.lastPosition.x - this.startPosition.x;\n const yDiff = this.lastPosition.y - this.startPosition.y;\n const dist = Math.sqrt(xDiff * xDiff + yDiff * yDiff);\n\n if (dist < this.touchLabelDragThreshold) {\n this.tryShowHoverLabel.tryShowScreenHoverLabel(this.lastPosition);\n }\n };\n\n constructor(appObject: AppObject) {\n super(appObject, HoverLabelTouch.type);\n\n this.hoverLabelEntity = this.appObject.getComponent<HoverLabelEntity>(\n HoverLabelEntity.type,\n );\n if (!this.hoverLabelEntity) {\n this.warn(\n \"Serializer has been added to an App Object that does not have a HoverLabelEntity. Add the Entity first\",\n );\n return;\n }\n\n this.tryShowHoverLabel = TryShowHoverLabel.get(this.appObjects);\n if (!this.tryShowHoverLabel) {\n this.warn(\"Unable to find TryShowHoverLabel UC\");\n return;\n }\n const touchInput = TouchInputEntity.get(this.appObjects);\n if (touchInput) {\n touchInput.registerController(this);\n } else {\n this.warn(\"Unable to find TouchInputEntity\");\n }\n }\n}\n"]}
@@ -17,8 +17,11 @@ function makeTestRig() {
17
17
  const showWorldSpy = jest.spyOn(hoverLabel, "showWorldHoverLabel");
18
18
  const hideSpy = jest.spyOn(hoverLabel, "hideHoverLabel");
19
19
  const tryShowUC = (0, TryShowHoverLabel_1.makeTryShowHoverLabel)(appObj);
20
- const mockPixelPick = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects).scenePixelPick;
21
- mockPixelPick.mockReturnValue({ appObjectID: "appObj" });
20
+ const mockPixelPickUC = (0, Babylon_1.makeMockScenePixelPickUC)(appObjects);
21
+ mockPixelPickUC.scenePixelPick = jest
22
+ .fn()
23
+ .mockReturnValue({ appObjectID: "appObj" });
24
+ const mockPixelPick = mockPixelPickUC.scenePixelPick;
22
25
  const mockRayPick = (0, Babylon_1.makeMockSceneRayPickUC)(appObjects);
23
26
  const mockPick = jest.fn().mockReturnValue({
24
27
  appObjectID: "appObj",
@@ -34,6 +37,7 @@ function makeTestRig() {
34
37
  hideSpy,
35
38
  mockPick,
36
39
  mockPixelPick,
40
+ mockPixelPickUC,
37
41
  appObj,
38
42
  };
39
43
  }
@@ -72,7 +76,9 @@ describe("Try Showing the Screen Hover Label Use Case", () => {
72
76
  it("Hide the hover label if app object ID is unknown", () => {
73
77
  const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();
74
78
  const position = new core_2.Vector2(1, 1);
75
- mockPixelPick.mockReturnValue({ appObjectID: "someOtherObject" });
79
+ mockPixelPick.mockReturnValue({
80
+ appObjectID: "someOtherObject",
81
+ });
76
82
  tryShowUC.tryShowScreenHoverLabel(position);
77
83
  expect(hideSpy).toHaveBeenCalled();
78
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TryShowHoverLabel.test.js","sourceRoot":"","sources":["../../../../src/HoverLabel/UseCases/TryShowHoverLabel.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeHoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { makeTryShowHoverLabel } from \"./TryShowHoverLabel\";\nimport { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeLabelEntity } from \"../../Label\";\nimport {\n makeMockScenePixelPickUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon\";\nimport { makeCalloutEntity } from \"../../Callouts\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const label = makeLabelEntity(appObj);\n label.custom = \"custom label\";\n\n const hoverLabel = makeHoverLabelEntity(appObj);\n\n const showScreenSpy = jest.spyOn(hoverLabel, \"showScreenHoverLabel\");\n const showWorldSpy = jest.spyOn(hoverLabel, \"showWorldHoverLabel\");\n const hideSpy = jest.spyOn(hoverLabel, \"hideHoverLabel\");\n\n const tryShowUC = makeTryShowHoverLabel(appObj);\n\n const mockPixelPick = makeMockScenePixelPickUC(appObjects).scenePixelPick;\n mockPixelPick.mockReturnValue({ appObjectID: \"appObj\" });\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n appObjectID: \"appObj\",\n worldPickPoint: new Vector3(1, 2, 3),\n });\n mockRayPick.sceneRayPick = mockPick;\n\n return {\n hoverLabel,\n label,\n tryShowUC,\n showScreenSpy,\n showWorldSpy,\n hideSpy,\n mockPick,\n mockPixelPick,\n appObj,\n };\n}\n\ndescribe(\"Try Showing the Screen Hover Label Use Case\", () => {\n it(\"Calls hide if the allow hover label is set to false\", () => {\n const { hoverLabel, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = false;\n tryShowUC.tryShowScreenHoverLabel(new Vector2(1, 1));\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Calls Show Screen Hover label with the custom label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showScreenSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(showScreenSpy).toHaveBeenCalledWith(label.custom, position);\n });\n\n it(\"Calls Show Screen Hover label with the default label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showScreenSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"default label\";\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(showScreenSpy).toHaveBeenCalledWith(label.default, position);\n });\n\n it(\"Hide the hover label if the label has nothing to show\", () => {\n const { hoverLabel, label, tryShowUC, hideSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"\";\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is unknown\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n mockPixelPick.mockReturnValue({ appObjectID: \"someOtherObject\" });\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is undefined\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n mockPixelPick.mockReturnValue({});\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n mockPixelPick.mockReturnValue(undefined);\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n});\n\ndescribe(\"Try Showing the World Hover Label Use Case\", () => {\n it(\"Calls hide if the allow hover label is set to false\", () => {\n const { hoverLabel, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = false;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Calls Show Screen Hover label with the custom label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showWorldSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(showWorldSpy).toHaveBeenCalledWith(\n label.custom,\n new Vector3(1, 2, 3),\n );\n });\n\n it(\"Calls Show Screen Hover label with the default label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showWorldSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"default label\";\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(showWorldSpy).toHaveBeenCalledWith(\n label.default,\n new Vector3(1, 2, 3),\n );\n });\n\n it(\"Hide the hover label if the label has nothing to show\", () => {\n const { hoverLabel, label, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"\";\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is unknown\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n appObjectID: \"someOtherObject\",\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue({\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the world pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue({\n appObjectID: \"appObj\",\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue(undefined);\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hides the hover label if it hits a callout with a point\", () => {\n const { hoverLabel, tryShowUC, hideSpy, appObj } = makeTestRig();\n makeCalloutEntity(appObj);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowScreenHoverLabel(Vector2.One());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hides the hover label if it hits a callout with a ray\", () => {\n const { hoverLabel, tryShowUC, hideSpy, appObj } = makeTestRig();\n makeCalloutEntity(appObj);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"file":"TryShowHoverLabel.test.js","sourceRoot":"","sources":["../../../../src/HoverLabel/UseCases/TryShowHoverLabel.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeHoverLabelEntity } from \"../Entities/HoverLabelEntity\";\nimport { makeTryShowHoverLabel } from \"./TryShowHoverLabel\";\nimport { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2, Vector3 } from \"@vived/core\";\nimport { makeLabelEntity } from \"../../Label\";\nimport {\n makeMockScenePixelPickUC,\n makeMockSceneRayPickUC,\n} from \"../../Babylon\";\nimport { makeCalloutEntity } from \"../../Callouts\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const appObj = appObjects.getOrCreate(\"appObj\");\n const label = makeLabelEntity(appObj);\n label.custom = \"custom label\";\n\n const hoverLabel = makeHoverLabelEntity(appObj);\n\n const showScreenSpy = jest.spyOn(hoverLabel, \"showScreenHoverLabel\");\n const showWorldSpy = jest.spyOn(hoverLabel, \"showWorldHoverLabel\");\n const hideSpy = jest.spyOn(hoverLabel, \"hideHoverLabel\");\n\n const tryShowUC = makeTryShowHoverLabel(appObj);\n\n const mockPixelPickUC = makeMockScenePixelPickUC(appObjects);\n mockPixelPickUC.scenePixelPick = jest\n .fn()\n .mockReturnValue({ appObjectID: \"appObj\" });\n const mockPixelPick = mockPixelPickUC.scenePixelPick;\n\n const mockRayPick = makeMockSceneRayPickUC(appObjects);\n const mockPick = jest.fn().mockReturnValue({\n appObjectID: \"appObj\",\n worldPickPoint: new Vector3(1, 2, 3),\n });\n mockRayPick.sceneRayPick = mockPick;\n\n return {\n hoverLabel,\n label,\n tryShowUC,\n showScreenSpy,\n showWorldSpy,\n hideSpy,\n mockPick,\n mockPixelPick,\n mockPixelPickUC,\n appObj,\n };\n}\n\ndescribe(\"Try Showing the Screen Hover Label Use Case\", () => {\n it(\"Calls hide if the allow hover label is set to false\", () => {\n const { hoverLabel, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = false;\n tryShowUC.tryShowScreenHoverLabel(new Vector2(1, 1));\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Calls Show Screen Hover label with the custom label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showScreenSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(showScreenSpy).toHaveBeenCalledWith(label.custom, position);\n });\n\n it(\"Calls Show Screen Hover label with the default label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showScreenSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"default label\";\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(showScreenSpy).toHaveBeenCalledWith(label.default, position);\n });\n\n it(\"Hide the hover label if the label has nothing to show\", () => {\n const { hoverLabel, label, tryShowUC, hideSpy } = makeTestRig();\n const position = new Vector2(1, 1);\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"\";\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is unknown\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n (mockPixelPick as jest.Mock).mockReturnValue({\n appObjectID: \"someOtherObject\",\n });\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is undefined\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n (mockPixelPick as jest.Mock).mockReturnValue({});\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPixelPick } = makeTestRig();\n const position = new Vector2(1, 1);\n (mockPixelPick as jest.Mock).mockReturnValue(undefined);\n\n tryShowUC.tryShowScreenHoverLabel(position);\n\n expect(hideSpy).toHaveBeenCalled();\n });\n});\n\ndescribe(\"Try Showing the World Hover Label Use Case\", () => {\n it(\"Calls hide if the allow hover label is set to false\", () => {\n const { hoverLabel, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = false;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Calls Show Screen Hover label with the custom label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showWorldSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(showWorldSpy).toHaveBeenCalledWith(\n label.custom,\n new Vector3(1, 2, 3)\n );\n });\n\n it(\"Calls Show Screen Hover label with the default label and screen position\", () => {\n const { hoverLabel, label, tryShowUC, showWorldSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"default label\";\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(showWorldSpy).toHaveBeenCalledWith(\n label.default,\n new Vector3(1, 2, 3)\n );\n });\n\n it(\"Hide the hover label if the label has nothing to show\", () => {\n const { hoverLabel, label, tryShowUC, hideSpy } = makeTestRig();\n\n hoverLabel.allowHoverLabel = true;\n label.custom = \"\";\n label.default = \"\";\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is unknown\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n\n mockPick.mockReturnValue({\n appObjectID: \"someOtherObject\",\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if app object ID is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue({\n worldPickPoint: new Vector3(1, 2, 3),\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the world pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue({\n appObjectID: \"appObj\",\n });\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hide the hover label if pick is undefined\", () => {\n const { tryShowUC, hideSpy, mockPick } = makeTestRig();\n mockPick.mockReturnValue(undefined);\n\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hides the hover label if it hits a callout with a point\", () => {\n const { hoverLabel, tryShowUC, hideSpy, appObj } = makeTestRig();\n makeCalloutEntity(appObj);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowScreenHoverLabel(Vector2.One());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n\n it(\"Hides the hover label if it hits a callout with a ray\", () => {\n const { hoverLabel, tryShowUC, hideSpy, appObj } = makeTestRig();\n makeCalloutEntity(appObj);\n\n hoverLabel.allowHoverLabel = true;\n tryShowUC.tryShowWorldHoverLabel(ParametricLine.Forward());\n\n expect(hideSpy).toHaveBeenCalled();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MouseLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/MouseLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,qEAI8C;AAC9C,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAKD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class MouseLabelDropAuthor\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"MouseLabelDropAuthor\";\n abstract onClick: (e: MouseInputEvent) => void;\n}\n\nexport function makeMouseLabelDropAuthor(\n appObject: AppObject\n): MouseLabelDropAuthor {\n return new MouseLabelDropAuthorImp(appObject);\n}\n\nclass MouseLabelDropAuthorImp extends MouseLabelDropAuthor {\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type\n );\n }\n onClick = (e: MouseInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLabelDropAuthor.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"MouseLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/MouseLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,qEAI8C;AAC9C,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAKD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,YAAO,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC/B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n MouseEventHandler,\n MouseInputEntity,\n MouseInputEvent,\n} from \"../../MouseInput/Entities/MouseInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class MouseLabelDropAuthor\n extends AppObjectController\n implements MouseEventHandler\n{\n static type = \"MouseLabelDropAuthor\";\n abstract onClick: (e: MouseInputEvent) => void;\n}\n\nexport function makeMouseLabelDropAuthor(\n appObject: AppObject,\n): MouseLabelDropAuthor {\n return new MouseLabelDropAuthorImp(appObject);\n}\n\nclass MouseLabelDropAuthorImp extends MouseLabelDropAuthor {\n private get mouseInput() {\n return this.getCachedSingleton<MouseInputEntity>(MouseInputEntity.type);\n }\n\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type,\n );\n }\n onClick = (e: MouseInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.position);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, MouseLabelDropAuthor.type);\n this.mouseInput?.registerController(this);\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,0EAImD;AACnD,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class TouchLabelDropAuthor\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TouchLabelDropAuthor\";\n abstract onTap: (e: TouchInputEvent) => void;\n}\n\nexport function makeTouchLabelDropAuthor(\n appObject: AppObject\n): TouchLabelDropAuthor {\n return new TouchLabelDropAuthorImp(appObject);\n}\n\nclass TouchLabelDropAuthorImp extends TouchLabelDropAuthor {\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type\n );\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n onTap = (e: TouchInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLabelDropAuthor.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
1
+ {"version":3,"file":"TouchLabelDropAuthor.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.ts"],"names":[],"mappings":";;;AAgBA,4DAIC;AApBD,sCAA6D;AAC7D,0EAImD;AACnD,iFAA8E;AAE9E,MAAsB,oBACpB,SAAQ,0BAAmB;;AAD7B,oDAMC;AAFQ,yBAAI,GAAG,sBAAsB,CAAC;AAIvC,SAAgB,wBAAwB,CACtC,SAAoB;IAEpB,OAAO,IAAI,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,uBAAwB,SAAQ,oBAAoB;IACxD,IAAY,kCAAkC;QAC5C,OAAO,IAAI,CAAC,kBAAkB,CAC5B,iDAAuB,CAAC,IAAI,CAC7B,CAAC;IACJ,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAmB,6BAAgB,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAMD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAL9C,UAAK,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC7B,IAAI,CAAC,kCAAkC,EAAE,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC,CAAC;QAIA,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { AppObject, AppObjectController } from \"@vived/core\";\nimport {\n TouchEventHandler,\n TouchInputEntity,\n TouchInputEvent,\n} from \"../../TouchController/Entities/TouchInput\";\nimport { ToggleLabelDropTargetUC } from \"../UseCases/ToggleLabelDropTargetUC\";\n\nexport abstract class TouchLabelDropAuthor\n extends AppObjectController\n implements TouchEventHandler\n{\n static type = \"TouchLabelDropAuthor\";\n abstract onTap: (e: TouchInputEvent) => void;\n}\n\nexport function makeTouchLabelDropAuthor(\n appObject: AppObject,\n): TouchLabelDropAuthor {\n return new TouchLabelDropAuthorImp(appObject);\n}\n\nclass TouchLabelDropAuthorImp extends TouchLabelDropAuthor {\n private get addLabelDropCorrectObjectFromRayUC() {\n return this.getCachedSingleton<ToggleLabelDropTargetUC>(\n ToggleLabelDropTargetUC.type,\n );\n }\n\n private get touchInput() {\n return this.getCachedSingleton<TouchInputEntity>(TouchInputEntity.type);\n }\n\n onTap = (e: TouchInputEvent) => {\n this.addLabelDropCorrectObjectFromRayUC?.tryToggleFromPixel(e.touchCenter);\n };\n\n constructor(appObject: AppObject) {\n super(appObject, TouchLabelDropAuthor.type);\n this.touchInput?.registerController(this);\n }\n}\n"]}
@@ -13,7 +13,10 @@ function makeTestRig() {
13
13
  const registerSpy = jest.spyOn(touchInput, "registerController");
14
14
  const mockUC = (0, ToggleLabelDropTargetUcMock_1.makeToggleLabelDropTargetUcMock)(appObjects);
15
15
  const touchLabelDrop = (0, TouchLabelDropAuthor_1.makeTouchLabelDropAuthor)(appObjects.getOrCreate("AO"));
16
- (0, Mocks_1.makeMockPixelToSceneRayUC)(appObjects).pixelToSceneRay.mockReturnValue(core_2.ParametricLine.Forward());
16
+ const mockPixelToRayUC = (0, Mocks_1.makeMockPixelToSceneRayUC)(appObjects);
17
+ mockPixelToRayUC.pixelToSceneRay = jest
18
+ .fn()
19
+ .mockReturnValue(core_2.ParametricLine.Forward());
17
20
  return {
18
21
  appObjects,
19
22
  mockUC,
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLabelDropAuthor.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAsD;AACtD,+CAAgE;AAChE,0EAA2E;AAC3E,qDAAiE;AACjE,sFAAuF;AACvF,iEAAkE;AAElE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAA,6DAA+B,EAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAA,+CAAwB,EAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC,eAAe,CAAC,eAAe,CACnE,qBAAc,CAAC,OAAO,EAAE,CACzB,CAAC;IAEF,OAAO;QACL,UAAU;QACV,MAAM;QACN,cAAc;QACd,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAA,0BAAmB,EAAC,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks\";\nimport { makeTouchInput } from \"../../TouchController/Entities/TouchInput\";\nimport { mockTouchInputEvent } from \"../../TouchController/Mock\";\nimport { makeToggleLabelDropTargetUcMock } from \"../Mocks/ToggleLabelDropTargetUcMock\";\nimport { makeTouchLabelDropAuthor } from \"./TouchLabelDropAuthor\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const touchInput = makeTouchInput(appObjects.getOrCreate(\"Input\"));\n const registerSpy = jest.spyOn(touchInput, \"registerController\");\n const mockUC = makeToggleLabelDropTargetUcMock(appObjects);\n const touchLabelDrop = makeTouchLabelDropAuthor(appObjects.getOrCreate(\"AO\"));\n\n makeMockPixelToSceneRayUC(appObjects).pixelToSceneRay.mockReturnValue(\n ParametricLine.Forward(),\n );\n\n return {\n appObjects,\n mockUC,\n touchLabelDrop,\n registerSpy,\n };\n}\n\ndescribe(\"Touch Label Drop Controller\", () => {\n it(\"Registers with the mouse input when constructed\", () => {\n const { registerSpy, touchLabelDrop } = makeTestRig();\n\n expect(registerSpy).toHaveBeenCalledWith(touchLabelDrop);\n });\n\n it(\"Calls the UC on tap\", () => {\n const { touchLabelDrop, mockUC } = makeTestRig();\n const evt = mockTouchInputEvent([new Vector2(2, 3)]);\n\n touchLabelDrop.onTap(evt);\n\n expect(mockUC.tryToggleFromPixel).toHaveBeenCalledWith(new Vector2(2, 3));\n });\n});\n"]}
1
+ {"version":3,"file":"TouchLabelDropAuthor.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/TouchLabelDropAuthor.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAsD;AACtD,+CAAgE;AAChE,0EAA2E;AAC3E,qDAAiE;AACjE,sFAAuF;AACvF,iEAAkE;AAElE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,IAAA,2BAAc,EAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAA,6DAA+B,EAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,IAAA,+CAAwB,EAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9E,MAAM,gBAAgB,GAAG,IAAA,iCAAyB,EAAC,UAAU,CAAC,CAAC;IAC/D,gBAAgB,CAAC,eAAe,GAAG,IAAI;SACpC,EAAE,EAAE;SACJ,eAAe,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7C,OAAO;QACL,UAAU;QACV,MAAM;QACN,cAAc;QACd,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAAC;QAEtD,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAA,0BAAmB,EAAC,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAErD,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1B,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\nimport { ParametricLine, Vector2 } from \"@vived/core\";\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks\";\nimport { makeTouchInput } from \"../../TouchController/Entities/TouchInput\";\nimport { mockTouchInputEvent } from \"../../TouchController/Mock\";\nimport { makeToggleLabelDropTargetUcMock } from \"../Mocks/ToggleLabelDropTargetUcMock\";\nimport { makeTouchLabelDropAuthor } from \"./TouchLabelDropAuthor\";\n\nfunction makeTestRig() {\n const appObjects = makeAppObjectRepo();\n\n const touchInput = makeTouchInput(appObjects.getOrCreate(\"Input\"));\n const registerSpy = jest.spyOn(touchInput, \"registerController\");\n const mockUC = makeToggleLabelDropTargetUcMock(appObjects);\n const touchLabelDrop = makeTouchLabelDropAuthor(appObjects.getOrCreate(\"AO\"));\n\n const mockPixelToRayUC = makeMockPixelToSceneRayUC(appObjects);\n mockPixelToRayUC.pixelToSceneRay = jest\n .fn()\n .mockReturnValue(ParametricLine.Forward());\n\n return {\n appObjects,\n mockUC,\n touchLabelDrop,\n registerSpy,\n };\n}\n\ndescribe(\"Touch Label Drop Controller\", () => {\n it(\"Registers with the mouse input when constructed\", () => {\n const { registerSpy, touchLabelDrop } = makeTestRig();\n\n expect(registerSpy).toHaveBeenCalledWith(touchLabelDrop);\n });\n\n it(\"Calls the UC on tap\", () => {\n const { touchLabelDrop, mockUC } = makeTestRig();\n const evt = mockTouchInputEvent([new Vector2(2, 3)]);\n\n touchLabelDrop.onTap(evt);\n\n expect(mockUC.tryToggleFromPixel).toHaveBeenCalledWith(new Vector2(2, 3));\n });\n});\n"]}
@@ -15,7 +15,10 @@ function makeTestRig() {
15
15
  const labelDropEntity = (0, LabelDropRepo_1.makeLabelDropRepo)(ao);
16
16
  const mockUC = (0, MockDragLabelDropUC_1.makeMockDragLabelDropUC)(appObjects);
17
17
  labelDropEntity.makeLabelDropItem("labelDropTestID");
18
- const pixelToSceneRayUC = (0, MockPixelToSceneRayUC_1.makeMockPixelToSceneRayUC)(appObjects).pixelToSceneRay.mockReturnValue(core_2.ParametricLine.Forward());
18
+ const pixelToSceneRayUC = (0, MockPixelToSceneRayUC_1.makeMockPixelToSceneRayUC)(appObjects);
19
+ pixelToSceneRayUC.pixelToSceneRay = jest
20
+ .fn()
21
+ .mockReturnValue(core_2.ParametricLine.Forward());
19
22
  return { appObjects, ao, labelDropEntity, mockUC, pixelToSceneRayUC };
20
23
  }
21
24
  describe("Release Drag Label Drop Answer Item", () => {
@@ -37,7 +40,7 @@ describe("Release Drag Label Drop Answer Item", () => {
37
40
  const releasePos = new core_2.Vector2(10, 20);
38
41
  const expectedOffSet = new core_2.Vector2(releasePos.x - renderCanvas.position.x, releasePos.y - renderCanvas.position.y);
39
42
  (0, releaseLabelDropAnswerItemScreen_1.releaseLabelDropAnswerItemScreen)(10, 20, appObjects);
40
- expect(pixelToSceneRayUC).toHaveBeenCalledWith(expectedOffSet);
43
+ expect(pixelToSceneRayUC.pixelToSceneRay).toHaveBeenCalledWith(expectedOffSet);
41
44
  });
42
45
  });
43
46
  //# sourceMappingURL=releaseLabelDropAnswerItemScreen.test.js.map