test_include-exclude.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import pytest
  2. from pytest import mark, raises
  3. from bottle import template
  4. @mark.parametrize('expected, params', [
  5. ("""<div class="pure-u-1-3 pure-u-lg-1-6">
  6. <div class="pure-g">
  7. <div class="pure-u-1">
  8. <div class="l-box">
  9. <h3>Item</h3>
  10. </div>
  11. </div>
  12. <div class="pure-u-1">
  13. <select id="item-include" name="item" size="10" multiple="true" style="width: calc(100% - 1em); margin: 0 1em 1em">
  14. <option value="Include" disabled="true" >Include</option>
  15. <option value="val1-to-backend" >val1</option>
  16. <option value="val2" disabled="true" >val2</option>
  17. </select>
  18. </div>
  19. <div class="pure-u-1">
  20. <select id="item-exclude" name="item" size="10" multiple="true" style="width: calc(100% - 1em); margin: 0 1em 1em">
  21. <option value="Exclude" disabled="true" >Exclude</option>
  22. <option value="val1-to-backend" >val1</option>
  23. <option value="val2" disabled="true" >val2</option>
  24. </select>
  25. </div>
  26. </div>
  27. </div>""",{
  28. "name": "item",
  29. "_include": {
  30. "options": [{
  31. "value": "val1-to-backend",
  32. "display": "val1",
  33. },
  34. {
  35. "value": "val2",
  36. "disabled": True,
  37. },]
  38. },
  39. "_exclude": {
  40. "options": [{
  41. "value": "val1-to-backend",
  42. "display": "val1",
  43. },
  44. {
  45. "value": "val2",
  46. "disabled": True,
  47. },]
  48. } }),
  49. ])
  50. def test_include_exclude_render_exact(expected, params):
  51. assert template('include-exclude', **params) == expected