Define ElementDispatcher as a service again
Since we do not want to pass dependencies along through ElementFactory. Cleaned up unit tests
This commit is contained in:
parent
bdade85d69
commit
41e0cc6258
@ -4,22 +4,14 @@ from gi.repository import Gtk
|
||||
from gaphor import UML
|
||||
from gaphor.core.eventmanager import EventManager
|
||||
from gaphor.core.modeling import ElementFactory
|
||||
from gaphor.core.modeling.elementdispatcher import ElementDispatcher
|
||||
from gaphor.services.properties import Properties
|
||||
from gaphor.tests.testcase import TestCase
|
||||
from gaphor.ui.diagrampage import DiagramPage
|
||||
from gaphor.UML.modelprovider import UMLModelProvider
|
||||
from gaphor.UML.toolbox import uml_toolbox_actions
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def event_manager():
|
||||
return EventManager()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory(event_manager):
|
||||
return ElementFactory(event_manager)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def properties():
|
||||
return {}
|
||||
|
@ -5,15 +5,9 @@ from gaphor.core.eventmanager import EventManager
|
||||
from gaphor.core.modeling import ElementFactory
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def factory():
|
||||
event_manager = EventManager()
|
||||
return ElementFactory(event_manager)
|
||||
|
||||
|
||||
def test_stereotype_name(factory):
|
||||
def test_stereotype_name(element_factory):
|
||||
"""Test stereotype name."""
|
||||
stereotype = factory.create(UML.Stereotype)
|
||||
stereotype = element_factory.create(UML.Stereotype)
|
||||
stereotype.name = "Test"
|
||||
assert "test" == UML.model.stereotype_name(stereotype)
|
||||
|
||||
@ -30,16 +24,16 @@ def test_stereotype_name(factory):
|
||||
assert "" == UML.model.stereotype_name(stereotype)
|
||||
|
||||
|
||||
def test_stereotypes_conversion(factory):
|
||||
def test_stereotypes_conversion(element_factory):
|
||||
"""Test stereotypes conversion."""
|
||||
s1 = factory.create(UML.Stereotype)
|
||||
s2 = factory.create(UML.Stereotype)
|
||||
s3 = factory.create(UML.Stereotype)
|
||||
s1 = element_factory.create(UML.Stereotype)
|
||||
s2 = element_factory.create(UML.Stereotype)
|
||||
s3 = element_factory.create(UML.Stereotype)
|
||||
s1.name = "s1"
|
||||
s2.name = "s2"
|
||||
s3.name = "s3"
|
||||
|
||||
cls = factory.create(UML.Class)
|
||||
cls = element_factory.create(UML.Class)
|
||||
UML.model.apply_stereotype(cls, s1)
|
||||
UML.model.apply_stereotype(cls, s2)
|
||||
UML.model.apply_stereotype(cls, s3)
|
||||
@ -47,22 +41,22 @@ def test_stereotypes_conversion(factory):
|
||||
assert ("«s1, s2, s3»") == UML.model.stereotypes_str(cls)
|
||||
|
||||
|
||||
def test_no_stereotypes(factory):
|
||||
def test_no_stereotypes(element_factory):
|
||||
"""Test stereotypes conversion without applied stereotypes."""
|
||||
cls = factory.create(UML.Class)
|
||||
cls = element_factory.create(UML.Class)
|
||||
assert "" == UML.model.stereotypes_str(cls)
|
||||
|
||||
|
||||
def test_additional_stereotypes(factory):
|
||||
def test_additional_stereotypes(element_factory):
|
||||
"""Test additional stereotypes conversion."""
|
||||
s1 = factory.create(UML.Stereotype)
|
||||
s2 = factory.create(UML.Stereotype)
|
||||
s3 = factory.create(UML.Stereotype)
|
||||
s1 = element_factory.create(UML.Stereotype)
|
||||
s2 = element_factory.create(UML.Stereotype)
|
||||
s3 = element_factory.create(UML.Stereotype)
|
||||
s1.name = "s1"
|
||||
s2.name = "s2"
|
||||
s3.name = "s3"
|
||||
|
||||
cls = factory.create(UML.Class)
|
||||
cls = element_factory.create(UML.Class)
|
||||
UML.model.apply_stereotype(cls, s1)
|
||||
UML.model.apply_stereotype(cls, s2)
|
||||
UML.model.apply_stereotype(cls, s3)
|
||||
@ -71,41 +65,41 @@ def test_additional_stereotypes(factory):
|
||||
assert ("«test, s1, s2, s3»") == result
|
||||
|
||||
|
||||
def test_just_additional_stereotypes(factory):
|
||||
def test_just_additional_stereotypes(element_factory):
|
||||
"""Test additional stereotypes conversion without applied stereotypes."""
|
||||
cls = factory.create(UML.Class)
|
||||
cls = element_factory.create(UML.Class)
|
||||
|
||||
result = UML.model.stereotypes_str(cls, ("test",))
|
||||
assert ("«test»") == result
|
||||
|
||||
|
||||
def test_getting_stereotypes(factory):
|
||||
def test_getting_stereotypes(element_factory):
|
||||
"""Test getting possible stereotypes."""
|
||||
cls = factory.create(UML.Class)
|
||||
cls = element_factory.create(UML.Class)
|
||||
cls.name = "Class"
|
||||
st1 = factory.create(UML.Stereotype)
|
||||
st1 = element_factory.create(UML.Stereotype)
|
||||
st1.name = "st1"
|
||||
st2 = factory.create(UML.Stereotype)
|
||||
st2 = element_factory.create(UML.Stereotype)
|
||||
st2.name = "st2"
|
||||
|
||||
# first extend with st2, to check sorting
|
||||
UML.model.create_extension(cls, st2)
|
||||
UML.model.create_extension(cls, st1)
|
||||
|
||||
c1 = factory.create(UML.Class)
|
||||
c1 = element_factory.create(UML.Class)
|
||||
result = tuple(st.name for st in UML.model.get_stereotypes(c1))
|
||||
assert ("st1", "st2") == result
|
||||
|
||||
|
||||
def test_getting_stereotypes_unique(factory):
|
||||
def test_getting_stereotypes_unique(element_factory):
|
||||
"""Test if possible stereotypes are unique."""
|
||||
cls1 = factory.create(UML.Class)
|
||||
cls1 = element_factory.create(UML.Class)
|
||||
cls1.name = "Class"
|
||||
cls2 = factory.create(UML.Class)
|
||||
cls2 = element_factory.create(UML.Class)
|
||||
cls2.name = "Component"
|
||||
st1 = factory.create(UML.Stereotype)
|
||||
st1 = element_factory.create(UML.Stereotype)
|
||||
st1.name = "st1"
|
||||
st2 = factory.create(UML.Stereotype)
|
||||
st2 = element_factory.create(UML.Stereotype)
|
||||
st2.name = "st2"
|
||||
|
||||
# first extend with st2, to check sorting
|
||||
@ -115,20 +109,20 @@ def test_getting_stereotypes_unique(factory):
|
||||
UML.model.create_extension(cls2, st1)
|
||||
UML.model.create_extension(cls2, st2)
|
||||
|
||||
c1 = factory.create(UML.Component)
|
||||
c1 = element_factory.create(UML.Component)
|
||||
result = tuple(st.name for st in UML.model.get_stereotypes(c1))
|
||||
assert ("st1", "st2") == result
|
||||
|
||||
|
||||
def test_finding_stereotype_instances(factory):
|
||||
def test_finding_stereotype_instances(element_factory):
|
||||
"""Test finding stereotype instances."""
|
||||
s1 = factory.create(UML.Stereotype)
|
||||
s2 = factory.create(UML.Stereotype)
|
||||
s1 = element_factory.create(UML.Stereotype)
|
||||
s2 = element_factory.create(UML.Stereotype)
|
||||
s1.name = "s1"
|
||||
s2.name = "s2"
|
||||
|
||||
c1 = factory.create(UML.Class)
|
||||
c2 = factory.create(UML.Class)
|
||||
c1 = element_factory.create(UML.Class)
|
||||
c2 = element_factory.create(UML.Class)
|
||||
UML.model.apply_stereotype(c1, s1)
|
||||
UML.model.apply_stereotype(c1, s2)
|
||||
UML.model.apply_stereotype(c2, s1)
|
||||
@ -142,17 +136,17 @@ def test_finding_stereotype_instances(factory):
|
||||
# Association tests
|
||||
|
||||
|
||||
def test_creation(factory):
|
||||
def test_creation(element_factory):
|
||||
"""Test association creation."""
|
||||
c1 = factory.create(UML.Class)
|
||||
c2 = factory.create(UML.Class)
|
||||
c1 = element_factory.create(UML.Class)
|
||||
c2 = element_factory.create(UML.Class)
|
||||
assoc = UML.model.create_association(c1, c2)
|
||||
types = [p.type for p in assoc.memberEnd]
|
||||
assert c1 in types, assoc.memberEnd
|
||||
assert c2 in types, assoc.memberEnd
|
||||
|
||||
c1 = factory.create(UML.Interface)
|
||||
c2 = factory.create(UML.Interface)
|
||||
c1 = element_factory.create(UML.Interface)
|
||||
c2 = element_factory.create(UML.Interface)
|
||||
assoc = UML.model.create_association(c1, c2)
|
||||
types = [p.type for p in assoc.memberEnd]
|
||||
assert c1 in types, assoc.memberEnd
|
||||
@ -162,10 +156,10 @@ def test_creation(factory):
|
||||
# Association navigability changes tests.
|
||||
|
||||
|
||||
def test_attribute_navigability(factory):
|
||||
def test_attribute_navigability(element_factory):
|
||||
"""Test navigable attribute of a class or an interface."""
|
||||
c1 = factory.create(UML.Class)
|
||||
c2 = factory.create(UML.Class)
|
||||
c1 = element_factory.create(UML.Class)
|
||||
c2 = element_factory.create(UML.Class)
|
||||
assoc = UML.model.create_association(c1, c2)
|
||||
|
||||
end = assoc.memberEnd[0]
|
||||
@ -213,10 +207,10 @@ def test_attribute_navigability(factory):
|
||||
assert end.navigability is True
|
||||
|
||||
|
||||
def test_relationship_navigability(factory):
|
||||
def test_relationship_navigability(element_factory):
|
||||
"""Test navigable relationship of a classifier."""
|
||||
n1 = factory.create(UML.Node)
|
||||
n2 = factory.create(UML.Node)
|
||||
n1 = element_factory.create(UML.Node)
|
||||
n2 = element_factory.create(UML.Node)
|
||||
assoc = UML.model.create_association(n1, n2)
|
||||
|
||||
end = assoc.memberEnd[0]
|
||||
@ -257,28 +251,28 @@ def test_relationship_navigability(factory):
|
||||
# Tests for automatic dependency discovery
|
||||
|
||||
|
||||
def test_usage(factory):
|
||||
def test_usage(element_factory):
|
||||
"""Test automatic dependency: usage."""
|
||||
cls = factory.create(UML.Class)
|
||||
iface = factory.create(UML.Interface)
|
||||
cls = element_factory.create(UML.Class)
|
||||
iface = element_factory.create(UML.Interface)
|
||||
dt = UML.model.dependency_type(cls, iface)
|
||||
assert UML.Usage == dt
|
||||
|
||||
|
||||
def test_usage_by_component(factory):
|
||||
def test_usage_by_component(element_factory):
|
||||
"""Test automatic dependency: usage (by component)."""
|
||||
c = factory.create(UML.Component)
|
||||
iface = factory.create(UML.Interface)
|
||||
c = element_factory.create(UML.Component)
|
||||
iface = element_factory.create(UML.Interface)
|
||||
dt = UML.model.dependency_type(c, iface)
|
||||
# it should be usage not realization (interface is classifier as
|
||||
# well)
|
||||
assert UML.Usage == dt
|
||||
|
||||
|
||||
def test_realization(factory):
|
||||
def test_realization(element_factory):
|
||||
"""Test automatic dependency: realization."""
|
||||
c = factory.create(UML.Component)
|
||||
cls = factory.create(UML.Class)
|
||||
c = element_factory.create(UML.Component)
|
||||
cls = element_factory.create(UML.Class)
|
||||
dt = UML.model.dependency_type(c, cls)
|
||||
assert UML.Realization == dt
|
||||
|
||||
@ -286,13 +280,13 @@ def test_realization(factory):
|
||||
# Tests for interaction messages.
|
||||
|
||||
|
||||
def test_interaction_messages_cloning(factory):
|
||||
def test_interaction_messages_cloning(element_factory):
|
||||
"""Test message creation."""
|
||||
m = factory.create(UML.Message)
|
||||
send = factory.create(UML.MessageOccurrenceSpecification)
|
||||
receive = factory.create(UML.MessageOccurrenceSpecification)
|
||||
sl = factory.create(UML.Lifeline)
|
||||
rl = factory.create(UML.Lifeline)
|
||||
m = element_factory.create(UML.Message)
|
||||
send = element_factory.create(UML.MessageOccurrenceSpecification)
|
||||
receive = element_factory.create(UML.MessageOccurrenceSpecification)
|
||||
sl = element_factory.create(UML.Lifeline)
|
||||
rl = element_factory.create(UML.Lifeline)
|
||||
|
||||
send.covered = sl
|
||||
receive.covered = rl
|
||||
|
@ -6,6 +6,7 @@ from __future__ import annotations
|
||||
from logging import getLogger
|
||||
from typing import Callable, Dict, List, Optional, Set, Tuple
|
||||
|
||||
from gaphor.abc import Service
|
||||
from gaphor.core import event_handler
|
||||
from gaphor.core.modeling.element import Element, Handler
|
||||
from gaphor.core.modeling.event import (
|
||||
@ -68,7 +69,7 @@ class EventWatcher:
|
||||
dispatcher.unsubscribe(handler)
|
||||
|
||||
|
||||
class ElementDispatcher:
|
||||
class ElementDispatcher(Service):
|
||||
"""
|
||||
The Element based Dispatcher allows handlers to receive only events
|
||||
related to certain elements. Those elements should be registered too.
|
||||
|
@ -47,15 +47,13 @@ class ElementFactory(Service):
|
||||
flushed: all element are removed from the factory (element is None)
|
||||
"""
|
||||
|
||||
def __init__(self, event_manager: Optional[EventManager] = None):
|
||||
def __init__(
|
||||
self,
|
||||
event_manager: Optional[EventManager] = None,
|
||||
element_dispatcher: Optional[ElementDispatcher] = None,
|
||||
):
|
||||
self.event_manager = event_manager
|
||||
from gaphor.UML.modelprovider import UMLModelProvider
|
||||
|
||||
self.element_dispatcher = (
|
||||
ElementDispatcher(event_manager, UMLModelProvider())
|
||||
if event_manager
|
||||
else None
|
||||
)
|
||||
self.element_dispatcher = element_dispatcher
|
||||
self._elements: Dict[str, Element] = OrderedDict()
|
||||
self._block_events = 0
|
||||
|
||||
|
@ -5,11 +5,6 @@ from gaphor.core.modeling import Comment, ElementFactory
|
||||
from gaphor.diagram.general.generalpropertypages import CommentItemPropertyPage
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory():
|
||||
return ElementFactory(EventManager())
|
||||
|
||||
|
||||
def test_property_page_construction(element_factory):
|
||||
comment = element_factory.create(Comment)
|
||||
prop_page = CommentItemPropertyPage(comment)
|
||||
|
@ -6,6 +6,7 @@ from gaphas.aspect import Connector as ConnectorAspect
|
||||
|
||||
from gaphor.core.eventmanager import EventManager
|
||||
from gaphor.core.modeling import Diagram, ElementFactory
|
||||
from gaphor.core.modeling.elementdispatcher import ElementDispatcher
|
||||
from gaphor.diagram.connectors import Connector
|
||||
from gaphor.storage import storage
|
||||
from gaphor.storage.xmlwriter import XMLWriter
|
||||
@ -19,7 +20,9 @@ def event_manager():
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory(event_manager):
|
||||
return ElementFactory(event_manager)
|
||||
return ElementFactory(
|
||||
event_manager, ElementDispatcher(event_manager, UMLModelProvider())
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@ -29,7 +32,9 @@ def model_provider():
|
||||
|
||||
@pytest.fixture
|
||||
def diagram(element_factory):
|
||||
return element_factory.create(Diagram)
|
||||
diagram = element_factory.create(Diagram)
|
||||
yield diagram
|
||||
diagram.unlink()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
@ -2,27 +2,16 @@ from io import StringIO
|
||||
|
||||
import pytest
|
||||
|
||||
from gaphor.core.eventmanager import EventManager
|
||||
from gaphor.core.modeling import Diagram, ElementFactory
|
||||
from gaphor.diagram.tests.fixtures import diagram, element_factory, event_manager
|
||||
from gaphor.storage import storage
|
||||
from gaphor.UML.modelprovider import UMLModelProvider
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory():
|
||||
return ElementFactory(EventManager())
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def model_provider():
|
||||
return UMLModelProvider()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def diagram(element_factory):
|
||||
return element_factory.create(Diagram)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def loader(element_factory, model_provider):
|
||||
def load(data):
|
||||
|
@ -7,30 +7,6 @@ from gaphor.storage.parser import parse
|
||||
from gaphor.storage.storage import load_elements
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def session():
|
||||
session = Session(
|
||||
services=[
|
||||
"event_manager",
|
||||
"component_registry",
|
||||
"element_factory",
|
||||
"model_provider",
|
||||
]
|
||||
)
|
||||
yield session
|
||||
session.shutdown()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory(session):
|
||||
return session.get_service("element_factory")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def model_factory(session):
|
||||
return session.get_service("model_provider")
|
||||
|
||||
|
||||
def test_message_item_upgrade(element_factory, model_provider):
|
||||
"""
|
||||
"""
|
||||
|
@ -8,16 +8,6 @@ from gaphor.storage.storage import load_elements
|
||||
from gaphor.UML.modelprovider import UMLModelProvider
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory():
|
||||
return ElementFactory(EventManager())
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def model_provider():
|
||||
return UMLModelProvider()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def loader(element_factory, model_provider):
|
||||
def _loader(*parsed_items):
|
||||
|
@ -32,6 +32,7 @@ class TestCase(unittest.TestCase):
|
||||
"event_manager",
|
||||
"component_registry",
|
||||
"element_factory",
|
||||
"element_dispatcher",
|
||||
"model_provider",
|
||||
"sanitizer",
|
||||
]
|
||||
|
@ -82,6 +82,7 @@ def main(argv=sys.argv[1:]):
|
||||
"event_manager",
|
||||
"component_registry",
|
||||
"element_factory",
|
||||
"element_dispatcher",
|
||||
"model_provider",
|
||||
]
|
||||
)
|
||||
|
8
gaphor/ui/tests/conftest.py
Normal file
8
gaphor/ui/tests/conftest.py
Normal file
@ -0,0 +1,8 @@
|
||||
import pytest
|
||||
|
||||
from gaphor.diagram.tests.fixtures import diagram, element_factory, event_manager
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def properties():
|
||||
return {}
|
@ -1,59 +1,14 @@
|
||||
import pytest
|
||||
from gaphas.examples import Box
|
||||
|
||||
from gaphor.application import Session
|
||||
from gaphor.core.modeling import Comment, Diagram
|
||||
from gaphor.diagram.general.comment import CommentItem
|
||||
from gaphor.ui.mainwindow import DiagramPage
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def session():
|
||||
session = Session(
|
||||
services=[
|
||||
"event_manager",
|
||||
"component_registry",
|
||||
"element_factory",
|
||||
"main_window",
|
||||
"properties",
|
||||
"namespace",
|
||||
"diagrams",
|
||||
"toolbox",
|
||||
"elementeditor",
|
||||
"export_menu",
|
||||
"tools_menu",
|
||||
]
|
||||
)
|
||||
yield session
|
||||
session.shutdown()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def main_window(session):
|
||||
main_window = session.get_service("main_window")
|
||||
main_window.open()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory(session):
|
||||
return session.get_service("element_factory")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def diagram(element_factory):
|
||||
diagram = element_factory.create(Diagram)
|
||||
yield diagram
|
||||
diagram.unlink()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def page(session, diagram, element_factory):
|
||||
page = DiagramPage(
|
||||
diagram,
|
||||
session.get_service("event_manager"),
|
||||
element_factory,
|
||||
session.get_service("properties"),
|
||||
)
|
||||
def page(diagram, event_manager, element_factory, properties):
|
||||
page = DiagramPage(diagram, event_manager, element_factory, properties,)
|
||||
page.construct()
|
||||
assert page.diagram == diagram
|
||||
assert page.view.canvas == diagram.canvas
|
||||
|
@ -8,59 +8,25 @@ from gaphas.aspect import Connector as ConnectorAspect
|
||||
from gi.repository import Gdk, Gtk
|
||||
|
||||
from gaphor import UML
|
||||
from gaphor.application import Session
|
||||
from gaphor.diagram.connectors import Connector
|
||||
from gaphor.diagram.diagramtools import ConnectHandleTool, DiagramItemConnector
|
||||
from gaphor.diagram.general.comment import CommentItem
|
||||
from gaphor.diagram.general.commentline import CommentLineItem
|
||||
from gaphor.services.componentregistry import ComponentRegistry
|
||||
from gaphor.ui.abc import UIComponent
|
||||
from gaphor.ui.event import DiagramOpened
|
||||
from gaphor.ui.mainwindow import Diagrams
|
||||
from gaphor.UML.usecases.actor import ActorItem
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def session():
|
||||
session = Session(
|
||||
services=[
|
||||
"event_manager",
|
||||
"component_registry",
|
||||
"element_factory",
|
||||
"main_window",
|
||||
"properties_manager",
|
||||
"properties",
|
||||
"namespace",
|
||||
"diagrams",
|
||||
"toolbox",
|
||||
"elementeditor",
|
||||
"export_menu",
|
||||
"tools_menu",
|
||||
]
|
||||
)
|
||||
main_window = session.get_service("main_window")
|
||||
main_window.open()
|
||||
yield session
|
||||
session.shutdown()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def element_factory(session):
|
||||
return session.get_service("element_factory")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def event_manager(session):
|
||||
return session.get_service("event_manager")
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def main_window(session):
|
||||
main_window = session.get_service("main_window")
|
||||
yield main_window
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def diagram(element_factory):
|
||||
return element_factory.create(UML.Diagram)
|
||||
def diagrams(event_manager, element_factory, properties):
|
||||
window = Gtk.Window.new(Gtk.WindowType.TOPLEVEL)
|
||||
diagrams = Diagrams(event_manager, element_factory, properties)
|
||||
window.add(diagrams.open())
|
||||
window.show()
|
||||
yield diagrams
|
||||
diagrams.close()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@ -100,12 +66,11 @@ def test_connect(diagram, comment, commentline):
|
||||
assert cinfo, cinfo
|
||||
|
||||
|
||||
def current_diagram_view(session):
|
||||
def current_diagram_view(diagrams):
|
||||
"""
|
||||
Get a view for the current diagram.
|
||||
"""
|
||||
component_registry = session.get_service("component_registry")
|
||||
view = component_registry.get(UIComponent, "diagrams").get_current_view()
|
||||
view = diagrams.get_current_view()
|
||||
|
||||
# realize view, forces bounding box recalculation
|
||||
while Gtk.events_pending():
|
||||
@ -114,7 +79,7 @@ def current_diagram_view(session):
|
||||
return view
|
||||
|
||||
|
||||
def test_iconnect(session, event_manager, element_factory):
|
||||
def test_iconnect(event_manager, element_factory, diagrams):
|
||||
"""
|
||||
Test basic glue functionality using CommentItem and CommentLine
|
||||
items.
|
||||
@ -129,7 +94,7 @@ def test_iconnect(session, event_manager, element_factory):
|
||||
|
||||
line = diagram.create(CommentLineItem)
|
||||
|
||||
view = current_diagram_view(session)
|
||||
view = current_diagram_view(diagrams)
|
||||
assert view, "View should be available here"
|
||||
comment_bb = view.get_item_bounding_box(comment)
|
||||
|
||||
@ -154,7 +119,7 @@ def test_iconnect(session, event_manager, element_factory):
|
||||
assert cinfo is None
|
||||
|
||||
|
||||
def test_connect_comment_and_actor(session, event_manager, element_factory):
|
||||
def test_connect_comment_and_actor(event_manager, element_factory, diagrams):
|
||||
"""Test connect/disconnect on comment and actor using comment-line.
|
||||
"""
|
||||
diagram = element_factory.create(UML.Diagram)
|
||||
@ -163,7 +128,7 @@ def test_connect_comment_and_actor(session, event_manager, element_factory):
|
||||
|
||||
line = diagram.create(CommentLineItem)
|
||||
|
||||
view = current_diagram_view(session)
|
||||
view = current_diagram_view(diagrams)
|
||||
assert view, "View should be available here"
|
||||
|
||||
tool = ConnectHandleTool(view)
|
||||
|
@ -71,6 +71,7 @@ gaphorconvert = 'gaphor.tools.gaphorconvert:main'
|
||||
"properties" = "gaphor.services.properties:Properties"
|
||||
"undo_manager" = "gaphor.services.undomanager:UndoManager"
|
||||
"element_factory" = "gaphor.core.modeling:ElementFactory"
|
||||
"element_dispatcher" = "gaphor.core.modeling.elementdispatcher:ElementDispatcher"
|
||||
"model_provider" = "gaphor.services.modelprovider:ModelProviderService"
|
||||
"file_manager" = "gaphor.ui.filemanager:FileManager"
|
||||
"recent_files" = "gaphor.ui.recentfiles:RecentFiles"
|
||||
|
Loading…
x
Reference in New Issue
Block a user