about summary refs log tree commit diff stats
path: root/test/tc_history.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/tc_history.py')
-rw-r--r--test/tc_history.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/test/tc_history.py b/test/tc_history.py
new file mode 100644
index 00000000..3e5adcff
--- /dev/null
+++ b/test/tc_history.py
@@ -0,0 +1,44 @@
+if __name__ == '__main__':
+	from os.path import abspath, join
+	import sys
+	sys.path.append(abspath(join(sys.path[0], '..')))
+
+from ranger.history import History
+from unittest import TestCase, main
+import unittest
+
+class Test(TestCase):
+	def test_everything(self):
+		hist = History(3)
+		for i in range(6):
+			hist.add(i)
+		self.assertEqual([3,4,5], list(hist))
+
+		hist.back()
+
+		self.assertEqual(4, hist.top())
+		self.assertEqual([3,4], list(hist))
+
+		hist.back()
+		self.assertEqual(3, hist.top())
+		self.assertEqual([3], list(hist))
+
+		# no change if top == bottom
+		self.assertEqual(hist.top(), hist.bottom())
+		last_top = hist.top()
+		hist.back()
+		self.assertEqual(hist.top(), last_top)
+
+
+		hist.forward()
+		hist.forward()
+		self.assertEqual(5, hist.top())
+		self.assertEqual([3,4,5], list(hist))
+
+
+		self.assertEqual(3, hist.bottom())
+		hist.add(6)
+		self.assertEqual(4, hist.bottom())
+		self.assertEqual([4,5,6], list(hist))
+
+if __name__ == '__main__': main()