53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
# There are more attribute plugin unit tests in unit_tests/test_plugins.py
|
|
from nose.tools import eq_
|
|
from nose.plugins.attrib import attr
|
|
|
|
def test_flags():
|
|
# @attr('one','two')
|
|
def test():
|
|
pass
|
|
test = attr('one','two')(test)
|
|
|
|
eq_(test.one, 1)
|
|
eq_(test.two, 1)
|
|
|
|
def test_values():
|
|
# @attr(mood="hohum", colors=['red','blue'])
|
|
def test():
|
|
pass
|
|
test = attr(mood="hohum", colors=['red','blue'])(test)
|
|
|
|
eq_(test.mood, "hohum")
|
|
eq_(test.colors, ['red','blue'])
|
|
|
|
def test_mixed():
|
|
# @attr('slow', 'net', role='integration')
|
|
def test():
|
|
pass
|
|
test = attr('slow', 'net', role='integration')(test)
|
|
|
|
eq_(test.slow, 1)
|
|
eq_(test.net, 1)
|
|
eq_(test.role, 'integration')
|
|
|
|
def test_class_attrs():
|
|
# @attr('slow', 'net', role='integration')
|
|
class MyTest:
|
|
def setUp():
|
|
pass
|
|
def test_one(self):
|
|
pass
|
|
def test_two(self):
|
|
pass
|
|
|
|
class SubClass(MyTest):
|
|
pass
|
|
|
|
MyTest = attr('slow', 'net', role='integration')(MyTest)
|
|
eq_(MyTest.slow, 1)
|
|
eq_(MyTest.net, 1)
|
|
eq_(MyTest.role, 'integration')
|
|
eq_(SubClass.slow, 1)
|
|
|
|
assert not hasattr(MyTest.setUp, 'slow')
|
|
assert not hasattr(MyTest.test_two, 'slow')
|