aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/slice_indices.py27
-rw-r--r--tests/unicode/unicode_slice.py12
2 files changed, 39 insertions, 0 deletions
diff --git a/tests/basics/slice_indices.py b/tests/basics/slice_indices.py
new file mode 100644
index 000000000..b7f439ccc
--- /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))
diff --git a/tests/unicode/unicode_slice.py b/tests/unicode/unicode_slice.py
new file mode 100644
index 000000000..d9237088f
--- /dev/null
+++ b/tests/unicode/unicode_slice.py
@@ -0,0 +1,12 @@
+# Test slicing of Unicode strings
+
+s = "Привет"
+
+print(s[:])
+print(s[2:])
+print(s[:5])
+print(s[2:5])
+print(s[2:5:1])
+print(s[2:10])
+print(s[-3:10])
+print(s[-4:10])