예제 #1
0
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
예제 #2
0
def test_embedded_rendering():
    emb = EmbeddedWindow(displays=['tests/test.edl'],
                         autoscale=False,
                         w=1000,
                         h=1200)
    d = pedl.Designer()
    assert d.render(emb) == edl
예제 #3
0
파일: test_button.py 프로젝트: slaclab/pedl
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
예제 #4
0
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
예제 #5
0
def test_addWidget():
    d = pedl.Designer()
    w = pedl.Widget()
    d.addWidget(w)
    assert d.widgets == [w]

    with pytest.raises(TypeError):
        d.addWidget(4)
예제 #6
0
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
예제 #7
0
파일: test_button.py 프로젝트: slaclab/pedl
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
예제 #8
0
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)
예제 #9
0
파일: test_button.py 프로젝트: slaclab/pedl
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
예제 #10
0
파일: test_button.py 프로젝트: slaclab/pedl
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
예제 #11
0
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
예제 #12
0
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]
예제 #13
0
 def __init__(self, group, **kwargs):
     self.group = group
     self.app = pedl.Designer()
     #Initialize layout
     super(HXRAYWindow, self).__init__(alignment=AlignmentChoice.Center,
                                       **kwargs)
예제 #14
0
def test_exec():
    d = pedl.Designer()
    proc = d.exec_(wait=False)
    assert not proc.poll()
    proc.terminate()
예제 #15
0
def test_widget_render():
    d = pedl.Designer()
    w = pedl.Widget(name='Rectangle')
    assert d.render(w) == conftest.widget_edl
예제 #16
0
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