MCPcopy Create free account
hub / github.com/python-cmd2/cmd2 / test_persisted_history_span

Function test_persisted_history_span

tests/test_history.py:231–279  ·  view source on GitHub ↗
(persisted_hist)

Source from the content-addressed store, hash-verified

229
230
231def test_persisted_history_span(persisted_hist) -> None:
232 span = persisted_hist.span("2..")
233 assert len(span) == 5
234 assert span[2].statement.raw == "second"
235 assert span[3].statement.raw == "third"
236 assert span[4].statement.raw == "fourth"
237 assert span[5].statement.raw == "fifth"
238 assert span[6].statement.raw == "sixth"
239
240 span = persisted_hist.span("-2..")
241 assert len(span) == 2
242 assert span[5].statement.raw == "fifth"
243 assert span[6].statement.raw == "sixth"
244
245 span = persisted_hist.span("1..3")
246 assert len(span) == 3
247 assert span[1].statement.raw == "first"
248 assert span[2].statement.raw == "second"
249 assert span[3].statement.raw == "third"
250
251 span = persisted_hist.span("2:-1")
252 assert len(span) == 5
253 assert span[2].statement.raw == "second"
254 assert span[3].statement.raw == "third"
255 assert span[4].statement.raw == "fourth"
256 assert span[5].statement.raw == "fifth"
257 assert span[6].statement.raw == "sixth"
258
259 span = persisted_hist.span("-3:4")
260 assert len(span) == 1
261 assert span[4].statement.raw == "fourth"
262
263 span = persisted_hist.span(":-2", include_persisted=True)
264 assert len(span) == 5
265 assert span[1].statement.raw == "first"
266 assert span[2].statement.raw == "second"
267 assert span[3].statement.raw == "third"
268 assert span[4].statement.raw == "fourth"
269 assert span[5].statement.raw == "fifth"
270
271 span = persisted_hist.span(":-2", include_persisted=False)
272 assert len(span) == 1
273 assert span[5].statement.raw == "fifth"
274
275 value_errors = ["fred", "fred:joe", "2", "-2", "a..b", "2 ..", "1 : 3", "1:0", "0:3"]
276 expected_err = "History indices must be positive or negative integers, and may not be zero."
277 for tryit in value_errors:
278 with pytest.raises(ValueError, match=expected_err):
279 persisted_hist.span(tryit)
280
281
282def test_history_class_get(hist) -> None:

Callers

nothing calls this directly

Calls 1

spanMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…