summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/slice_indices.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/slice_indices.py')
-rw-r--r--tests/basics/slice_indices.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/basics/slice_indices.py b/tests/basics/slice_indices.py
new file mode 100644
index 0000000000..b7f439ccca
--- /dev/null
+++ b/tests/basics/slice_indices.py
@@ -0,0 +1,27 @@
+# Test builtin slice indices resolution
+
+# A class that returns an item key
+class A:
+ def __getitem__(self, idx):
+ return idx
+
+# Make sure that we have slices and .indices()
+try:
+ A()[2:5].indices(10)
+except:
+ print("SKIP")
+ raise SystemExit
+
+print(A()[:].indices(10))
+print(A()[2:].indices(10))
+print(A()[:7].indices(10))
+print(A()[2:7].indices(10))
+print(A()[2:7:2].indices(10))
+print(A()[2:7:-2].indices(10))
+print(A()[7:2:2].indices(10))
+print(A()[7:2:-2].indices(10))
+
+print(A()[2:7:2].indices(5))
+print(A()[2:7:-2].indices(5))
+print(A()[7:2:2].indices(5))
+print(A()[7:2:-2].indices(5))