Add DefineShape tests
This commit is contained in:
parent
fffe299cac
commit
648ad609a2
48
src/read.rs
48
src/read.rs
|
@ -534,10 +534,11 @@ impl<R: Read> Reader<R> {
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use types::*;
|
|
||||||
use super::*;
|
|
||||||
use std::io::{Cursor, Read};
|
use std::io::{Cursor, Read};
|
||||||
use std::vec::Vec;
|
use std::vec::Vec;
|
||||||
|
use super::*;
|
||||||
|
use types::*;
|
||||||
|
use tag_codes::TagCode;
|
||||||
|
|
||||||
fn reader(data: &[u8]) -> Reader<&[u8]> {
|
fn reader(data: &[u8]) -> Reader<&[u8]> {
|
||||||
let default_version = 13;
|
let default_version = 13;
|
||||||
|
@ -795,7 +796,48 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn read_define_shape() {
|
fn read_define_shape() {
|
||||||
unimplemented!()
|
let tag_bytes = read_tag_from_file("test/swfs/define_shape.bin", 1);
|
||||||
|
let expected_tag = Tag::DefineShape(Shape {
|
||||||
|
version: 1,
|
||||||
|
id: 1,
|
||||||
|
shape_bounds: Rectangle { x_min: 0f32, x_max: 20f32, y_min: 0f32, y_max: 20f32 },
|
||||||
|
edge_bounds: Rectangle { x_min: 0f32, x_max: 20f32, y_min: 0f32, y_max: 20f32 },
|
||||||
|
styles: ShapeStyles {
|
||||||
|
fill_styles: vec![
|
||||||
|
FillStyle::Color(Color { r: 0, g: 0, b: 0, a: 255 })
|
||||||
|
],
|
||||||
|
line_styles: vec![],
|
||||||
|
num_fill_bits: 4,
|
||||||
|
num_line_bits: 0,
|
||||||
|
},
|
||||||
|
shape: vec![
|
||||||
|
ShapeRecord::StyleChange(StyleChangeData {
|
||||||
|
move_delta_x: 0f32,
|
||||||
|
move_delta_y: 0f32,
|
||||||
|
fill_style_0: None,
|
||||||
|
fill_style_1: Some(1),
|
||||||
|
line_style: None,
|
||||||
|
new_styles: None,
|
||||||
|
}),
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 20f32,
|
||||||
|
delta_y: 0f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 0f32,
|
||||||
|
delta_y: 20f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: -20f32,
|
||||||
|
delta_y: 0f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 0f32,
|
||||||
|
delta_y: -20f32,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
assert_eq!(read_tag_from_file("test/swfs/define_shape.bin", 8), expected_tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
44
src/write.rs
44
src/write.rs
|
@ -988,7 +988,49 @@ mod tests {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn write_define_shape() {
|
fn write_define_shape() {
|
||||||
unimplemented!()
|
let tag = Tag::DefineShape(Shape {
|
||||||
|
version: 1,
|
||||||
|
id: 1,
|
||||||
|
shape_bounds: Rectangle { x_min: 0f32, x_max: 20f32, y_min: 0f32, y_max: 20f32 },
|
||||||
|
edge_bounds: Rectangle { x_min: 0f32, x_max: 20f32, y_min: 0f32, y_max: 20f32 },
|
||||||
|
styles: ShapeStyles {
|
||||||
|
fill_styles: vec![
|
||||||
|
FillStyle::Color(Color { r: 0, g: 0, b: 0, a: 255 })
|
||||||
|
],
|
||||||
|
line_styles: vec![],
|
||||||
|
num_fill_bits: 4,
|
||||||
|
num_line_bits: 0,
|
||||||
|
},
|
||||||
|
shape: vec![
|
||||||
|
ShapeRecord::StyleChange(StyleChangeData {
|
||||||
|
move_delta_x: 0f32,
|
||||||
|
move_delta_y: 0f32,
|
||||||
|
fill_style_0: None,
|
||||||
|
fill_style_1: Some(1),
|
||||||
|
line_style: None,
|
||||||
|
new_styles: None,
|
||||||
|
}),
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 20f32,
|
||||||
|
delta_y: 0f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 0f32,
|
||||||
|
delta_y: 20f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: -20f32,
|
||||||
|
delta_y: 0f32,
|
||||||
|
},
|
||||||
|
ShapeRecord::StraightEdge {
|
||||||
|
delta_x: 0f32,
|
||||||
|
delta_y: -20f32,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
assert_eq!(write_tag_to_buf(&tag, 1),
|
||||||
|
get_file_contents("test/swfs/define_shape.bin"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue