+# check server setting unknown or invalid modes
+insert servermsg-mode [(ARGS)=+f]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+f%on%args:%]
+insert servermsg-mode [% (ARGS)=-g%grab]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%-g%on%args:%grab]
+insert servermsg-mode [(ARGS)=+l]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+l%on%args:%]
+insert servermsg-mode [% (ARGS)=+aBc%:foo%bar]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%+aBc%on%args:%foo%bar]
+insert servermsg-mode [(ARGS)=a]
+insert no-handler range=-2: [% (ALERT_WIN_IDS)=2,3,4 (MSG)=channel%mode%setting%a%on%args:%]
+
+# check server setting type-A modes
+insert servermsg-mode [% (ARGS)=+l%:foo]
+log 1 $ channels:#ch_win3:modes_listy:l set to: [foo]
+insert servermsg-mode [% (ARGS)=+l%:bar]
+log 1 $ channels:#ch_win3:modes_listy:l set to: [bar], [foo]
+insert servermsg-mode [% (ARGS)=+l-l%:baz%foo]
+log 1 $ channels:#ch_win3:modes_listy:l set to: [bar], [baz], [foo]
+log 1 $ channels:#ch_win3:modes_listy:l set to: [bar], [baz]
+
+# check server setting type-B modes
+insert servermsg-mode [% (ARGS)=+k%:password]
+log 1 $ channels:#ch_win3:modes_valued:k set to: [password]
+insert servermsg-mode [% (ARGS)=-k%:*]
+log 1 $ channels:#ch_win3:modes_valued:k deleted
+
+# check server setting type-C modes
+insert servermsg-mode [% (ARGS)=+x%:foo]
+log 1 $ channels:#ch_win3:modes_valued:x set to: [foo]
+insert servermsg-mode [% (ARGS)=+x%:bar]
+log 1 $ channels:#ch_win3:modes_valued:x set to: [bar]
+insert servermsg-mode [% (ARGS)=+y%:zab]
+log 1 $ channels:#ch_win3:modes_valued:y set to: [zab]
+insert servermsg-mode [(ARGS)=-x]
+log 1 $ channels:#ch_win3:modes_valued:x deleted
+
+# check server setting type-D modes
+insert servermsg-mode [(ARGS)=+aBc]
+log 1 $ channels:#ch_win3:modes_toggled set to: [a]
+log 1 $ channels:#ch_win3:modes_toggled set to: [Ba]
+log 1 $ channels:#ch_win3:modes_toggled set to: [Bac]
+insert servermsg-mode [(ARGS)=-cba]
+log 1 $ channels:#ch_win3:modes_toggled set to: [Ba]
+log 1 $ channels:#ch_win3:modes_toggled set to: [B]
+insert servermsg-mode [(ARGS)=-B+cb]
+log 1 $ channels:#ch_win3:modes_toggled set to: []
+log 1 $ channels:#ch_win3:modes_toggled set to: [c]
+log 1 $ channels:#ch_win3:modes_toggled set to: [bc]