mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 05:01:30 +00:00 
			
		
		
		
	 378c0cf5ab
			
		
	
	
		378c0cf5ab
		
	
	
	
	
		
			
			svn+ssh://pythondev@svn.python.org/python/trunk ........ r78351 | r.david.murray | 2010-02-22 19:24:49 -0500 (Mon, 22 Feb 2010) | 5 lines Issue 6292: for the moment at least, the test suite passes if run with -OO. Tests requiring docstrings are skipped. Patch by Brian Curtin, thanks to Matias Torchinsky for helping review and improve the patch. ........
		
			
				
	
	
		
			124 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| """A module to test whether doctest recognizes some 2.2 features,
 | |
| like static and class methods.
 | |
| 
 | |
| >>> print('yup')  # 1
 | |
| yup
 | |
| 
 | |
| We include some (random) encoded (utf-8) text in the text surrounding
 | |
| the example.  It should be ignored:
 | |
| 
 | |
| ЉЊЈЁЂ
 | |
| 
 | |
| """
 | |
| 
 | |
| import sys
 | |
| import unittest
 | |
| from test import support
 | |
| if sys.flags.optimize >= 2:
 | |
|     raise unittest.SkipTest("Cannot test docstrings with -O2")
 | |
| 
 | |
| class C(object):
 | |
|     """Class C.
 | |
| 
 | |
|     >>> print(C())  # 2
 | |
|     42
 | |
| 
 | |
| 
 | |
|     We include some (random) encoded (utf-8) text in the text surrounding
 | |
|     the example.  It should be ignored:
 | |
| 
 | |
|         ЉЊЈЁЂ
 | |
| 
 | |
|     """
 | |
| 
 | |
|     def __init__(self):
 | |
|         """C.__init__.
 | |
| 
 | |
|         >>> print(C()) # 3
 | |
|         42
 | |
|         """
 | |
| 
 | |
|     def __str__(self):
 | |
|         """
 | |
|         >>> print(C()) # 4
 | |
|         42
 | |
|         """
 | |
|         return "42"
 | |
| 
 | |
|     class D(object):
 | |
|         """A nested D class.
 | |
| 
 | |
|         >>> print("In D!")   # 5
 | |
|         In D!
 | |
|         """
 | |
| 
 | |
|         def nested(self):
 | |
|             """
 | |
|             >>> print(3) # 6
 | |
|             3
 | |
|             """
 | |
| 
 | |
|     def getx(self):
 | |
|         """
 | |
|         >>> c = C()    # 7
 | |
|         >>> c.x = 12   # 8
 | |
|         >>> print(c.x)  # 9
 | |
|         -12
 | |
|         """
 | |
|         return -self._x
 | |
| 
 | |
|     def setx(self, value):
 | |
|         """
 | |
|         >>> c = C()     # 10
 | |
|         >>> c.x = 12    # 11
 | |
|         >>> print(c.x)   # 12
 | |
|         -12
 | |
|         """
 | |
|         self._x = value
 | |
| 
 | |
|     x = property(getx, setx, doc="""\
 | |
|         >>> c = C()    # 13
 | |
|         >>> c.x = 12   # 14
 | |
|         >>> print(c.x)  # 15
 | |
|         -12
 | |
|         """)
 | |
| 
 | |
|     @staticmethod
 | |
|     def statm():
 | |
|         """
 | |
|         A static method.
 | |
| 
 | |
|         >>> print(C.statm())    # 16
 | |
|         666
 | |
|         >>> print(C().statm())  # 17
 | |
|         666
 | |
|         """
 | |
|         return 666
 | |
| 
 | |
|     @classmethod
 | |
|     def clsm(cls, val):
 | |
|         """
 | |
|         A class method.
 | |
| 
 | |
|         >>> print(C.clsm(22))    # 18
 | |
|         22
 | |
|         >>> print(C().clsm(23))  # 19
 | |
|         23
 | |
|         """
 | |
|         return val
 | |
| 
 | |
| def test_main():
 | |
|     from test import test_doctest2
 | |
|     EXPECTED = 19
 | |
|     f, t = support.run_doctest(test_doctest2)
 | |
|     if t != EXPECTED:
 | |
|         raise support.TestFailed("expected %d tests to run, not %d" %
 | |
|                                       (EXPECTED, t))
 | |
| 
 | |
| # Pollute the namespace with a bunch of imported functions and classes,
 | |
| # to make sure they don't get tested.
 | |
| from doctest import *
 | |
| 
 | |
| if __name__ == '__main__':
 | |
|     test_main()
 |