-
-
Notifications
You must be signed in to change notification settings - Fork 471
/
test_viewable.py
41 lines (31 loc) · 1.15 KB
/
test_viewable.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import param
import pytest
from panel import config
from panel.interact import interactive
from panel.pane import Str, panel
from panel.viewable import Viewable, Viewer
from .util import jb_available
all_viewables = [w for w in param.concrete_descendents(Viewable).values()
if not w.__name__.startswith('_') and
not issubclass(w, interactive)]
@jb_available
def test_viewable_ipywidget():
pane = Str('A')
with config.set(comms='ipywidgets'):
data, metadata = pane._repr_mimebundle_()
assert 'application/vnd.jupyter.widget-view+json' in data
@pytest.mark.parametrize('viewable', all_viewables)
def test_viewable_signature(viewable):
from inspect import Parameter, signature
parameters = signature(viewable).parameters
assert 'params' in parameters
assert parameters['params'] == Parameter('params', Parameter.VAR_KEYWORD)
def test_Viewer_not_initialized():
class Test(Viewer):
def __panel__(self):
return "# Test"
test = panel(Test)
assert test.object == "# Test"
# Confirm that initialized also work
test = panel(Test())
assert test.object == "# Test"