feat: Enhance AI integration for Cutout, Image Box, and Image Lasso tools with unified settings and improved shape selection
This commit is contained in:
@@ -574,6 +574,24 @@ class ClipboardImageTest(unittest.TestCase):
|
||||
finally:
|
||||
self.actions.bpy.data = original_data
|
||||
|
||||
def test_names_new_packed_image_clipboard(self):
|
||||
image = FakeLoadedImage()
|
||||
images = FakeLoadedImages(image)
|
||||
original_data = self.actions.bpy.data
|
||||
self.actions.bpy.data = SimpleNamespace(images=images)
|
||||
try:
|
||||
loaded_image, reused = self.actions.acquire_packed_image(
|
||||
b"image-data",
|
||||
".png",
|
||||
)
|
||||
finally:
|
||||
self.actions.bpy.data = original_data
|
||||
|
||||
self.assertIs(loaded_image, image)
|
||||
self.assertFalse(reused)
|
||||
self.assertEqual(image.name, "Clipboard")
|
||||
self.assertTrue(image.packed)
|
||||
|
||||
def test_sets_and_reuses_stencil_brush_texture(self):
|
||||
textures = FakeTextures()
|
||||
original_data = self.actions.bpy.data
|
||||
@@ -865,6 +883,28 @@ class FakeImage:
|
||||
return self.properties.get(property_name, default)
|
||||
|
||||
|
||||
class FakeLoadedImage(dict):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.name = None
|
||||
self.packed = False
|
||||
|
||||
def pack(self):
|
||||
self.packed = True
|
||||
|
||||
|
||||
class FakeLoadedImages(list):
|
||||
def __init__(self, loaded_image):
|
||||
super().__init__()
|
||||
self.loaded_image = loaded_image
|
||||
|
||||
def load(self, _path, check_existing):
|
||||
return self.loaded_image
|
||||
|
||||
def remove(self, image):
|
||||
super().remove(image)
|
||||
|
||||
|
||||
class FakeTexture(dict):
|
||||
def __init__(self, name, texture_type):
|
||||
super().__init__()
|
||||
|
||||
Reference in New Issue
Block a user