aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/skylark/testdata/reversed.sky
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/skylark/testdata/reversed.sky')
-rw-r--r--src/test/skylark/testdata/reversed.sky30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/skylark/testdata/reversed.sky b/src/test/skylark/testdata/reversed.sky
new file mode 100644
index 0000000000..91ce565687
--- /dev/null
+++ b/src/test/skylark/testdata/reversed.sky
@@ -0,0 +1,30 @@
+# lists
+
+assert_eq(reversed(''), [])
+assert_eq(reversed('a'), ['a'])
+assert_eq(reversed('abc'), ['c', 'b', 'a'])
+assert_eq(reversed('__test '), [' ', ' ', 't', 's', 'e', 't', '_', '_'])
+assert_eq(reversed('bbb'), ['b', 'b', 'b'])
+
+---
+reversed(None) ### type 'NoneType' is not iterable
+---
+reversed(1) ### type 'int' is not iterable
+---
+reversed({1: 3}) ### Argument to reversed() must be a sequence, not a dictionary
+---
+
+x = ['a', 'b']
+y = reversed(x)
+y.append('c')
+assert_eq(y, ['b', 'a', 'c'])
+assert_eq(x, ['a', 'b'])
+
+def reverse_equivalence(inp):
+ assert_eq(reversed(inp), inp[::-1])
+ assert_eq(reversed(reversed(inp)), inp)
+
+reverse_equivalence([])
+reverse_equivalence([1])
+reverse_equivalence(["a", "b"])
+