File

spec/scansion/issue978.scs @ 11046:64713f21ff0e

util.dbuffer: Simplify test case An earlier theory involved the bug being related to collapsing multiple items, so it exercised that too. Also correct the comment, it referred to the space in "hello world" in an earlier version before the test string was changed to "foobar", which was what was tested in a REPL
author Kim Alvefur <zash@zash.se>
date Mon, 24 Aug 2020 17:28:48 +0200
parent 9291:329a670ae975
line wrap: on
line source

# Issue 978: MUC does not carry error into occupant leave status (single client)
[Client] Romeo
	jid: user@localhost
	password: password

[Client] Juliet
	jid: user2@localhost
	password: password

-----

Romeo connects

Romeo sends:
	<presence to="room@conference.localhost/Romeo">
		<x xmlns="http://jabber.org/protocol/muc"/>
	</presence>

Romeo receives:
	<presence from='room@conference.localhost/Romeo'>
		<x xmlns='http://jabber.org/protocol/muc#user'>
			<status code='201'/>
			<item jid="${Romeo's full JID}" affiliation='owner' role='moderator'/>
			<status code='110'/>
		</x>
	</presence>

Romeo receives:
	<message type='groupchat' from='room@conference.localhost'><subject/></message>

# Submit config form
Romeo sends:
	<iq id='config1' to='room@conference.localhost' type='set'>
		<query xmlns='http://jabber.org/protocol/muc#owner'>
			<x xmlns='jabber:x:data' type='submit'>
				<field var='FORM_TYPE'>
					<value>http://jabber.org/protocol/muc#roomconfig</value>
				</field>
				<field var='muc#roomconfig_whois'>
					<value>anyone</value>
				</field>
			</x>
		</query>
	</iq>

Romeo receives:
	<iq id="config1" from="room@conference.localhost" type="result">
	</iq>

# Juliet connects, and joins the room
Juliet connects

Juliet sends:
	<presence to="room@conference.localhost/Juliet">
		<x xmlns="http://jabber.org/protocol/muc"/>
	</presence>

Juliet receives:
	<presence from="room@conference.localhost/Romeo" />

Juliet receives:
	<presence from="room@conference.localhost/Juliet" />

Juliet receives:
	<message type='groupchat' from='room@conference.localhost'><subject/></message>

Romeo receives:
	<presence from="room@conference.localhost/Juliet" />

Juliet sends:
	<presence type='error' to='room@conference.localhost'>
		<error type='cancel'>
			<service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
			<text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Test error</text>
		</error>
	</presence>

Romeo receives:
	<presence type='unavailable' from='room@conference.localhost/Juliet'>
		<status>Kicked: service unavailable: Test error</status>
		<x xmlns='http://jabber.org/protocol/muc#user'>
			<status code='333'/>
			<item jid="${Juliet's full JID}" affiliation='none' role='none'/>
		</x>
	</presence>