office-gobmx/embeddedobj
Mike Kaganski c4d420a7fb Only run test dependent on MS Paint OLE class, if Paint is installed
Nowadays, MS Paint is optional component distributed through MS Store
(https://www.microsoft.com/store/productId/9PCFS5B6T72H); it may be
absent on some systems, resulting in tests relying on it failing.

  [build CUT] embeddedobj_msole
  [_RUN_____] testSaveOnThread::TestBody
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:207: Loaded object has no cached size!
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:232: OleEmbeddedObject::getVisualAreaSize: GetExtent() failed: com.sun.star.embed.UnreachableStateException message: "Class not registered
  Bitmap Image at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:904" context: class OleComponent
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olecomponent.cxx:1142:  OleComponent::GetCachedExtent: GetExtent() failed
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:257: OleEmbeddedObject::getVisualAreaSize: GetCachedExtent() failed: com.sun.star.lang.IllegalArgumentException message: "at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:1143" ArgumentPosition: 0
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olecomponent.cxx:1160:  OleComponent::GetRecommendedExtent: GetExtent() failed
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:271: OleEmbeddedObject::getVisualAreaSize: GetRecommendedExtent() failed: com.sun.star.lang.IllegalArgumentException message: "at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:1161" ArgumentPosition: 0
  warn:svtools.misc:123152:104988:svtools/source/misc/embedhlp.cxx:554: EmbeddedObjectRef::GetSize: no visual area size
  warn:svtools.misc:123152:104988:svtools/source/misc/embedhlp.cxx:573: EmbeddedObjectRef::GetSize: empty size, defaulting to 5x5cm
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:207: Loaded object has no cached size!
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:232: OleEmbeddedObject::getVisualAreaSize: GetExtent() failed: com.sun.star.embed.UnreachableStateException message: "Class not registered
  Bitmap Image at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:904" context: class OleComponent
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olecomponent.cxx:1142:  OleComponent::GetCachedExtent: GetExtent() failed
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:257: OleEmbeddedObject::getVisualAreaSize: GetCachedExtent() failed: com.sun.star.lang.IllegalArgumentException message: "at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:1143" ArgumentPosition: 0
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olecomponent.cxx:1160:  OleComponent::GetRecommendedExtent: GetExtent() failed
  warn:embeddedobj.ole:123152:104988:embeddedobj/source/msole/olevisual.cxx:271: OleEmbeddedObject::getVisualAreaSize: GetRecommendedExtent() failed: com.sun.star.lang.IllegalArgumentException message: "at C:/lo/core/embeddedobj/source/msole/olecomponent.cxx:1161" ArgumentPosition: 0
  warn:svtools.misc:123152:104988:svtools/source/misc/embedhlp.cxx:554: EmbeddedObjectRef::GetSize: no visual area size
  warn:svtools.misc:123152:104988:svtools/source/misc/embedhlp.cxx:573: EmbeddedObjectRef::GetSize: empty size, defaulting to 5x5cm
  C:/lo/core/test/source/xmltesttools.cxx:171:testSaveOnThread::TestBody
  equality assertion failed
  - Expected: 0.1665in
  - Actual  : 1.9685in
  - In <>, attribute 'visible-area-width' of '//style:graphic-properties' incorrect value.

Check the class registration, and exit early if needed.

It is unclear if we should do something specific with MS Paint objects
on Windows, when MS Paint is absent, as we do on Linux; this is just
a quick workaround.

Similar checks might be needed in other tests.

Change-Id: I4d99bc3b13d84da53bdb5aa6259083a68ccc8871
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160597
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-12-11 22:10:18 +01:00
..
qa Only run test dependent on MS Paint OLE class, if Paint is installed 2023-12-11 22:10:18 +01:00
source tdf#158375: add expert option to disable active content 2023-12-07 13:07:17 +01:00
test
util
CppunitTest_embeddedobj_general.mk
CppunitTest_embeddedobj_msole.mk Only run test dependent on MS Paint OLE class, if Paint is installed 2023-12-11 22:10:18 +01:00
IwyuFilter_embeddedobj.yaml
Library_embobj.mk
Library_emboleobj.mk
Makefile
Module_embeddedobj.mk
README.md

Embedding Objects Into LibreOffice

Code for embedding objects into LibreOffice (reverse of embedserv module).