def test_screen_render(): d = pedl.Designer() #Change Screen Attributes d.window.w, d.window.h = 780, 1125 d.window.name = 'Test' #Render assert d.render(d.window) == conftest.window_edl
def test_embedded_rendering(): emb = EmbeddedWindow(displays=['tests/test.edl'], autoscale=False, w=1000, h=1200) d = pedl.Designer() assert d.render(emb) == edl
def test_message(): w = pedl.widgets.MessageButton(value=0, controlPv='LOC\\\\intPv=i:0', label='here', w=100, h=100) d = pedl.Designer() assert d.render(w) == message_edl
def test_set_layout(): d = pedl.Designer() l = pedl.StackedLayout() l.addWidget(pedl.Widget(w=100, h=100)) d.window.setLayout(l, resize=True) assert d.widgets == [l] assert d.window.w == 110 assert d.window.h == 110
def test_addWidget(): d = pedl.Designer() w = pedl.Widget() d.addWidget(w) assert d.widgets == [w] with pytest.raises(TypeError): d.addWidget(4)
def test_text(): w = pedl.widgets.StaticText(w=56, h=21, text='LABEL', lineWidth=3, alignment=AlignmentChoice.Right) d = pedl.Designer() assert d.render(w) == text_edl
def test_menu(): w = pedl.widgets.MenuButton(name="Menu Button", x=24, y=148, w=200, h=105, controlPv='PV:FAKE') w.lineColor = pedl.choices.ColorChoice.Black d = pedl.Designer() assert d.render(w) == menu_edl
def test_template(): d = pedl.Designer() w = pedl.Widget() assert 'vis' not in d.render(w) w.visibility.pv = 'TST:PV' w.visibility.min, w.visibility.max = 1, 2 assert 'visPv TST:PV' in d.render(w) assert 'visMax 2' in d.render(w) assert 'visMin 1' in d.render(w) w.visibility.inverted = True assert 'visInvert' in d.render(w)
def test_shell_command(): w = pedl.widgets.ShellCommand( x=116, y=416, w=156, h=64, label='Shell', commands=[Command('more', 'more tests/test.edl')]) w.addCommand(Command('less', 'less tests/test.edl')) d = pedl.Designer() assert d.render(w) == shell_edl
def test_display(): w = pedl.widgets.RelatedDisplay( x=248, y=520, w=228, h=40, label='Related', displays=[Display('first', 'tests/test.edl', 'IOC=IOC')]) w.addDisplay(Display('second', 'tests/test.edl', 'MOTOR=MMS')) d = pedl.Designer() assert d.render(w) == display_edl
def test_launch(): d = pedl.Designer() with pytest.raises(FileNotFoundError): pedl.launch('NOT.edl') edl = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test.edl') proc = pedl.launch(edl, MACRO='TST:MACRO', wait=False) assert not proc.poll() proc.terminate() #Wait for process to die time.sleep(0.5) #Check for exit code assert proc.poll() == -15
def test_recursive_widget_search(): d = pedl.Designer() l = pedl.StackedLayout() w1 = pedl.Widget() w2 = pedl.widgets.Rectangle(name='RECT') w3 = pedl.Widget() l.addWidget(w1) l.addWidget(w2) d.window.setLayout(l) d.addWidget(w3) assert d.widgets == [l, w3] assert d.findChildren() == [w1, w2, w3] assert d.findChildren(name='RECT') == [w2] assert d.findChildren(_type=pedl.widgets.Rectangle) == [w2]
def __init__(self, group, **kwargs): self.group = group self.app = pedl.Designer() #Initialize layout super(HXRAYWindow, self).__init__(alignment=AlignmentChoice.Center, **kwargs)
def test_exec(): d = pedl.Designer() proc = d.exec_(wait=False) assert not proc.poll() proc.terminate()
def test_widget_render(): d = pedl.Designer() w = pedl.Widget(name='Rectangle') assert d.render(w) == conftest.widget_edl
def test_designer_init(): with pytest.raises(FileNotFoundError): d = pedl.Designer(template_dir='NOT/A/DIR') d = pedl.Designer() assert len(d.env.list_templates()) > 0