Merge pull request #223 from martinetd/mode
irc-proto: allow empty mode
This commit is contained in:
commit
73dbbedc75
1 changed files with 29 additions and 8 deletions
|
@ -287,10 +287,8 @@ where
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
return Err(InvalidModeString {
|
// No modifier
|
||||||
string: pieces.join(" ").to_owned(),
|
return Ok(res);
|
||||||
cause: MissingModeModifier,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -318,9 +316,32 @@ where
|
||||||
|
|
||||||
Ok(res)
|
Ok(res)
|
||||||
} else {
|
} else {
|
||||||
Err(InvalidModeString {
|
// No modifier
|
||||||
string: pieces.join(" ").to_owned(),
|
Ok(res)
|
||||||
cause: MissingModeModifier,
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod test {
|
||||||
|
use super::{ChannelMode, Mode};
|
||||||
|
use crate::Command;
|
||||||
|
use crate::Message;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn parse_channel_mode() {
|
||||||
|
let cmd = "MODE #foo +r".parse::<Message>().unwrap().command;
|
||||||
|
assert_eq!(
|
||||||
|
Command::ChannelMODE(
|
||||||
|
"#foo".to_string(),
|
||||||
|
vec![Mode::Plus(ChannelMode::RegisteredOnly, None)]
|
||||||
|
),
|
||||||
|
cmd
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn parse_no_mode() {
|
||||||
|
let cmd = "MODE #foo".parse::<Message>().unwrap().command;
|
||||||
|
assert_eq!(Command::ChannelMODE("#foo".to_string(), vec![]), cmd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue