ruffle/src/test_data.rs

126 lines
4.0 KiB
Rust
Raw Normal View History

2016-08-31 18:45:58 +00:00
use std::fs::File;
use std::vec::Vec;
use read::read_swf;
use read::tests::read_tag_bytes_from_file;
use tag_codes::TagCode;
use types::*;
use write::write_swf;
#[allow(dead_code)]
pub fn echo_swf(filename: &str) {
let in_file = File::open(filename).unwrap();
let swf = read_swf(in_file).unwrap();
let out_file = File::create(filename).unwrap();
write_swf(&swf, out_file).unwrap();
}
2016-08-31 19:08:18 +00:00
pub type TagTestData = (Tag, Vec<u8>);
2016-08-31 18:45:58 +00:00
pub fn define_scene_and_frame_label_data() -> TagTestData {
(
Tag::DefineSceneAndFrameLabelData {
scenes: vec![
FrameLabel { frame_num: 0, label: "Scene 1".to_string() },
FrameLabel {
frame_num: 25,
label: "Scene2Scene2Scene2Scene2Scene2".to_string()
},
FrameLabel { frame_num: 26, label: "test日本語test".to_string() },
],
frame_labels: vec![
FrameLabel { frame_num: 0, label: "a".to_string() },
FrameLabel { frame_num: 9, label: "b".to_string() },
FrameLabel { frame_num: 17, label: "❤😁aaa".to_string() },
FrameLabel { frame_num: 25, label: "frameInScene2".to_string() },
],
},
read_tag_bytes_from_file(
"tests/swfs/define_scene_and_frame_label_data.swf",
TagCode::DefineSceneAndFrameLabelData
)
)
}
2016-08-31 18:45:58 +00:00
pub fn define_shape() -> TagTestData {
(
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: 255, g: 0, b: 0, a: 255 })
],
line_styles: vec![],
},
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,
},
]
}),
read_tag_bytes_from_file("tests/swfs/define_shape.swf", TagCode::DefineShape)
2016-08-31 18:45:58 +00:00
)
2016-09-08 02:59:59 +00:00
}
2016-09-08 05:08:24 +00:00
pub fn define_sprite() -> TagTestData {
(
Tag::DefineSprite(Sprite {
id: 1,
num_frames: 5,
tags: vec![
Tag::ShowFrame,
Tag::ShowFrame,
Tag::ShowFrame,
Tag::ShowFrame,
Tag::ShowFrame,
],
}),
read_tag_bytes_from_file("tests/swfs/define_sprite.swf", TagCode::DefineSprite)
)
}
2016-09-08 02:59:59 +00:00
pub fn place_object_2() -> TagTestData {
(
Tag::PlaceObject(Box::new(PlaceObject {
version: 2,
action: PlaceObjectAction::Place(1),
depth: 1,
matrix: Some(Matrix::new()),
color_transform: None,
ratio: None,
name: None,
clip_depth: None,
class_name: None,
filters: vec![],
background_color: None,
blend_mode: BlendMode::Normal,
clip_actions: vec![],
is_bitmap_cached: false,
is_visible: true,
})),
read_tag_bytes_from_file("tests/swfs/define_shape.swf", TagCode::PlaceObject2)
)
2016-08-31 18:45:58 +00:00
}