irctest.server_tests.read_marker

Draft IRCv3 read-marker

ReadMarkerServiceTestCase

Tests requiring account registration.

ergo
sable
testReadMarkerPersistsAcrossReconnect

Read marker set in one session persists when reconnecting.

.s
testReadMarkerPropagatedToOtherSessions
When a user sets a read marker, the server SHOULD send MARKREAD to

all other sessions of the same user that have the capability negotiated.

.s

ReadMarkerTestCase

ergo
sable
testGetNoReadMarker

MARKREAD get on a target with no stored timestamp returns '*'.

.s
testInvalidTimestamp

MARKREAD set with a malformed timestamp → FAIL MARKREAD INVALID_PARAMS.

.d
testMissingParams

MARKREAD with no parameters → FAIL MARKREAD NEED_MORE_PARAMS.

.s
testReadMarkerDoesNotDecrease
If a client sends a MARKREAD with an older timestamp, the server MUST

reply with the newer stored value (spec: 'The last read timestamp of a target MUST only ever increase').

.s
testReadMarkerOnJoin

After JOIN, server MUST send MARKREAD before RPL_ENDOFNAMES (366).

.s
testReadMarkerOnJoinWithStoredTimestamp

After JOIN, MARKREAD sent by server reflects any previously stored timestamp.

.d
testReadMarkerUserTarget

MARKREAD get for a user (DM) target returns the stored value.

.s
testSetAndGet

MARKREAD get after a set returns the stored timestamp.

.s
testWildcardTimestampRejected

MARKREAD client set command MUST NOT use '*' as the timestamp.

.d