mirror of
https://github.com/chatmail/core.git
synced 2026-05-09 01:46:30 +03:00
Move test for mimeparser from stress.rs into src/*
This commit is contained in:
committed by
Floris Bruynooghe
parent
8e4a01c98d
commit
db4f972315
@@ -1778,6 +1778,7 @@ pub unsafe fn mailimf_find_optional_field(
|
|||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
use crate::test_utils::*;
|
||||||
use std::ffi::CStr;
|
use std::ffi::CStr;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
@@ -1852,4 +1853,30 @@ mod tests {
|
|||||||
mailmime_free(mime);
|
mailmime_free(mime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[test]
|
||||||
|
fn test_dc_mimeparser_with_context() {
|
||||||
|
unsafe {
|
||||||
|
let context = dummy_context();
|
||||||
|
let raw = b"Content-Type: multipart/mixed; boundary=\"==break==\";\nSubject: outer-subject\nX-Special-A: special-a\nFoo: Bar\nChat-Version: 0.0\n\n--==break==\nContent-Type: text/plain; protected-headers=\"v1\";\nSubject: inner-subject\nX-Special-B: special-b\nFoo: Xy\nChat-Version: 1.0\n\ntest1\n\n--==break==--\n\n\x00";
|
||||||
|
let mut mimeparser = dc_mimeparser_parse(&context.ctx, &raw[..]);
|
||||||
|
|
||||||
|
assert_eq!(
|
||||||
|
as_str(mimeparser.subject as *const libc::c_char),
|
||||||
|
"inner-subject",
|
||||||
|
);
|
||||||
|
|
||||||
|
let mut of: *mut mailimf_optional_field =
|
||||||
|
dc_mimeparser_lookup_optional_field(&mimeparser, "X-Special-A");
|
||||||
|
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "special-a",);
|
||||||
|
|
||||||
|
of = dc_mimeparser_lookup_optional_field(&mimeparser, "Foo");
|
||||||
|
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "Bar",);
|
||||||
|
|
||||||
|
of = dc_mimeparser_lookup_optional_field(&mimeparser, "Chat-Version");
|
||||||
|
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "1.0",);
|
||||||
|
assert_eq!(mimeparser.parts.len(), 1);
|
||||||
|
|
||||||
|
dc_mimeparser_unref(&mut mimeparser);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
|
|
||||||
use mmime::mailimf_types::*;
|
|
||||||
use tempfile::{tempdir, TempDir};
|
use tempfile::{tempdir, TempDir};
|
||||||
|
|
||||||
use deltachat::chat::{self, Chat};
|
use deltachat::chat::{self, Chat};
|
||||||
@@ -12,7 +11,6 @@ use deltachat::constants::*;
|
|||||||
use deltachat::contact::*;
|
use deltachat::contact::*;
|
||||||
use deltachat::context::*;
|
use deltachat::context::*;
|
||||||
use deltachat::dc_imex::*;
|
use deltachat::dc_imex::*;
|
||||||
use deltachat::dc_mimeparser::*;
|
|
||||||
use deltachat::dc_tools::*;
|
use deltachat::dc_tools::*;
|
||||||
use deltachat::key::*;
|
use deltachat::key::*;
|
||||||
use deltachat::keyring::*;
|
use deltachat::keyring::*;
|
||||||
@@ -653,33 +651,6 @@ unsafe fn create_test_context() -> TestContext {
|
|||||||
TestContext { ctx: ctx, dir: dir }
|
TestContext { ctx: ctx, dir: dir }
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn test_dc_mimeparser_with_context() {
|
|
||||||
unsafe {
|
|
||||||
let context = create_test_context();
|
|
||||||
let raw = b"Content-Type: multipart/mixed; boundary=\"==break==\";\nSubject: outer-subject\nX-Special-A: special-a\nFoo: Bar\nChat-Version: 0.0\n\n--==break==\nContent-Type: text/plain; protected-headers=\"v1\";\nSubject: inner-subject\nX-Special-B: special-b\nFoo: Xy\nChat-Version: 1.0\n\ntest1\n\n--==break==--\n\n\x00";
|
|
||||||
let mut mimeparser = dc_mimeparser_parse(&context.ctx, &raw[..]);
|
|
||||||
|
|
||||||
assert_eq!(
|
|
||||||
as_str(mimeparser.subject as *const libc::c_char),
|
|
||||||
"inner-subject",
|
|
||||||
);
|
|
||||||
|
|
||||||
let mut of: *mut mailimf_optional_field =
|
|
||||||
dc_mimeparser_lookup_optional_field(&mimeparser, "X-Special-A");
|
|
||||||
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "special-a",);
|
|
||||||
|
|
||||||
of = dc_mimeparser_lookup_optional_field(&mimeparser, "Foo");
|
|
||||||
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "Bar",);
|
|
||||||
|
|
||||||
of = dc_mimeparser_lookup_optional_field(&mimeparser, "Chat-Version");
|
|
||||||
assert_eq!(as_str((*of).fld_value as *const libc::c_char), "1.0",);
|
|
||||||
assert_eq!(mimeparser.parts.len(), 1);
|
|
||||||
|
|
||||||
dc_mimeparser_unref(&mut mimeparser);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_dc_get_oauth2_url() {
|
fn test_dc_get_oauth2_url() {
|
||||||
let ctx = unsafe { create_test_context() };
|
let ctx = unsafe { create_test_context() };
|
||||||
|
|||||||
Reference in New Issue
Block a user