mirror of
				https://github.com/django/django.git
				synced 2025-10-30 17:16:10 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import warnings
 | |
| from unittest import skipIf
 | |
| 
 | |
| from django.test import SimpleTestCase
 | |
| 
 | |
| from ..utils import setup
 | |
| 
 | |
| try:
 | |
|     import numpy
 | |
|     VisibleDeprecationWarning = numpy.VisibleDeprecationWarning
 | |
| except ImportError:
 | |
|     numpy = False
 | |
| except AttributeError:  # numpy < 1.9.0, e.g. 1.8.2 in Debian 8
 | |
|     VisibleDeprecationWarning = DeprecationWarning
 | |
| 
 | |
| 
 | |
| @skipIf(numpy is False, "Numpy must be installed to run these tests.")
 | |
| class NumpyTests(SimpleTestCase):
 | |
|     # Ignore numpy deprecation warnings (#23890)
 | |
|     if numpy:
 | |
|         warnings.filterwarnings(
 | |
|             "ignore",
 | |
|             "Using a non-integer number instead of an "
 | |
|             "integer will result in an error in the future",
 | |
|             VisibleDeprecationWarning
 | |
|         )
 | |
| 
 | |
|     @setup({'numpy-array-index01': '{{ var.1 }}'})
 | |
|     def test_numpy_array_index01(self):
 | |
|         """
 | |
|         Numpy's array-index syntax allows a template to access a certain
 | |
|         item of a subscriptable object.
 | |
|         """
 | |
|         output = self.engine.render_to_string(
 | |
|             'numpy-array-index01',
 | |
|             {'var': numpy.array(["first item", "second item"])},
 | |
|         )
 | |
|         self.assertEqual(output, 'second item')
 | |
| 
 | |
|     @setup({'numpy-array-index02': '{{ var.5 }}'})
 | |
|     def test_numpy_array_index02(self):
 | |
|         """
 | |
|         Fail silently when the array index is out of range.
 | |
|         """
 | |
|         output = self.engine.render_to_string(
 | |
|             'numpy-array-index02',
 | |
|             {'var': numpy.array(["first item", "second item"])},
 | |
|         )
 | |
|         if self.engine.string_if_invalid:
 | |
|             self.assertEqual(output, 'INVALID')
 | |
|         else:
 | |
|             self.assertEqual(output, '')
 |