Skip to content

Commit 59ceedf

Browse files
Merge pull request #13 from hanmertens/color8_constructors
Fix bounds check for Color8::new_rgb
2 parents bbb1142 + 28375dc commit 59ceedf

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/colors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ impl Color8 {
184184

185185
/// New RGB color, each channel in range `0..6`
186186
pub fn new_rgb(r: u8, g: u8, b: u8) -> Result<Self, OutOfBoundsError> {
187-
if r < 6 || g < 6 || b < 6 {
187+
if r < 6 && g < 6 && b < 6 {
188188
Ok(Self {
189189
byte: 16 + r * 36 + g * 6 + b,
190190
})

tests/tests.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,11 @@ fn convert_rgb_to_color8() {
125125
fn convert_gray_to_color8() {
126126
assert_eq!(Color8::new_gray(23).unwrap(), Color8::new(255));
127127
}
128+
129+
#[test]
130+
fn color8_new_rgb() {
131+
assert!(Color8::new_rgb(6, 5, 5).is_err());
132+
assert!(Color8::new_rgb(5, 6, 5).is_err());
133+
assert!(Color8::new_rgb(5, 5, 6).is_err());
134+
assert!(Color8::new_rgb(5, 5, 5).is_ok());
135+
}

0 commit comments

Comments
 (0)