summaryrefslogtreecommitdiff
path: root/tests/unit/unittest/qmlprojectmanager
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/unittest/qmlprojectmanager')
-rw-r--r--tests/unit/unittest/qmlprojectmanager/CMakeLists.txt7
-rw-r--r--tests/unit/unittest/qmlprojectmanager/converters-test.cpp94
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/README.md32
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.jsontoqml98
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmlproject110
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmltojson177
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.jsontoqml54
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmlproject44
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmltojson91
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject112
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject.qtds1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialLibrary.qrc1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AcrylicPaintMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AluminiumMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AsphaltMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/BrickMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintGlitterMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarbonFiberMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CeramicMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ChromeMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ConcreteMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CopperMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricRoughMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricSatinMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassTintedMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GoldMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/LeatherMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/MirrorMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PaperMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticMatteMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticShinyMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticTexturedMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/RubberMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SilverMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelBrushedMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelFloorMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/StoneMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WaxMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodParquetMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodPlanksMaterial.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/_asset_ref.json1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/acrylicpaint.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/aluminium.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/asphalt.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/brick.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carbonfiber.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaint.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaintglitter.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/ceramic.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/chrome.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/concrete.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/copper.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabric.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricrough.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricsatin.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glass.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glasstinted.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/gold.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/leather.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/mirror.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/paper.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticmatte.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticshiny.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plastictextured.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/rubber.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/silver.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steel.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelbrushed.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelfloor.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/stone.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wax.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wood.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodparquet.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodplanks.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Opacity.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_AmbientOcclusion.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric004_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Displacement.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Displacement.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.jpg1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_AmbientOcclusion.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_AmbientOcclusion.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_AmbientOcclusion.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Color.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_NormalGL.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Roughness.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/blurrynoise.tga1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/noisenormal.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/qmldir1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.frag1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.vert1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.frag1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.vert1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.frag1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.vert1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.frag1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.vert1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/App.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CustomRoundButton.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MaterialNames.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MouseRotator.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/Screen01.ui.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Bold.ttf1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Regular.ttf1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/fonts.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/Ground_ShadowMap.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/dark_mode.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/day_mode.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/LDR_RGB1_3.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/QtLogo_HD.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/innerMesh.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/lightToggle.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/outerMesh.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon_on.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/White.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/checkmark.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/groundAlpha.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/qtlogo.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/scratchmap.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/shadow.png1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_AO.jpg1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Albedo.jpg1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Normal.jpg1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Roughness.jpg1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/floor.mesh1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/materialBall.mesh1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/filelist.txt126
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/CMakeLists.txt1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/Constants.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/DirectoryFontLoader.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListModel.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListSimulator.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/designer/plugin.metainfo1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/qmldir1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/main.qml1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlcomponents1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlmodules1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/qtquickcontrols2.conf1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/share.qrc1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/src/app_environment.h1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/src/import_qml_plugins.h1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/src/main.cpp1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/file-filters/translations.db1
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/getter-setter/empty.qmlproject44
-rw-r--r--tests/unit/unittest/qmlprojectmanager/data/getter-setter/notEmpty.qmlproject96
-rw-r--r--tests/unit/unittest/qmlprojectmanager/projectitem-test.cpp539
194 files changed, 1804 insertions, 0 deletions
diff --git a/tests/unit/unittest/qmlprojectmanager/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/CMakeLists.txt
new file mode 100644
index 0000000000..9b5037fc52
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/CMakeLists.txt
@@ -0,0 +1,7 @@
+extend_qtc_test(unittest
+ DEPENDS
+ QmlProjectManagerLib
+ SOURCES
+ converters-test.cpp
+ projectitem-test.cpp
+)
diff --git a/tests/unit/unittest/qmlprojectmanager/converters-test.cpp b/tests/unit/unittest/qmlprojectmanager/converters-test.cpp
new file mode 100644
index 0000000000..efa2b647ae
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/converters-test.cpp
@@ -0,0 +1,94 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include "googletest.h" // IWYU pragma: keep
+
+#include <qmlprojectmanager/buildsystem/projectitem/converters.h>
+
+#include <QJsonDocument>
+
+namespace {
+constexpr QLatin1String localTestDataDir{UNITTEST_DIR "/qmlprojectmanager/data"};
+
+class DataSet : public testing::TestWithParam<QString>
+{
+public:
+ void setDataSource(const QString &dataSetName)
+ {
+ m_dataSetDirectory.setPath(localTestDataDir + "/converter/" + dataSetName);
+
+ m_qmlProjectFile = Utils::FilePath::fromString(
+ QString(m_dataSetDirectory.absolutePath()).append("/testfile.qmlproject"));
+ m_jsonToQmlProjectFile = Utils::FilePath::fromString(
+ QString(m_dataSetDirectory.absolutePath()).append("/testfile.jsontoqml"));
+ m_qmlProjectToJsonFile = Utils::FilePath::fromString(
+ QString(m_dataSetDirectory.absolutePath()).append("/testfile.qmltojson"));
+ }
+
+ QString qmlProjectContent() const
+ {
+ return (m_qmlProjectFile.fileContents()
+ ? QString::fromLatin1(m_qmlProjectFile.fileContents().value())
+ : QString{});
+ }
+ QString jsonToQmlProjectContent() const
+ {
+ return m_jsonToQmlProjectFile.fileContents()
+ ? QString::fromLatin1(m_jsonToQmlProjectFile.fileContents().value())
+ : QString{};
+ }
+ QString qmlProjectToJsonContent() const
+ {
+ return m_qmlProjectToJsonFile.fileContents()
+ ? QString::fromLatin1(m_qmlProjectToJsonFile.fileContents().value())
+ : QString{};
+ }
+
+ QString dataSetPath() const { return m_dataSetDirectory.absolutePath(); }
+ QString dataSetName() const { return m_dataSetDirectory.dirName(); }
+ Utils::FilePath qmlProjectFile() const { return m_qmlProjectFile; }
+ Utils::FilePath jsonToQmlProjectFile() const { return m_jsonToQmlProjectFile; }
+ Utils::FilePath qmlProjectToJsonFile() const { return m_qmlProjectToJsonFile; }
+
+private:
+ QDir m_dataSetDirectory;
+ Utils::FilePath m_qmlProjectFile;
+ Utils::FilePath m_jsonToQmlProjectFile;
+ Utils::FilePath m_qmlProjectToJsonFile;
+};
+
+INSTANTIATE_TEST_SUITE_P(ConverterTests,
+ DataSet,
+ ::testing::Values(QString("test-set-1"), QString("test-set-2")));
+
+TEST_P(DataSet, QmlProjectToJson)
+{
+ // GIVEN
+ setDataSource(GetParam());
+ QString targetContent = qmlProjectToJsonContent().replace("\r\n", "\n");
+ auto qmlFile = qmlProjectFile();
+
+ // WHEN
+ auto jsonObject = QmlProjectManager::Converters::qmlProjectTojson(qmlFile);
+
+ // THEN
+ QString convertedContent{QString::fromLatin1(QJsonDocument(jsonObject).toJson())};
+ ASSERT_THAT(convertedContent, Eq(targetContent));
+}
+
+TEST_P(DataSet, JsonToQmlProject)
+{
+ // GIVEN
+ setDataSource(GetParam());
+ QString targetContent = jsonToQmlProjectContent().replace("\r\n", "\n");
+ auto jsonContent = qmlProjectToJsonContent().toLatin1();
+
+ // WHEN
+ auto jsonObject{QJsonDocument::fromJson(jsonContent).object()};
+
+ // THEN
+ QString convertedContent = QmlProjectManager::Converters::jsonToQmlProject(jsonObject);
+ ASSERT_THAT(convertedContent, Eq(targetContent));
+}
+
+} // namespace
diff --git a/tests/unit/unittest/qmlprojectmanager/data/README.md b/tests/unit/unittest/qmlprojectmanager/data/README.md
new file mode 100644
index 0000000000..0edd94edd9
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/README.md
@@ -0,0 +1,32 @@
+# Test Set Information
+
+This document contains information about the purpose of each test sets.
+
+## Getter/Setter test data
+
+* **testfile-1.qmlproject**: QmlProject file with properly filled out object
+* **testfile-2.qmlproject**: QmlProject file with empty objects
+
+## Converter test data
+
+Test functions iterate over the "test-set-*" folders and run the tests by using the files inside them.
+
+* **testfile.qmlproject**: Original QmlProject file that'll be converted
+* **testfile.qmltojson**: JSON-converted version of the .qmlproject file
+* **testfile.jsontoqml**: QmlProject-converted version of the .qmltojson file
+
+### test-set-1
+
+* **purpose**: testing complex qmlproject file convertion
+* **origin**: custom project
+
+### test-set-2
+
+* **purpose**: testing fileselectors
+* **origin**: file selectors example from playground
+
+## File Filters test data
+
+Test data contains an example project folders that file filters will be initialized and tested.
+
+* **filelist.txt**: List of the files need to be found by the file filters.
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.jsontoqml b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.jsontoqml
new file mode 100644
index 0000000000..5207599f99
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.jsontoqml
@@ -0,0 +1,98 @@
+\\ prop: json-converted
+\\ prop: auto-generated
+
+import QmlProject
+
+Project {
+ mainFile: "content/App.qml"
+ mainUiFile: "content/Screen01.ui.qml"
+ targetDirectory: "/opt/UntitledProject13"
+ widgetApp: true
+ importPaths: [ "imports","asset_imports" ]
+
+ qdsVersion: "4.0"
+ quickVersion: "6.2"
+ qt6Project: true
+ qtForMCUs: true
+
+ multilanguageSupport: true
+ primaryLanguage: "en"
+ supportedLanguages: [ "en" ]
+
+ Environment {
+ QML_COMPAT_RESOLVE_URLS_ON_ASSIGNMENT: "1"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ QT_ENABLE_HIGHDPI_SCALING: "0"
+ QT_LOGGING_RULES: "qt.qml.connections=false"
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ }
+
+ ShaderTool {
+ args: "-s --glsl "100 es,120,150" --hlsl 50 --msl 12"
+ files: [ "content/shaders/*" ]
+ }
+
+ QmlFiles {
+ directory: "content"
+ }
+
+ QmlFiles {
+ directory: "imports"
+ }
+
+ QmlFiles {
+ directory: "asset_imports"
+ }
+
+ JavaScriptFiles {
+ directory: "content"
+ }
+
+ JavaScriptFiles {
+ directory: "imports"
+ }
+
+ ImageFiles {
+ directory: "content"
+ }
+
+ ImageFiles {
+ directory: "asset_imports"
+ }
+
+ Files {
+ directory: "."
+ filters: "*.conf"
+ files: [ "qtquickcontrols2.conf" ]
+ }
+
+ Files {
+ directory: "."
+ filters: "*.ttf;*.otf;*.ctf"
+ }
+
+ Files {
+ directory: "asset_imports"
+ filters: "*.mesh"
+ }
+
+ Files {
+ directory: "."
+ filters: "qmldir"
+ }
+
+ Files {
+ directory: "."
+ filters: "*.glsl;*.glslv;*.glslf;*.vsh;*.fsh;*.vert;*.frag;*.trag"
+ }
+
+ Files {
+ directory: "."
+ filters: "*.mp3;*.wav"
+ }
+
+ Files {
+ directory: "."
+ filters: "*.mp4"
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmlproject b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmlproject
new file mode 100644
index 0000000000..1ff457cdd8
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmlproject
@@ -0,0 +1,110 @@
+import QmlProject
+
+Project {
+ mainFile: "content/App.qml"
+ mainUiFile: "content/Screen01.ui.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "content"
+ }
+
+ QmlFiles {
+ directory: "imports"
+ }
+
+ JavaScriptFiles {
+ directory: "content"
+ }
+
+ JavaScriptFiles {
+ directory: "imports"
+ }
+
+ ImageFiles {
+ directory: "content"
+ }
+
+ ImageFiles {
+ directory: "asset_imports"
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Files {
+ filter: "*.ttf;*.otf;*.ctf"
+ }
+
+ Files {
+ filter: "*.wav;*.mp3"
+ }
+
+ Files {
+ filter: "*.mp4"
+ }
+
+ Files {
+ filter: "*.glsl;*.glslv;*.glslf;*.vsh;*.fsh;*.vert;*.frag;*.trag"
+ }
+
+ Files {
+ filter: "*.mesh"
+ directory: "asset_imports"
+ }
+
+ Files {
+ filter: "*.qml"
+ directory: "asset_imports"
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ QML_COMPAT_RESOLVE_URLS_ON_ASSIGNMENT: "1"
+ QT_LOGGING_RULES: "qt.qml.connections=false"
+ QT_ENABLE_HIGHDPI_SCALING: "0"
+ /* Useful for debugging
+ QSG_VISUALIZE=batches
+ QSG_VISUALIZE=clip
+ QSG_VISUALIZE=changes
+ QSG_VISUALIZE=overdraw
+ */
+ }
+
+ qt6Project: true
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports", "asset_imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/UntitledProject13"
+
+ qdsVersion: "4.0"
+
+ quickVersion: "6.2"
+
+ /* If any modules the project imports require widgets (e.g. QtCharts), widgetApp must be true */
+ widgetApp: true
+
+ /* args: Specifies command line arguments for qsb tool to generate shaders.
+ files: Specifies target files for qsb tool. If path is included, it must be relative to this file.
+ Wildcard '*' can be used in the file name part of the path.
+ e.g. files: [ "content/shaders/*.vert", "*.frag" ] */
+ ShaderTool {
+ args: "-s --glsl \"100 es,120,150\" --hlsl 50 --msl 12"
+ files: [ "content/shaders/*" ]
+ }
+
+ multilanguageSupport: true
+ supportedLanguages: ["en"]
+ primaryLanguage: "en"
+
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmltojson b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmltojson
new file mode 100644
index 0000000000..9abc7a76c3
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-1/testfile.qmltojson
@@ -0,0 +1,177 @@
+{
+ "deployment": {
+ "targetDirectory": "/opt/UntitledProject13"
+ },
+ "environment": {
+ "QML_COMPAT_RESOLVE_URLS_ON_ASSIGNMENT": "1",
+ "QT_AUTO_SCREEN_SCALE_FACTOR": "1",
+ "QT_ENABLE_HIGHDPI_SCALING": "0",
+ "QT_LOGGING_RULES": "qt.qml.connections=false",
+ "QT_QUICK_CONTROLS_CONF": "qtquickcontrols2.conf"
+ },
+ "fileGroups": {
+ "config": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ {
+ "name": "qtquickcontrols2.conf"
+ }
+ ],
+ "filters": [
+ "*.conf"
+ ]
+ },
+ "font": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.ttf",
+ "*.otf",
+ "*.ctf"
+ ]
+ },
+ "image": {
+ "directories": [
+ "content",
+ "asset_imports"
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.jpeg",
+ "*.jpg",
+ "*.png",
+ "*.svg",
+ "*.hdr",
+ ".ktx"
+ ]
+ },
+ "javaScript": {
+ "directories": [
+ "content",
+ "imports"
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.js",
+ "*.ts"
+ ]
+ },
+ "meshes": {
+ "directories": [
+ "asset_imports"
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.mesh"
+ ]
+ },
+ "qml": {
+ "directories": [
+ "content",
+ "imports",
+ "asset_imports"
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.qml"
+ ]
+ },
+ "qmldir": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "qmldir"
+ ]
+ },
+ "shader": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.glsl",
+ "*.glslv",
+ "*.glslf",
+ "*.vsh",
+ "*.fsh",
+ "*.vert",
+ "*.frag",
+ "*.trag"
+ ]
+ },
+ "sound": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.mp3",
+ "*.wav"
+ ]
+ },
+ "video": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.mp4"
+ ]
+ }
+ },
+ "fileVersion": 1,
+ "importPaths": [
+ "imports",
+ "asset_imports"
+ ],
+ "language": {
+ "multiLanguageSupport": true,
+ "primaryLanguage": "en",
+ "supportedLanguages": [
+ "en"
+ ]
+ },
+ "mcuConfig": {
+ },
+ "runConfig": {
+ "fileSelectors": [
+ ],
+ "mainFile": "content/App.qml",
+ "mainUiFile": "content/Screen01.ui.qml",
+ "widgetApp": true
+ },
+ "shaderTool": {
+ "args": [
+ "-s",
+ "--glsl",
+ "\"100 es,120,150\"",
+ "--hlsl",
+ "50",
+ "--msl",
+ "12"
+ ],
+ "files": [
+ "content/shaders/*"
+ ]
+ },
+ "versions": {
+ "designStudio": "4.0",
+ "qt": "6",
+ "qtQuick": "6.2"
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.jsontoqml b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.jsontoqml
new file mode 100644
index 0000000000..aaf8d0fdc0
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.jsontoqml
@@ -0,0 +1,54 @@
+\\ prop: json-converted
+\\ prop: auto-generated
+
+import QmlProject
+
+Project {
+ mainFile: "fileSelectors.qml"
+ mainUiFile: ""
+ targetDirectory: "/opt/fileSelectors"
+ widgetApp: false
+ importPaths: [ "imports" ]
+
+ qdsVersion: ""
+ quickVersion: ""
+ qt6Project: false
+ qtForMCUs: true
+
+ multilanguageSupport: false
+ primaryLanguage: ""
+ supportedLanguages: [ ]
+
+ Environment {
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ }
+
+ ShaderTool {
+ args: ""
+ files: [ ]
+ }
+
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ directory: "."
+ filters: "*.conf"
+ files: [ "qtquickcontrols2.conf" ]
+ }
+
+ Files {
+ directory: "."
+ filters: "qmldir"
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmlproject b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmlproject
new file mode 100644
index 0000000000..409b46bb7f
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmlproject
@@ -0,0 +1,44 @@
+/* File generated by Qt Creator */
+
+import QmlProject 1.1
+
+Project {
+ mainFile: "fileSelectors.qml"
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "."
+ }
+
+ JavaScriptFiles {
+ directory: "."
+ }
+
+ ImageFiles {
+ directory: "."
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ }
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports" ]
+
+ //fileSelectors: [ "WXGA", "darkTheme" ]
+ fileSelectors: [ "WXGA", "darkTheme", "ShowIndicator"]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/fileSelectors"
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmltojson b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmltojson
new file mode 100644
index 0000000000..5635cf1f63
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/converter/test-set-2/testfile.qmltojson
@@ -0,0 +1,91 @@
+{
+ "deployment": {
+ "targetDirectory": "/opt/fileSelectors"
+ },
+ "environment": {
+ "QT_AUTO_SCREEN_SCALE_FACTOR": "1",
+ "QT_QUICK_CONTROLS_CONF": "qtquickcontrols2.conf"
+ },
+ "fileGroups": {
+ "config": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ {
+ "name": "qtquickcontrols2.conf"
+ }
+ ],
+ "filters": [
+ "*.conf"
+ ]
+ },
+ "image": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.jpeg",
+ "*.jpg",
+ "*.png",
+ "*.svg",
+ "*.hdr",
+ ".ktx"
+ ]
+ },
+ "javaScript": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.js",
+ "*.ts"
+ ]
+ },
+ "qml": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "*.qml"
+ ]
+ },
+ "qmldir": {
+ "directories": [
+ "."
+ ],
+ "files": [
+ ],
+ "filters": [
+ "qmldir"
+ ]
+ }
+ },
+ "fileVersion": 1,
+ "importPaths": [
+ "imports"
+ ],
+ "language": {
+ },
+ "mcuConfig": {
+ },
+ "runConfig": {
+ "fileSelectors": [
+ "WXGA",
+ "darkTheme",
+ "ShowIndicator"
+ ],
+ "mainFile": "fileSelectors.qml"
+ },
+ "shaderTool": {
+ },
+ "versions": {
+ "qt": "5"
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject
new file mode 100644
index 0000000000..479c20456b
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject
@@ -0,0 +1,112 @@
+import QmlProject
+
+Project {
+ mainFile: "content/App.qml"
+ mainUiFile: "Screen01.ui.qml"
+
+
+ /* Include .qml, .js, and image files from current directory and subdirectories */
+ QmlFiles {
+ directory: "content"
+ }
+
+ QmlFiles {
+ directory: "imports"
+ }
+
+ JavaScriptFiles {
+ directory: "content"
+ }
+
+ JavaScriptFiles {
+ directory: "imports"
+ }
+
+ ImageFiles {
+ directory: "content"
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Files {
+ filter: "*.ttf;*.otf"
+ }
+
+ Files {
+ filter: "*.wav;*.mp3"
+ }
+
+ Files {
+ filter: "*.mp4"
+ }
+
+ Files {
+ filter: "*.glsl;*.glslv;*.glslf;*.vsh;*.fsh;*.vert;*.frag"
+ }
+
+ Files {
+ filter: "*.mesh"
+ directory: "asset_imports"
+ }
+
+ Files {
+ filter: "*.mesh"
+ directory: "content"
+ }
+
+ Files {
+ filter: "*.qml"
+ directory: "asset_imports"
+ }
+
+ ImageFiles {
+ directory: "asset_imports"
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ QT_AUTO_SCREEN_SCALE_FACTOR: "1"
+ QT_LOGGING_RULES: "qt.qml.connections=false"
+ QT_ENABLE_HIGHDPI_SCALING: "0"
+ /* Useful for debugging
+ QSG_VISUALIZE=batches
+ QSG_VISUALIZE=clip
+ QSG_VISUALIZE=changes
+ QSG_VISUALIZE=overdraw
+ */
+ }
+
+ qt6Project: true
+
+ /* List of plugin directories passed to QML runtime */
+ importPaths: [ "imports", "asset_imports" ]
+
+ /* Required for deployment */
+ targetDirectory: "/opt/MaterialLibrary"
+
+ qdsVersion: "3.9"
+
+ /* If any modules the project imports require widgets (e.g. QtCharts), widgetApp must be true */
+ widgetApp: true
+
+ /* args: Specifies command line arguments for qsb tool to generate shaders.
+ files: Specifies target files for qsb tool. If path is included, it must be relative to this file.
+ Wildcard '*' can be used in the file name part of the path.
+ e.g. files: [ "content/shaders/*.vert", "*.frag" ] */
+ ShaderTool {
+ args: "-s --glsl \"100 es,120,150\" --hlsl 50 --msl 12"
+ files: [ "content/shaders/*" ]
+ }
+
+ multilanguageSupport: true
+ supportedLanguages: ["en"]
+ primaryLanguage: "en"
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject.qtds b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject.qtds
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialBundle.qmlproject.qtds
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialLibrary.qrc b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialLibrary.qrc
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/MaterialLibrary.qrc
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AcrylicPaintMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AcrylicPaintMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AcrylicPaintMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AluminiumMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AluminiumMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AluminiumMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AsphaltMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AsphaltMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/AsphaltMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/BrickMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/BrickMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/BrickMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintGlitterMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintGlitterMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintGlitterMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarbonFiberMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarbonFiberMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CarbonFiberMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CeramicMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CeramicMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CeramicMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ChromeMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ChromeMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ChromeMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ConcreteMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ConcreteMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/ConcreteMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CopperMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CopperMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/CopperMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricRoughMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricRoughMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricRoughMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricSatinMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricSatinMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/FabricSatinMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassTintedMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassTintedMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GlassTintedMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GoldMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GoldMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/GoldMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/LeatherMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/LeatherMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/LeatherMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/MirrorMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/MirrorMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/MirrorMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PaperMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PaperMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PaperMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticMatteMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticMatteMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticMatteMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticShinyMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticShinyMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticShinyMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticTexturedMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticTexturedMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/PlasticTexturedMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/RubberMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/RubberMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/RubberMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SilverMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SilverMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SilverMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelBrushedMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelBrushedMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelBrushedMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelFloorMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelFloorMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelFloorMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/SteelMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/StoneMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/StoneMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/StoneMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WaxMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WaxMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WaxMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodParquetMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodParquetMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodParquetMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodPlanksMaterial.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodPlanksMaterial.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/WoodPlanksMaterial.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/_asset_ref.json b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/_asset_ref.json
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/_asset_ref.json
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/acrylicpaint.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/acrylicpaint.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/acrylicpaint.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/aluminium.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/aluminium.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/aluminium.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/asphalt.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/asphalt.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/asphalt.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/brick.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/brick.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/brick.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carbonfiber.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carbonfiber.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carbonfiber.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaint.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaint.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaint.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaintglitter.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaintglitter.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/carpaintglitter.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/ceramic.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/ceramic.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/ceramic.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/chrome.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/chrome.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/chrome.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/concrete.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/concrete.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/concrete.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/copper.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/copper.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/copper.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabric.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabric.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabric.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricrough.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricrough.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricrough.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricsatin.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricsatin.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/fabricsatin.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glass.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glass.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glass.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glasstinted.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glasstinted.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/glasstinted.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/gold.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/gold.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/gold.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/leather.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/leather.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/leather.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/mirror.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/mirror.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/mirror.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/paper.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/paper.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/paper.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticmatte.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticmatte.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticmatte.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticshiny.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticshiny.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plasticshiny.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plastictextured.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plastictextured.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/plastictextured.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/rubber.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/rubber.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/rubber.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/silver.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/silver.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/silver.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steel.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steel.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steel.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelbrushed.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelbrushed.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelbrushed.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelfloor.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelfloor.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/steelfloor.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/stone.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/stone.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/stone.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wax.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wax.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wax.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wood.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wood.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/wood.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodparquet.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodparquet.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodparquet.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodplanks.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodplanks.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/designer/woodplanks.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Opacity.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Opacity.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Opacity.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_AmbientOcclusion.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_AmbientOcclusion.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_AmbientOcclusion.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric004_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric004_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric004_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Displacement.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Displacement.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Displacement.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Displacement.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Displacement.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Displacement.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.jpg b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.jpg
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.jpg
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_AmbientOcclusion.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_AmbientOcclusion.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_AmbientOcclusion.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_AmbientOcclusion.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_AmbientOcclusion.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_AmbientOcclusion.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_AmbientOcclusion.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_AmbientOcclusion.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_AmbientOcclusion.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Color.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Color.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Color.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_NormalGL.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_NormalGL.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_NormalGL.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Roughness.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Roughness.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Roughness.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/blurrynoise.tga b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/blurrynoise.tga
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/blurrynoise.tga
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/noisenormal.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/noisenormal.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/images/noisenormal.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/qmldir b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/qmldir
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/qmldir
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.frag b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.frag
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.frag
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.vert b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.vert
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.vert
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.frag b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.frag
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.frag
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.vert b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.vert
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.vert
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.frag b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.frag
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.frag
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.vert b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.vert
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/glass.vert
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.frag b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.frag
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.frag
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.vert b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.vert
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/asset_imports/ComponentBundles/MaterialBundle/shaders/satin.vert
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/App.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/App.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/App.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CustomRoundButton.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CustomRoundButton.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/CustomRoundButton.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MaterialNames.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MaterialNames.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MaterialNames.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MouseRotator.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MouseRotator.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/MouseRotator.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/Screen01.ui.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/Screen01.ui.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/Screen01.ui.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Bold.ttf b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Bold.ttf
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Bold.ttf
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Regular.ttf b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Regular.ttf
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/OpenSans-Regular.ttf
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/fonts.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/fonts.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/fonts/fonts.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/Ground_ShadowMap.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/Ground_ShadowMap.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/Ground_ShadowMap.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/dark_mode.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/dark_mode.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/dark_mode.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/day_mode.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/day_mode.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/HDR/day_mode.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/LDR_RGB1_3.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/LDR_RGB1_3.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/LDR_RGB1_3.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/QtLogo_HD.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/QtLogo_HD.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/QtLogo_HD.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/innerMesh.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/innerMesh.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/innerMesh.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/lightToggle.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/lightToggle.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/lightToggle.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/outerMesh.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/outerMesh.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/outerMesh.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon_on.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon_on.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/UI/perfhudicon_on.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/White.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/White.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/White.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/checkmark.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/checkmark.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/checkmark.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/groundAlpha.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/groundAlpha.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/groundAlpha.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/qtlogo.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/qtlogo.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/qtlogo.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/scratchmap.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/scratchmap.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/scratchmap.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/shadow.png b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/shadow.png
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/shadow.png
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_AO.jpg b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_AO.jpg
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_AO.jpg
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Albedo.jpg b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Albedo.jpg
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Albedo.jpg
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Normal.jpg b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Normal.jpg
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Normal.jpg
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Roughness.jpg b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Roughness.jpg
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/images/vlkhcah_2K_Roughness.jpg
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/floor.mesh b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/floor.mesh
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/floor.mesh
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/materialBall.mesh b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/materialBall.mesh
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/content/meshes/materialBall.mesh
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/filelist.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/filelist.txt
new file mode 100644
index 0000000000..81fc1df7fc
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/filelist.txt
@@ -0,0 +1,126 @@
+asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_AmbientOcclusion.png
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Color.png
+asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/AcrylicPaintMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/GoldMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/shaders/satin.vert
+asset_imports/ComponentBundles/MaterialBundle/CarPaintGlitterMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/SilverMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/SteelBrushedMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_AmbientOcclusion.png
+content/images/White.png
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_Roughness.png
+content/images/UI/perfhudicon_on.png
+asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.frag
+asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Color.png
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_AmbientOcclusion.png
+content/images/shadow.png
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/AsphaltMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_AmbientOcclusion.png
+content/images/LDR_RGB1_3.png
+imports/MaterialLibrary/EventListSimulator.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Roughness.png
+content/meshes/floor.mesh
+asset_imports/ComponentBundles/MaterialBundle/shaders/satin.frag
+asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_Roughness.png
+content/images/UI/innerMesh.png
+content/images/UI/perfhudicon.png
+content/images/qtlogo.png
+content/images/vlkhcah_2K_Normal.jpg
+asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/RubberMaterial.qml
+content/App.qml
+asset_imports/ComponentBundles/MaterialBundle/AluminiumMaterial.qml
+content/images/HDR/dark_mode.png
+asset_imports/ComponentBundles/MaterialBundle/SteelFloorMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Color.png
+asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.frag
+content/fonts/OpenSans-Regular.ttf
+imports/MaterialLibrary/DirectoryFontLoader.qml
+asset_imports/ComponentBundles/MaterialBundle/LeatherMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/FabricRoughMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/LDR_RGB1_3.png
+asset_imports/ComponentBundles/MaterialBundle/PlasticTexturedMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/CopperMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/PlasticShinyMaterial.qml
+content/images/checkmark.png
+asset_imports/ComponentBundles/MaterialBundle/SteelMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/ChromeMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/CarbonFiberMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Displacement.png
+asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.jpg
+asset_imports/ComponentBundles/MaterialBundle/FabricSatinMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple.vert
+asset_imports/ComponentBundles/MaterialBundle/designer/images/material@2x.png
+asset_imports/ComponentBundles/MaterialBundle/WoodMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/PlasticMatteMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/CarPaintMaterial.qml
+content/images/Ground_ShadowMap.png
+content/MaterialNames.qml
+asset_imports/ComponentBundles/MaterialBundle/shaders/glass.vert
+asset_imports/ComponentBundles/MaterialBundle/images/Rock023_2K_Color.png
+asset_imports/ComponentBundles/MaterialBundle/BrickMaterial.qml
+content/images/UI/lightToggle.png
+asset_imports/ComponentBundles/MaterialBundle/images/Concrete032_2K_NormalGL.png
+content/MouseRotator.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/shaders/glass.frag
+asset_imports/ComponentBundles/MaterialBundle/images/Metal029_2K_Displacement.png
+asset_imports/ComponentBundles/MaterialBundle/ConcreteMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/GlassMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/WoodParquetMaterial.qml
+imports/MaterialLibrary/Constants.qml
+content/meshes/materialBall.mesh
+asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.vert
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor044_2K_NormalGL.png
+content/images/vlkhcah_2K_AO.jpg
+asset_imports/ComponentBundles/MaterialBundle/MirrorMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_NormalGL.png
+imports/MaterialLibrary/qmldir
+asset_imports/ComponentBundles/MaterialBundle/images/Leather037_2K_Color.png
+content/Screen01.ui.qml
+asset_imports/ComponentBundles/MaterialBundle/CeramicMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/images/WoodFloor054_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric004_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/noisenormal.png
+asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Opacity.png
+asset_imports/ComponentBundles/MaterialBundle/FabricMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/qmldir
+asset_imports/ComponentBundles/MaterialBundle/PaperMaterial.qml
+content/images/UI/outerMesh.png
+imports/MaterialLibrary/EventListModel.qml
+asset_imports/ComponentBundles/MaterialBundle/images/Bricks026_2K_Color.png
+asset_imports/ComponentBundles/MaterialBundle/WaxMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/shaders/carmat_simple_nf.frag
+content/images/scratchmap.png
+asset_imports/ComponentBundles/MaterialBundle/images/Metal009_2K_NormalGL.png
+content/fonts/OpenSans-Bold.ttf
+asset_imports/ComponentBundles/MaterialBundle/StoneMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/shaders/SSS.vert
+content/images/HDR/day_mode.png
+content/images/QtLogo_HD.png
+content/images/vlkhcah_2K_Albedo.jpg
+asset_imports/ComponentBundles/MaterialBundle/images/Wood048_2K_Roughness.png
+qtquickcontrols2.conf
+asset_imports/ComponentBundles/MaterialBundle/images/Asphalt010_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric030_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_NormalGL.png
+asset_imports/ComponentBundles/MaterialBundle/images/Fabric031_2K_Displacement.png
+asset_imports/ComponentBundles/MaterialBundle/GlassTintedMaterial.qml
+asset_imports/ComponentBundles/MaterialBundle/designer/images/material.png
+asset_imports/ComponentBundles/MaterialBundle/images/DiamondPlate001_2K_Roughness.png
+asset_imports/ComponentBundles/MaterialBundle/WoodPlanksMaterial.qml
+content/CustomRoundButton.qml
+content/images/groundAlpha.png
+asset_imports/ComponentBundles/MaterialBundle/images/Paint006_2K_NormalGL.png
+content/images/vlkhcah_2K_Roughness.jpg
+asset_imports/ComponentBundles/MaterialBundle/designer/images/material16.png \ No newline at end of file
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/CMakeLists.txt b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/CMakeLists.txt
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/CMakeLists.txt
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/Constants.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/Constants.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/Constants.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/DirectoryFontLoader.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/DirectoryFontLoader.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/DirectoryFontLoader.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListModel.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListModel.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListModel.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListSimulator.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListSimulator.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/EventListSimulator.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/designer/plugin.metainfo b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/designer/plugin.metainfo
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/designer/plugin.metainfo
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/qmldir b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/qmldir
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/imports/MaterialLibrary/qmldir
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/main.qml b/tests/unit/unittest/qmlprojectmanager/data/file-filters/main.qml
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/main.qml
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlcomponents b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlcomponents
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlcomponents
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlmodules b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlmodules
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qmlmodules
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/qtquickcontrols2.conf b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qtquickcontrols2.conf
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/qtquickcontrols2.conf
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/share.qrc b/tests/unit/unittest/qmlprojectmanager/data/file-filters/share.qrc
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/share.qrc
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/app_environment.h b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/app_environment.h
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/app_environment.h
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/import_qml_plugins.h b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/import_qml_plugins.h
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/import_qml_plugins.h
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/main.cpp b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/main.cpp
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/src/main.cpp
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/file-filters/translations.db b/tests/unit/unittest/qmlprojectmanager/data/file-filters/translations.db
new file mode 100644
index 0000000000..8b13789179
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/file-filters/translations.db
@@ -0,0 +1 @@
+
diff --git a/tests/unit/unittest/qmlprojectmanager/data/getter-setter/empty.qmlproject b/tests/unit/unittest/qmlprojectmanager/data/getter-setter/empty.qmlproject
new file mode 100644
index 0000000000..66adaaa7d9
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/getter-setter/empty.qmlproject
@@ -0,0 +1,44 @@
+import QmlProject
+
+Project {
+ mainFile: ""
+ mainUiFile: ""
+
+ qt6Project: false
+ widgetApp: false
+ qtForMCUs: false
+ forceFreeType: false
+
+ importPaths: [ ]
+ targetDirectory: ""
+ fileSelectors: [ ]
+
+ qdsVersion: ""
+ quickVersion: ""
+
+ multilanguageSupport: false
+ supportedLanguages: [ ]
+ primaryLanguage: ""
+
+ QmlFiles {
+ directory: ""
+ }
+
+ JavaScriptFiles {
+ directory: ""
+ }
+
+ ImageFiles {
+ directory: ""
+ }
+
+ Files {
+ filter: "*.testcontent"
+ files: [ ]
+ }
+
+ ShaderTool {
+ args: ""
+ files: [ ]
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/data/getter-setter/notEmpty.qmlproject b/tests/unit/unittest/qmlprojectmanager/data/getter-setter/notEmpty.qmlproject
new file mode 100644
index 0000000000..ae866ca397
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/data/getter-setter/notEmpty.qmlproject
@@ -0,0 +1,96 @@
+import QmlProject
+
+Project {
+ mainFile: "content/App.qml"
+ mainUiFile: "Screen01.ui.qml"
+
+ qt6Project: true
+ widgetApp: true
+ qtForMCUs: true
+ forceFreeType: true
+
+ importPaths: [ "imports", "asset_imports" ]
+ targetDirectory: "/opt/targetDirectory"
+ fileSelectors: [ "WXGA", "darkTheme", "ShowIndicator"]
+
+ qdsVersion: "3.9"
+ quickVersion: "6.2"
+
+ multilanguageSupport: true
+ supportedLanguages: ["en" , "fr"]
+ primaryLanguage: "en"
+
+ QmlFiles {
+ directory: "content"
+ }
+
+ QmlFiles {
+ directory: "imports"
+ }
+
+ JavaScriptFiles {
+ directory: "content"
+ }
+
+ JavaScriptFiles {
+ directory: "imports"
+ }
+
+ ImageFiles {
+ directory: "content"
+ }
+
+ Files {
+ filter: "*.conf"
+ files: ["qtquickcontrols2.conf"]
+ }
+
+ Files {
+ filter: "qmldir"
+ directory: "."
+ }
+
+ Files {
+ filter: "*.ttf;*.otf"
+ }
+
+ Files {
+ filter: "*.wav;*.mp3"
+ }
+
+ Files {
+ filter: "*.mp4"
+ }
+
+ Files {
+ filter: "*.glsl;*.glslv;*.glslf;*.vsh;*.fsh;*.vert;*.frag"
+ }
+
+ Files {
+ filter: "*.mesh"
+ directory: "asset_imports"
+ }
+
+ Files {
+ filter: "*.mesh"
+ directory: "content"
+ }
+
+ Files {
+ filter: "*.qml"
+ directory: "asset_imports"
+ }
+
+ ImageFiles {
+ directory: "asset_imports"
+ }
+
+ Environment {
+ QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
+ }
+
+ ShaderTool {
+ args: "-s --glsl \"100 es,120,150\" --hlsl 50 --msl 12"
+ files: [ "content/shaders/*" ]
+ }
+}
diff --git a/tests/unit/unittest/qmlprojectmanager/projectitem-test.cpp b/tests/unit/unittest/qmlprojectmanager/projectitem-test.cpp
new file mode 100644
index 0000000000..3bf214fd81
--- /dev/null
+++ b/tests/unit/unittest/qmlprojectmanager/projectitem-test.cpp
@@ -0,0 +1,539 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include "googletest.h" // IWYU pragma: keep
+#include "google-using-declarations.h"
+
+#include <qmlprojectmanager/buildsystem/projectitem/qmlprojectitem.h>
+
+#include <utils/algorithm.h>
+namespace {
+
+constexpr QLatin1String localTestDataDir{UNITTEST_DIR "/qmlprojectmanager/data"};
+
+class QmlProjectItem : public testing::Test
+{
+protected:
+ static void SetUpTestSuite()
+ {
+ projectItemEmpty = std::make_unique<const QmlProjectManager::QmlProjectItem>(
+ Utils::FilePath::fromString(localTestDataDir + "/getter-setter/empty.qmlproject"), true);
+
+ projectItemNotEmpty = std::make_unique<const QmlProjectManager::QmlProjectItem>(
+ Utils::FilePath::fromString(localTestDataDir + "/getter-setter/notEmpty.qmlproject"),
+ true);
+
+ projectItemFileFilters = std::make_unique<const QmlProjectManager::QmlProjectItem>(
+ Utils::FilePath::fromString(localTestDataDir + "/file-filters/MaterialBundle.qmlproject"),
+ true);
+ }
+
+ static void TearDownTestSuite()
+ {
+ projectItemEmpty.reset();
+ projectItemNotEmpty.reset();
+ projectItemFileFilters.reset();
+ }
+
+protected:
+ static inline std::unique_ptr<const QmlProjectManager::QmlProjectItem> projectItemEmpty;
+ static inline std::unique_ptr<const QmlProjectManager::QmlProjectItem> projectItemNotEmpty;
+ std::unique_ptr<QmlProjectManager::QmlProjectItem>
+ projectItemSetters = std::make_unique<QmlProjectManager::QmlProjectItem>(
+ Utils::FilePath::fromString(localTestDataDir + "/getter-setter/empty.qmlproject"), true);
+ static inline std::unique_ptr<const QmlProjectManager::QmlProjectItem> projectItemFileFilters;
+};
+
+auto createAbsoluteFilePaths(const QStringList &fileList)
+{
+ return Utils::transform(fileList, [](const QString &fileName) {
+ return Utils::FilePath::fromString(localTestDataDir + "/file-filters").pathAppended(fileName);
+ });
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyMainFileProject)
+{
+ auto mainFile = projectItemNotEmpty->mainFile();
+
+ ASSERT_THAT(mainFile, Eq("content/App.qml"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyMainUIFileProject)
+{
+ auto mainUiFile = projectItemNotEmpty->mainUiFile();
+
+ ASSERT_THAT(mainUiFile, Eq("Screen01.ui.qml"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyMcuProject)
+{
+ auto isMcuProject = projectItemNotEmpty->isQt4McuProject();
+
+ ASSERT_TRUE(isMcuProject);
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyQtVersion)
+{
+ auto qtVersion = projectItemNotEmpty->versionQt();
+
+ ASSERT_THAT(qtVersion, Eq("6"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyQtQuickVersion)
+{
+ auto qtQuickVersion = projectItemNotEmpty->versionQtQuick();
+
+ ASSERT_THAT(qtQuickVersion, Eq("6.2"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyDesignStudioVersion)
+{
+ auto designStudioVersion = projectItemNotEmpty->versionDesignStudio();
+
+ ASSERT_THAT(designStudioVersion, Eq("3.9"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptySourceDirectory)
+{
+ auto sourceDirectory = projectItemNotEmpty->sourceDirectory().path();
+
+ auto expectedSourceDir = localTestDataDir + "/getter-setter";
+
+ ASSERT_THAT(sourceDirectory, Eq(expectedSourceDir));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyTarGetNotEmptyDirectory)
+{
+ auto targetDirectory = projectItemNotEmpty->targetDirectory();
+
+ ASSERT_THAT(targetDirectory, Eq("/opt/targetDirectory"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyImportPaths)
+{
+ auto importPaths = projectItemNotEmpty->importPaths();
+
+ ASSERT_THAT(importPaths, UnorderedElementsAre("imports", "asset_imports"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyFileSelectors)
+{
+ auto fileSelectors = projectItemNotEmpty->fileSelectors();
+
+ ASSERT_THAT(fileSelectors, UnorderedElementsAre("WXGA", "darkTheme", "ShowIndicator"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyMultiLanguageSupport)
+{
+ auto multilanguageSupport = projectItemNotEmpty->multilanguageSupport();
+
+ ASSERT_TRUE(multilanguageSupport);
+}
+
+TEST_F(QmlProjectItem, GetNotEmptySupportedLanguages)
+{
+ auto supportedLanguages = projectItemNotEmpty->supportedLanguages();
+
+ ASSERT_THAT(supportedLanguages, UnorderedElementsAre("en", "fr"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyPrimaryLanguage)
+{
+ auto primaryLanguage = projectItemNotEmpty->primaryLanguage();
+ ;
+
+ ASSERT_THAT(primaryLanguage, Eq("en"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyWidgetApp)
+{
+ auto widgetApp = projectItemNotEmpty->widgetApp();
+
+ ASSERT_TRUE(widgetApp);
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyFileList)
+{
+ QStringList fileList;
+ for (const auto &file : projectItemNotEmpty->files()) {
+ fileList.append(file.path());
+ }
+
+ auto expectedFileList = localTestDataDir + "/getter-setter/qtquickcontrols2.conf";
+
+ ASSERT_THAT(fileList, UnorderedElementsAre(expectedFileList));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyShaderToolArgs)
+{
+ auto shaderToolArgs = projectItemNotEmpty->shaderToolArgs();
+
+ ASSERT_THAT(shaderToolArgs,
+ UnorderedElementsAre("-s", "--glsl", "\"100 es,120,150\"", "--hlsl", "50", "--msl", "12"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyShaderToolFiles)
+{
+ auto shaderToolFiles = projectItemNotEmpty->shaderToolFiles();
+
+ ASSERT_THAT(shaderToolFiles, UnorderedElementsAre("content/shaders/*"));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyEnvironment)
+{
+ auto env = projectItemNotEmpty->environment();
+
+ ASSERT_THAT(env,
+ UnorderedElementsAre(
+ Utils::EnvironmentItem("QT_QUICK_CONTROLS_CONF", "qtquickcontrols2.conf")));
+}
+
+TEST_F(QmlProjectItem, GetNotEmptyForceFreeType)
+{
+ auto forceFreeType = projectItemNotEmpty->forceFreeType();
+
+ ASSERT_TRUE(forceFreeType);
+}
+
+TEST_F(QmlProjectItem, GetEmptyMainFileProject)
+{
+ auto mainFile = projectItemEmpty->mainFile();
+
+ ASSERT_THAT(mainFile, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyMainUIFileProject)
+{
+ auto mainUiFile = projectItemEmpty->mainUiFile();
+
+ ASSERT_THAT(mainUiFile, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyMcuProject)
+{
+ auto isMcuProject = projectItemEmpty->isQt4McuProject();
+
+ ASSERT_FALSE(isMcuProject);
+}
+
+TEST_F(QmlProjectItem, GetEmptyQtVersion)
+{
+ auto qtVersion = projectItemEmpty->versionQt();
+
+ // default Qt Version is "5" for Design Studio projects
+ ASSERT_THAT(qtVersion, Eq("5"));
+}
+
+TEST_F(QmlProjectItem, GetEmptyQtQuickVersion)
+{
+ auto qtQuickVersion = projectItemEmpty->versionQtQuick();
+
+ ASSERT_THAT(projectItemEmpty->versionQtQuick(), IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyDesignStudioVersion)
+{
+ auto designStudioVersion = projectItemEmpty->versionDesignStudio();
+
+ ASSERT_THAT(projectItemEmpty->versionDesignStudio(), IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptySourceDirectory)
+{
+ auto sourceDirectory = projectItemEmpty->sourceDirectory().path();
+
+ auto expectedSourceDir = localTestDataDir + "/getter-setter";
+
+ // default source directory is the project directory
+ ASSERT_THAT(sourceDirectory, Eq(expectedSourceDir));
+}
+
+TEST_F(QmlProjectItem, GetEmptyTarGetEmptyDirectory)
+{
+ auto targetDirectory = projectItemEmpty->targetDirectory();
+
+ ASSERT_THAT(targetDirectory, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyImportPaths)
+{
+ auto importPaths = projectItemEmpty->importPaths();
+
+ ASSERT_THAT(importPaths, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyFileSelectors)
+{
+ auto fileSelectors = projectItemEmpty->fileSelectors();
+
+ ASSERT_THAT(fileSelectors, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyMultiLanguageSupport)
+{
+ auto multilanguageSupport = projectItemEmpty->multilanguageSupport();
+
+ ASSERT_FALSE(multilanguageSupport);
+}
+
+TEST_F(QmlProjectItem, GetEmptySupportedLanguages)
+{
+ auto supportedLanguages = projectItemEmpty->supportedLanguages();
+
+ ASSERT_THAT(supportedLanguages, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyPrimaryLanguage)
+{
+ auto primaryLanguage = projectItemEmpty->primaryLanguage();
+
+ ASSERT_THAT(primaryLanguage, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyWidgetApp)
+{
+ auto widgetApp = projectItemEmpty->widgetApp();
+
+ ASSERT_FALSE(widgetApp);
+}
+
+TEST_F(QmlProjectItem, GetEmptyFileList)
+{
+ auto fileList = projectItemEmpty->files();
+
+ ASSERT_THAT(fileList, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyShaderToolArgs)
+{
+ auto shaderToolArgs = projectItemEmpty->shaderToolArgs();
+
+ ASSERT_THAT(shaderToolArgs, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyShaderToolFiles)
+{
+ auto shaderToolFiles = projectItemEmpty->shaderToolFiles();
+
+ ASSERT_THAT(shaderToolFiles, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyEnvironment)
+{
+ auto env = projectItemEmpty->environment();
+
+ ASSERT_THAT(env, IsEmpty());
+}
+
+TEST_F(QmlProjectItem, GetEmptyForceFreeType)
+{
+ auto forceFreeType = projectItemEmpty->forceFreeType();
+
+ ASSERT_FALSE(forceFreeType);
+}
+
+TEST_F(QmlProjectItem, SetMainFileProject)
+{
+ projectItemSetters->setMainFile("testing");
+
+ auto mainFile = projectItemSetters->mainFile();
+
+ ASSERT_THAT(mainFile, Eq("testing"));
+}
+
+TEST_F(QmlProjectItem, SetMainUIFileProject)
+{
+ projectItemSetters->setMainUiFile("testing");
+
+ auto mainUiFile = projectItemSetters->mainUiFile();
+
+ ASSERT_THAT(mainUiFile, Eq("testing"));
+}
+
+TEST_F(QmlProjectItem, SetImportPaths)
+{
+ projectItemSetters->setImportPaths({"testing"});
+
+ auto importPaths = projectItemSetters->importPaths();
+
+ ASSERT_THAT(importPaths, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddImportPaths)
+{
+ projectItemSetters->setImportPaths({});
+ projectItemSetters->addImportPath("testing");
+
+ auto importPaths = projectItemSetters->importPaths();
+
+ ASSERT_THAT(importPaths, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, SetFileSelectors)
+{
+ projectItemSetters->setFileSelectors({"testing"});
+
+ auto fileSelectors = projectItemSetters->fileSelectors();
+
+ ASSERT_THAT(fileSelectors, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddFileSelectors)
+{
+ projectItemSetters->setFileSelectors({});
+ projectItemSetters->addFileSelector("testing");
+
+ auto fileSelectors = projectItemSetters->fileSelectors();
+
+ ASSERT_THAT(fileSelectors, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, SetMultiLanguageSupport)
+{
+ projectItemSetters->setMultilanguageSupport(true);
+
+ auto multilanguageSupport = projectItemSetters->multilanguageSupport();
+
+ ASSERT_TRUE(multilanguageSupport);
+}
+
+TEST_F(QmlProjectItem, SetSupportedLanguages)
+{
+ projectItemSetters->setSupportedLanguages({"testing"});
+
+ auto supportedLanguages = projectItemSetters->supportedLanguages();
+
+ ASSERT_THAT(supportedLanguages, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddSupportedLanguages)
+{
+ projectItemSetters->setSupportedLanguages({});
+ projectItemSetters->addSupportedLanguage("testing");
+
+ auto supportedLanguages = projectItemSetters->supportedLanguages();
+
+ ASSERT_THAT(supportedLanguages, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, SetPrimaryLanguage)
+{
+ projectItemSetters->setPrimaryLanguage("testing");
+
+ auto primaryLanguage = projectItemSetters->primaryLanguage();
+ ;
+
+ ASSERT_THAT(primaryLanguage, Eq("testing"));
+}
+
+TEST_F(QmlProjectItem, SetWidgetApp)
+{
+ projectItemSetters->setWidgetApp(true);
+
+ auto widgetApp = projectItemSetters->widgetApp();
+
+ ASSERT_TRUE(widgetApp);
+}
+
+TEST_F(QmlProjectItem, SetShaderToolArgs)
+{
+ projectItemSetters->setShaderToolArgs({"testing"});
+
+ auto shaderToolArgs = projectItemSetters->shaderToolArgs();
+
+ ASSERT_THAT(shaderToolArgs, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddShaderToolArgs)
+{
+ projectItemSetters->setShaderToolArgs({});
+ projectItemSetters->addShaderToolArg("testing");
+
+ auto shaderToolArgs = projectItemSetters->shaderToolArgs();
+
+ ASSERT_THAT(shaderToolArgs, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, SetShaderToolFiles)
+{
+ projectItemSetters->setShaderToolFiles({"testing"});
+
+ auto shaderToolFiles = projectItemSetters->shaderToolFiles();
+
+ ASSERT_THAT(shaderToolFiles, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddShaderToolFiles)
+{
+ projectItemSetters->setShaderToolFiles({});
+ projectItemSetters->addShaderToolFile("testing");
+
+ auto shaderToolFiles = projectItemSetters->shaderToolFiles();
+
+ ASSERT_THAT(shaderToolFiles, UnorderedElementsAre("testing"));
+}
+
+TEST_F(QmlProjectItem, AddEnvironment)
+{
+ projectItemSetters->addToEnviroment("testing", "testing");
+ auto envs = projectItemSetters->environment();
+
+ Utils::EnvironmentItems expectedEnvs;
+ expectedEnvs.push_back({"testing", "testing"});
+
+ ASSERT_EQ(envs, expectedEnvs);
+}
+
+TEST_F(QmlProjectItem, SetForceFreeTypeTrue)
+{
+ projectItemSetters->setForceFreeType(true);
+
+ ASSERT_EQ(projectItemSetters->forceFreeType(), true);
+}
+
+TEST_F(QmlProjectItem, SetForceFreeTypeFalse)
+{
+ projectItemSetters->setForceFreeType(false);
+
+ ASSERT_EQ(projectItemSetters->forceFreeType(), false);
+}
+
+TEST_F(QmlProjectItem, SetQtVersion)
+{
+ projectItemSetters->setVersionQt("6");
+
+ ASSERT_EQ(projectItemSetters->versionQt().toStdString(), "6");
+}
+
+TEST_F(QmlProjectItem, SetQtQuickVersion)
+{
+ projectItemSetters->setVersionQtQuick("6");
+
+ ASSERT_EQ(projectItemSetters->versionQtQuick(), "6");
+}
+
+TEST_F(QmlProjectItem, SetDesignStudioVersion)
+{
+ projectItemSetters->setVersionDesignStudio("6");
+
+ ASSERT_EQ(projectItemSetters->versionDesignStudio(), "6");
+}
+
+// TODO: We should move this one into the integration tests
+TEST_F(QmlProjectItem, TestFileFilters)
+{
+ // GIVEN
+ auto fileListPath = Utils::FilePath::fromString(localTestDataDir + "/file-filters/filelist.txt");
+ QStringList fileNameList = QString::fromUtf8(fileListPath.fileContents().value())
+ .replace("\r\n", "\n")
+ .split("\n");
+ auto expectedAbsoluteFilePaths = createAbsoluteFilePaths(fileNameList);
+
+ // WHEN
+ auto filePaths = projectItemFileFilters->files();
+
+ // THEN
+ ASSERT_THAT(filePaths, UnorderedElementsAreArray(expectedAbsoluteFilePaths));
+}
+
+} // namespace