summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/CMakeLists.txt1
-rw-r--r--tests/unit/README.md49
-rw-r--r--tests/unit/tools/CMakeLists.txt1
-rw-r--r--tests/unit/tools/qmlprojectmanager/CMakeLists.txt16
-rw-r--r--tests/unit/tools/qmlprojectmanager/main.cpp95
-rw-r--r--tests/unit/unittest/CMakeLists.txt5
-rw-r--r--tests/unit/unittest/google-using-declarations.h1
-rw-r--r--tests/unit/unittest/modulescanner-test.cpp1
-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
202 files changed, 1972 insertions, 1 deletions
diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt
index 3a36658ae4..8971a289de 100644
--- a/tests/unit/CMakeLists.txt
+++ b/tests/unit/CMakeLists.txt
@@ -37,3 +37,4 @@ if (NOT QT_CREATOR_API_DEFINED)
endif()
add_subdirectory(unittest)
+add_subdirectory(tools)
diff --git a/tests/unit/README.md b/tests/unit/README.md
new file mode 100644
index 0000000000..38911b31ec
--- /dev/null
+++ b/tests/unit/README.md
@@ -0,0 +1,49 @@
+# Contribution Guideline
+
+This document summarizes;
+
+* Best practices for writing tests
+* How to add a new test
+* How to build only specific test
+
+All tests here depend on the [GoogleTest][1] framework.
+
+## Best Practices
+
+We're following those patterns/approaches;
+
+* The Arrange, Act, and Assert (AAA) Pattern
+* Given When Then (GWT) Pattern
+
+## Adding a New Unit Test
+
+* Please add your tests under `unit/unittest`. No subfolders are needed.
+* Name your class as `foo-test.cpp`
+
+* Always include `googletest.h` header. Without that you may get the printer function can be broken because the are not anymore ODR (because of weak linking to printers for example). It is also necessary for nice printers, also adds Qt known matchers.
+
+## Building Tests
+
+> Note:
+> When you're building the application from the terminal, you can set environment variables instead of settings CMake flags.
+> The corresponding environment variable name is same with CMake variable name but with a 'QTC_' prefix.
+> CMake Variable: WITH_TESTS
+> Environment Variable: QTC_WITH_TESTS
+
+You have to enable tests with the following CMake variable otherwise the default configuration skips them.
+
+```bash
+WITH_TESTS=ON
+```
+
+## Building Specific Tests
+
+After enabling tests you can use test-specific CMake flags to customize which tests should be built instead of building all of them at once. Please check the relevant CMake file to see which variable is required to enable that specific test.
+
+```bash
+BUILD_TESTS_BY_DEFAULT=OFF
+BUILD_TEST_UNITTEST=ON
+BUILD_TEST_TST_QML_TESTCORE=ON
+```
+
+[1]: https://github.com/google/googletest
diff --git a/tests/unit/tools/CMakeLists.txt b/tests/unit/tools/CMakeLists.txt
new file mode 100644
index 0000000000..05b561491f
--- /dev/null
+++ b/tests/unit/tools/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(qmlprojectmanager)
diff --git a/tests/unit/tools/qmlprojectmanager/CMakeLists.txt b/tests/unit/tools/qmlprojectmanager/CMakeLists.txt
new file mode 100644
index 0000000000..0f5a41c633
--- /dev/null
+++ b/tests/unit/tools/qmlprojectmanager/CMakeLists.txt
@@ -0,0 +1,16 @@
+project(QmlProjectManagerConverterDataCreator)
+
+add_compile_definitions(QT_CREATOR)
+
+add_executable(${PROJECT_NAME}
+ main.cpp
+)
+
+set_target_properties(${PROJECT_NAME}
+ PROPERTIES
+ OUTPUT_NAME "dataSetGenerator"
+)
+
+target_link_libraries(${PROJECT_NAME}
+ QmlJS Utils ProjectExplorer QmlProjectManagerLib
+)
diff --git a/tests/unit/tools/qmlprojectmanager/main.cpp b/tests/unit/tools/qmlprojectmanager/main.cpp
new file mode 100644
index 0000000000..688a8e6f54
--- /dev/null
+++ b/tests/unit/tools/qmlprojectmanager/main.cpp
@@ -0,0 +1,95 @@
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include <QJsonDocument>
+#include <qmlprojectmanager/buildsystem/projectitem/converters.h>
+
+class DataSet
+{
+public:
+ DataSet(const QString &rootDir)
+ : m_rootDir(rootDir)
+ {}
+ void setDataSource(const QString &dataSetName)
+ {
+ m_dataSetDirectory.setPath(m_rootDir.path() + "/" + 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_rootDir;
+ QDir m_dataSetDirectory;
+ Utils::FilePath m_qmlProjectFile;
+ Utils::FilePath m_jsonToQmlProjectFile;
+ Utils::FilePath m_qmlProjectToJsonFile;
+};
+
+int main(int argc, char **argv)
+{
+ const QString helpText{"./dataSetGenerator [path]\n"
+ "[path]: Path to the data set folders. The default is current dir.\n"
+ " Folder names should be in the form of test-set-x.\n"};
+
+ QDir dataSetPath{QDir::currentPath()};
+ if (argc >= 2) {
+ dataSetPath.setPath(argv[1]);
+ }
+
+ if (!dataSetPath.exists()) {
+ qDebug() << "Data path does not exist:" << dataSetPath.path() << Qt::endl;
+ qDebug().noquote() << helpText;
+ return -1;
+ }
+
+ QStringList dataSetList{dataSetPath.entryList({"test-set-*"})};
+ if (!dataSetList.size()) {
+ qDebug() << "No test sets are available under" << dataSetPath.path() << Qt::endl;
+ qDebug().noquote() << helpText;
+ return -1;
+ }
+
+ DataSet dataSet(dataSetPath.path());
+ for (const auto &dataSetName : dataSetList) {
+ dataSet.setDataSource(dataSetName);
+
+ qDebug() << "Regenerating data set:" << dataSet.dataSetName();
+ QJsonObject qml2json = QmlProjectManager::Converters::qmlProjectTojson(
+ dataSet.qmlProjectFile());
+ QString json2qml = QmlProjectManager::Converters::jsonToQmlProject(qml2json);
+
+ dataSet.qmlProjectToJsonFile().writeFileContents(QJsonDocument(qml2json).toJson());
+ dataSet.jsonToQmlProjectFile().writeFileContents(json2qml.toUtf8());
+ }
+ return 0;
+}
diff --git a/tests/unit/unittest/CMakeLists.txt b/tests/unit/unittest/CMakeLists.txt
index 3c8a565243..d0fde6d5d9 100644
--- a/tests/unit/unittest/CMakeLists.txt
+++ b/tests/unit/unittest/CMakeLists.txt
@@ -35,7 +35,8 @@ add_qtc_test(unittest GTEST
UNIT_TESTS
DONT_CHECK_MESSAGE_COUNTER
QTC_RESOURCE_DIR="${CMAKE_CURRENT_LIST_DIR}/../../../share/qtcreator"
- TESTDATA_DIR="${CMAKE_CURRENT_BINARY_DIR}/data"
+ TESTDATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/data"
+ UNITTEST_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
TEST_RELATIVE_LIBEXEC_PATH="${TEST_RELATIVE_LIBEXEC_PATH}"
QT6_INSTALL_PREFIX="${QT6_INSTALL_PREFIX}"
QDS_MODEL_USE_PROJECTSTORAGEINTERFACE
@@ -368,3 +369,5 @@ set_property(SOURCE ${PROJECTSTORAGE_EXCLUDED_SOURCES} PROPERTY SKIP_AUTOMOC ON)
file(GLOB UNITTEST_EXCLUDED_SOURCES *.cpp)
set_property(SOURCE ${UNITTEST_EXCLUDED_SOURCES} PROPERTY SKIP_AUTOMOC ON)
+
+add_subdirectory(qmlprojectmanager)
diff --git a/tests/unit/unittest/google-using-declarations.h b/tests/unit/unittest/google-using-declarations.h
index 6b2cd4721d..198bbce784 100644
--- a/tests/unit/unittest/google-using-declarations.h
+++ b/tests/unit/unittest/google-using-declarations.h
@@ -56,5 +56,6 @@ using testing::StrEq;
using testing::Throw;
using testing::TypedEq;
using testing::UnorderedElementsAre;
+using testing::UnorderedElementsAreArray;
using testing::VariantWith;
using testing::WithArg;
diff --git a/tests/unit/unittest/modulescanner-test.cpp b/tests/unit/unittest/modulescanner-test.cpp
index b4632e0cb4..554e3fc839 100644
--- a/tests/unit/unittest/modulescanner-test.cpp
+++ b/tests/unit/unittest/modulescanner-test.cpp
@@ -118,6 +118,7 @@ TEST_F(ModuleScanner, Version)
scanner.scan(QStringList{TESTDATA_DIR "/modulescanner"});
ASSERT_THAT(scanner.modules(), ElementsAre(AllOf(UrlProperty("Example"), VersionProperty("1.3"))));
+
}
TEST_F(ModuleScanner, NoVersion)
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