def test_dialog_box(tmpdir): mdfile = os.path.join(str(tmpdir), 'test.md') with open(mdfile, 'w') as f: f.write(CONTENTS) box = html5.dialog_box(mdfile, 'id') assert parse_html(str(box)) == parse_html(DIALOG) shutil.rmtree(str(tmpdir), ignore_errors=True)
def test_ldvw_qscan_batch(): button = html5.ldvw_qscan('X1:TEST', (0, )) assert parse_html(str(button)) == parse_html( '<a href="https://ldvw.ligo.caltech.edu/ldvw/Wdq?submitAct=go&' 'wdq_ifo=X1&wdq_cmap=viridis&wdq_gps=0&wdq_prog=py-Omega&' 'amp;goBtn=goBtn" target="_blank" rel="external" class="btn ' 'btn-default btn-xs" title="Batch-process omega scans of the loudest ' 'triggers via LDVW">Launch omega scans</a>')
def test_ldvw_qscan_single(): button = html5.ldvw_qscan('X1:TEST', 0) assert parse_html(str(button)) == parse_html( '<a href="https://ldvw.ligo.caltech.edu/ldvw/view?act=doplot&' 'chanName=X1:TEST&doQxfrm=yes&strtTime=0&&' 'qxfrm_pltfrq=10 inf&qxfrm_srchqrng=4 100&' 'qxfrm_plttimes=0.5 2 8" target="_blank" rel="external" ' 'class="btn btn-default btn-xs" title="Q-scan X1:TEST at 0 via LDVW">' 'Q-scan</a>')
def test_banner(): banner = bootstrap.banner('Test', subtitle='Subtest') assert parse_html(str(banner)) == parse_html( '<div class="banner">\n<h1>Test</h1>\n<p>Subtest</p>\n</div>') # test with classes banner_wclass = bootstrap.banner( 'Test', subtitle='Subtest', titleclass='test', subtitleclass='subtest') assert parse_html(str(banner_wclass)) == parse_html( '<div class="banner">\n<h1 class=\"test\">Test</h1>\n' '<p class=\"subtest\">Subtest</p>\n</div>')
def test_load_custom(): error = 'Error' success = 'document.write(\"Success\")' errormsg = ('$(\"#main\").html(\"<div class=\'alert alert-warning\'>' '<p>%s</p></div>\");' % error) # test local url content = html5.load('test', success=success, error=error) assert parse_html(content) == parse_html(LOAD % ('test', success, errormsg)) # test non-local url content = html5.load(URL, success=success, error=error) assert parse_html(content) == parse_html(LOAD % (URL, success, errormsg))
def test_state_switcher(): switcher = bootstrap.state_switcher([('Test', '#test')]) assert parse_html(str(switcher)) == parse_html( '<ul class="nav navbar-nav">\n<li class="nav-item dropdown">\n' '<a class="nav-link dropdown-toggle" href="#" id="states" role=' '"button" title="Show/hide state menu" data-toggle="dropdown">Test</a>' '\n<div class="dropdown-menu dropdown-menu-right state-switch shadow" ' 'id="statemenu">\n<h6 class="dropdown-header">Select below to view ' 'this page in another state (different time segments).</h6>\n<div ' 'class="dropdown-divider"></div>\n<a class="dropdown-item state" ' 'title="Test" id="state_test" onclick="jQuery(this).load_state' '("#test");">Test</a>\n</div>\n</li>\n</ul>')
def test_base_map_dropdown(): menu = bootstrap.base_map_dropdown('test', id_='id') assert parse_html(str(menu)) == parse_html( '<div class=\"navbar-brand\" id=\"id\">test</div>') # test with bases menu_wbases = bootstrap.base_map_dropdown('test', bases={'key': 'value'}) assert parse_html(str(menu_wbases)) == parse_html( '<div class="btn-group pull-left base-map">\n' '<a href="#" class="navbar-brand dropdown-toggle" ' 'data-toggle="dropdown">\ntest\n<b class="caret"></b>\n</a>\n' '<ul class="dropdown-menu">\n<li>\n' '<a title="key" data-new-base="value">key</a>\n</li>\n</ul>\n</div>')
def test_base_map_dropdown(): menu = bootstrap.base_map_dropdown('test', id_='id') assert parse_html(str(menu)) == parse_html( '<div class="navbar-brand border border-white ' 'rounded" id="id">test</div>') # test with bases menu_wbases = bootstrap.base_map_dropdown('test', bases={'key': 'value'}) assert parse_html(str(menu_wbases)) == parse_html( '<div class="dropdown base-map">\n<a href="#" class="navbar-brand ' 'nav-link border border-white rounded dropdown-toggle" role="button" ' 'data-toggle="dropdown">test</a>\n<div class="dropdown-menu ' 'dropdown-1-col shadow">\n<a title="key" class="dropdown-item" ' 'data-new-base="value">key</a>\n</div>\n</div>')
def test_state_switcher(): switcher = bootstrap.state_switcher([('Test', '#test')]) assert parse_html(str(switcher)) == parse_html( '<div class="btn-group pull-right state-switch">\n' '<a class="navbar-brand dropdown-toggle" href="#" id="states" ' 'title="Show/hide state menu" data-toggle="dropdown">\n' 'Test\n<b class="caret"></b>\n</a>\n' '<ul class="dropdown-menu" id="statemenu">\n' '<li class="dropdown-header">Select an option below to view ' 'these data in another state (different time segments).</li>\n' '<li class="divider"></li>\n<li>\n' '<a class="state" title="Test" id="state_test" ' 'onclick="$(this).load_state("#test");">Test</a>\n' '</li>\n</ul>\n</div>')
def test_load(): # test local url content = html5.load('test') assert parse_html(content) == parse_html( '<script>$("#main").load("test");</script>') # test non-local url success = '$(\"#main\").html(data);' errormsg = ('alert(\"Cannot load content from %r, use ' 'browser console to inspect failure.\");' % URL) content = html5.load(URL) assert parse_html(content) == parse_html(LOAD % (URL, success, errormsg)) # test with non-string error argument success = '$(\"#main\").html(data);' error = 'Failed to load content from %r' % URL errormsg = ('$(\"#main\").html(\"<div class=\'alert alert-warning\'>' '<p>%s</p></div>\");' % error) content = html5.load(URL, error=1) assert parse_html(content) == parse_html(LOAD % (URL, success, errormsg))
def test_bold_param(args, kwargs, result): h1 = parse_html(html.bold_param(*args, **kwargs)) h2 = parse_html(result) assert h1 == h2
def test_comments_box(): box = html5.comments_box('Test', identifier='test', title='Test', url=URL) assert parse_html(str(box)) == parse_html(BOX % URL)
def test_wrap_content(): content = bootstrap.wrap_content('test') assert parse_html(str(content)) == parse_html( '<div class="container" id="main">\ntest\n</div>')
def test_overlay_canvas(): box = html5.overlay_canvas() assert parse_html(str(box)) == parse_html(OVERLAY)
def test_load_state(): state = html5.load_state('test') assert parse_html(str(state)) == parse_html( '<script>\nif (location.hash.length <= 1) {\n' ' $("#state_test").load_state("test");\n}\n' '</script>')
def test_navbar(): # test simple content out = html.navbar('H1', 0, ['H1:TEST-STRAIN']) assert parse_html(str(out)) == parse_html(NAVBAR)
def test_banner(): # test simple content out = html.banner('L1', 0, 100) assert parse_html(str(out)) == parse_html(BANNER)
def test_bold_param(args, kwargs, result): h1 = parse_html(html.bold_param(*args, **kwargs)) h2 = parse_html(result) assert h1 == h2
def test_navbar(): # test simple content out = html.navbar('H1', 0, ['H1:TEST-STRAIN']) assert parse_html(str(out)) == parse_html(NAVBAR)
def test_banner(): # test simple content out = html.banner('L1', 0, 100) assert parse_html(str(out)) == parse_html(BANNER)
def test_calendar(mode, datefmt): cal = bootstrap.calendar(DATE, mode=mode) assert parse_html(str(cal)) == parse_html(CALENDAR.format( '%ss' % mode, datefmt))
def test_calendar(mode, datefmt): backward, cal, forward = bootstrap.calendar(DATE, mode=mode) assert parse_html(str(backward)) == parse_html(str(BACKWARD)) assert parse_html(str(cal)) == parse_html(CAL.format( '%ss' % mode, datefmt)) assert parse_html(str(forward)) == parse_html(str(FORWARD))