convert bin/stub into a sanity test

This commit is contained in:
Tangent 128 2018-04-11 22:45:53 -04:00
parent da54623006
commit f890437c17
4 changed files with 31 additions and 29 deletions

View File

@ -1,28 +0,0 @@
extern crate webmetro;
use std::io::{Cursor, stdout, Write};
use webmetro::webm::*;
pub fn main() {
let mut cursor = Cursor::new(Vec::new());
encode_webm_element(WebmElement::EbmlHead, &mut cursor).unwrap();
encode_webm_element(WebmElement::Segment, &mut cursor).unwrap();
encode_webm_element(WebmElement::Tracks(&[]), &mut cursor).unwrap();
encode_webm_element(WebmElement::Cluster, &mut cursor).unwrap();
encode_webm_element(WebmElement::Timecode(0), &mut cursor).unwrap();
encode_webm_element(WebmElement::SimpleBlock(SimpleBlock {
track: 3,
flags: 0x0,
timecode: 123,
data: "Hello, World".as_bytes()
}), &mut cursor).unwrap();
encode_webm_element(WebmElement::Cluster, &mut cursor).unwrap();
encode_webm_element(WebmElement::Timecode(1000), &mut cursor).unwrap();
stdout().write_all(&cursor.get_ref()).unwrap();
}

Binary file not shown.

View File

@ -21,6 +21,7 @@ mod tests {
use futures::future::{ok, Future};
pub const TEST_FILE: &'static [u8] = include_bytes!("data/test1.webm");
pub const ENCODE_WEBM_TEST_FILE: &'static [u8] = include_bytes!("data/encode_webm_test.webm");
#[test]
fn hello_futures() {

View File

@ -131,7 +131,10 @@ pub fn encode_webm_element<T: Write + Seek>(element: WebmElement, output: &mut T
#[cfg(test)]
mod tests {
use tests::TEST_FILE;
use tests::{
TEST_FILE,
ENCODE_WEBM_TEST_FILE
};
use webm::*;
#[test]
@ -188,4 +191,30 @@ mod tests {
assert_eq!(iter.next(), Some(WebmElement::Cues));
assert_eq!(iter.next(), None);
}
#[test]
fn encode_webm_test() {
let mut cursor = Cursor::new(Vec::new());
encode_webm_element(WebmElement::EbmlHead, &mut cursor).unwrap();
encode_webm_element(WebmElement::Segment, &mut cursor).unwrap();
encode_webm_element(WebmElement::Tracks(&[]), &mut cursor).unwrap();
encode_webm_element(WebmElement::Cluster, &mut cursor).unwrap();
encode_webm_element(WebmElement::Timecode(0), &mut cursor).unwrap();
encode_webm_element(WebmElement::SimpleBlock(SimpleBlock {
track: 3,
flags: 0x0,
timecode: 123,
data: "Hello, World".as_bytes()
}), &mut cursor).unwrap();
encode_webm_element(WebmElement::Cluster, &mut cursor).unwrap();
encode_webm_element(WebmElement::Timecode(1000), &mut cursor).unwrap();
assert_eq!(cursor.get_ref(), &ENCODE_WEBM_TEST_FILE);
}
}