diff --git a/Cargo.lock b/Cargo.lock
index ac01665fef6..0f19312160c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1043,16 +1043,6 @@ dependencies = [
"xml5ever 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
-[[package]]
-name = "gfx_tests"
-version = "0.0.1"
-dependencies = [
- "cssparser 0.23.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "gfx 0.0.1",
- "ipc-channel 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "style 0.0.1",
-]
-
[[package]]
name = "gfx_traits"
version = "0.0.1"
@@ -1435,6 +1425,7 @@ dependencies = [
"servo_config 0.0.1",
"servo_geometry 0.0.1",
"servo_url 0.0.1",
+ "size_of_test 0.0.1",
"smallvec 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
@@ -1443,14 +1434,6 @@ dependencies = [
"webrender_api 0.56.1 (git+https://github.com/servo/webrender)",
]
-[[package]]
-name = "layout_tests"
-version = "0.0.1"
-dependencies = [
- "layout 0.0.1",
- "size_of_test 0.0.1",
-]
-
[[package]]
name = "layout_thread"
version = "0.0.1"
@@ -1839,15 +1822,8 @@ dependencies = [
"malloc_size_of_derive 0.0.1",
"nonzero 0.0.1",
"serde 1.0.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "webrender_api 0.56.1 (git+https://github.com/servo/webrender)",
-]
-
-[[package]]
-name = "msg_tests"
-version = "0.0.1"
-dependencies = [
- "msg 0.0.1",
"size_of_test 0.0.1",
+ "webrender_api 0.56.1 (git+https://github.com/servo/webrender)",
]
[[package]]
@@ -1899,28 +1875,6 @@ dependencies = [
"ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
-[[package]]
-name = "net_tests"
-version = "0.0.1"
-dependencies = [
- "cookie 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "devtools_traits 0.0.1",
- "flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "hyper-openssl 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "hyper_serde 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "ipc-channel 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "msg 0.0.1",
- "net 0.0.1",
- "net_traits 0.0.1",
- "profile_traits 0.0.1",
- "servo_config 0.0.1",
- "servo_url 0.0.1",
- "time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
- "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "url 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
[[package]]
name = "net_traits"
version = "0.0.1"
@@ -1944,13 +1898,6 @@ dependencies = [
"webrender_api 0.56.1 (git+https://github.com/servo/webrender)",
]
-[[package]]
-name = "net_traits_tests"
-version = "0.0.1"
-dependencies = [
- "net_traits 0.0.1",
-]
-
[[package]]
name = "nodrop"
version = "0.1.12"
@@ -2836,13 +2783,6 @@ dependencies = [
"xdg 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
]
-[[package]]
-name = "servo_config_tests"
-version = "0.0.1"
-dependencies = [
- "servo_config 0.0.1",
-]
-
[[package]]
name = "servo_geometry"
version = "0.0.1"
@@ -2872,13 +2812,6 @@ dependencies = [
"nonzero 0.0.1",
]
-[[package]]
-name = "servo_remutex_tests"
-version = "0.0.1"
-dependencies = [
- "servo_remutex 0.0.1",
-]
-
[[package]]
name = "servo_url"
version = "0.0.1"
diff --git a/components/config/Cargo.toml b/components/config/Cargo.toml
index e09c78ecbb8..1d5c48d605f 100644
--- a/components/config/Cargo.toml
+++ b/components/config/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "servo_config"
path = "lib.rs"
+test = false
+doctest = false
[dependencies]
euclid = "0.16"
diff --git a/tests/unit/servo_config/opts.rs b/components/config/tests/opts.rs
similarity index 99%
rename from tests/unit/servo_config/opts.rs
rename to components/config/tests/opts.rs
index b533429df5b..53a049e103c 100644
--- a/tests/unit/servo_config/opts.rs
+++ b/components/config/tests/opts.rs
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+extern crate servo_config;
+
use servo_config::opts::{parse_url_or_filename, parse_pref_from_command_line};
use servo_config::prefs::{PrefValue, PREFS};
use std::path::Path;
diff --git a/tests/unit/servo_config/prefs.rs b/components/config/tests/prefs.rs
similarity index 98%
rename from tests/unit/servo_config/prefs.rs
rename to components/config/tests/prefs.rs
index 8b6b7295815..c9857345bb2 100644
--- a/tests/unit/servo_config/prefs.rs
+++ b/components/config/tests/prefs.rs
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+extern crate servo_config;
+
use servo_config::basedir;
use servo_config::prefs::{PREFS, PrefValue, read_prefs_from_file};
use std::fs::{self, File};
diff --git a/components/gfx/Cargo.toml b/components/gfx/Cargo.toml
index c9220a2c080..5eea73f321f 100644
--- a/components/gfx/Cargo.toml
+++ b/components/gfx/Cargo.toml
@@ -9,6 +9,8 @@ publish = false
[lib]
name = "gfx"
path = "lib.rs"
+test = false
+doctest = false
[features]
unstable = ["simd"]
diff --git a/tests/unit/gfx/text_util.rs b/components/gfx/tests/text_util.rs
similarity index 99%
rename from tests/unit/gfx/text_util.rs
rename to components/gfx/tests/text_util.rs
index f0253179145..7729a6f78a7 100644
--- a/tests/unit/gfx/text_util.rs
+++ b/components/gfx/tests/text_util.rs
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+extern crate gfx;
+
use gfx::text::util::{CompressionMode, transform_text};
#[test]
diff --git a/components/gfx/text/glyph.rs b/components/gfx/text/glyph.rs
index e765f48ee20..0c3386aca7d 100644
--- a/components/gfx/text/glyph.rs
+++ b/components/gfx/text/glyph.rs
@@ -392,7 +392,7 @@ impl<'a> GlyphInfo<'a> {
/// Simple glyphs are stored inline in the `entry_buffer`, detailed glyphs are
/// stored as pointers into the `detail_store`.
///
-/// ~~~ignore
+/// ~~~ascii
/// +- GlyphStore --------------------------------+
/// | +---+---+---+---+---+---+---+ |
/// | entry_buffer: | | s | | s | | s | s | | d = detailed
diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml
index 60cf29ca3c2..14532a1da52 100644
--- a/components/layout/Cargo.toml
+++ b/components/layout/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "layout"
path = "lib.rs"
+test = false
+doctest = false
[dependencies]
app_units = "0.6.1"
@@ -46,3 +48,6 @@ style_traits = {path = "../style_traits"}
unicode-bidi = {version = "0.3", features = ["with_serde"]}
unicode-script = {version = "0.1", features = ["harfbuzz"]}
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
+
+[dev-dependencies]
+size_of_test = {path = "../size_of_test"}
diff --git a/components/layout/construct.rs b/components/layout/construct.rs
index 79d72c8471c..807bac242cc 100644
--- a/components/layout/construct.rs
+++ b/components/layout/construct.rs
@@ -140,22 +140,22 @@ pub struct InlineFragmentsConstructionResult {
///
/// The resulting `ConstructionItem` for the outer `span` will be:
///
-/// ```ignore
+/// ```rust,ignore
/// ConstructionItem::InlineFragments(
-/// InlineFragmentsConstructionResult{
+/// InlineFragmentsConstructionResult {
/// splits: linked_list![
-/// InlineBlockSplit{
-/// predecessors: IntermediateInlineFragments{
+/// InlineBlockSplit {
+/// predecessors: IntermediateInlineFragments {
/// fragments: linked_list![A],
-/// absolute_descendents: AbsoluteDescendents{
+/// absolute_descendents: AbsoluteDescendents {
/// descendant_links: vec![]
-/// }
+/// },
/// },
-/// flow: B
+/// flow: B,
/// }
/// ],
/// fragments: linked_list![C],
-/// }
+/// },
/// )
/// ```
#[derive(Clone)]
diff --git a/components/layout/flow.rs b/components/layout/flow.rs
index b145aef0ad6..e42871dfa24 100644
--- a/components/layout/flow.rs
+++ b/components/layout/flow.rs
@@ -552,11 +552,13 @@ pub trait MutableOwnedFlowUtils {
/// Sets the flow as the containing block for all absolute descendants that have been marked
/// as having reached their containing block. This is needed in order to handle cases like:
///
- ///
- ///
- ///
- ///
- ///
+ /// ```html
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// ```
fn take_applicable_absolute_descendants(&mut self,
absolute_descendants: &mut AbsoluteDescendants);
}
@@ -742,12 +744,14 @@ pub struct AbsoluteDescendantInfo {
/// Whether the absolute descendant has reached its containing block. This exists so that we
/// can handle cases like the following:
///
- ///
- /// foo
- ///
- /// bar
- ///
- ///
+ /// ```html
+ ///
+ /// foo
+ ///
+ /// bar
+ ///
+ ///
+ /// ```
///
/// When we go to create the `InlineFlow` for the outer `div`, our absolute descendants will
/// be `a` and `b`. At this point, we need a way to distinguish between the two, because the
@@ -1343,11 +1347,13 @@ impl MutableOwnedFlowUtils for FlowRef {
/// Sets the flow as the containing block for all absolute descendants that have been marked
/// as having reached their containing block. This is needed in order to handle cases like:
///
- ///
- ///
- ///
- ///
- ///
+ /// ```html
+ ///
+ ///
+ ///
+ ///
+ ///
+ /// ```
fn take_applicable_absolute_descendants(&mut self,
absolute_descendants: &mut AbsoluteDescendants) {
let mut applicable_absolute_descendants = AbsoluteDescendants::new();
diff --git a/tests/unit/layout/size_of.rs b/components/layout/tests/size_of.rs
similarity index 79%
rename from tests/unit/layout/size_of.rs
rename to components/layout/tests/size_of.rs
index 6b40be0fd86..54b5ef39830 100644
--- a/tests/unit/layout/size_of.rs
+++ b/components/layout/tests/size_of.rs
@@ -2,6 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#![cfg(target_pointer_width = "64")]
+
+extern crate layout;
+#[macro_use] extern crate size_of_test;
+
use layout::Fragment;
use layout::SpecificFragmentInfo;
diff --git a/components/msg/Cargo.toml b/components/msg/Cargo.toml
index a13fa591db6..2d275b7f027 100644
--- a/components/msg/Cargo.toml
+++ b/components/msg/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "msg"
path = "lib.rs"
+test = false
+doctest = false
[features]
unstable = ["nonzero/unstable"]
@@ -19,3 +21,6 @@ malloc_size_of_derive = { path = "../malloc_size_of_derive" }
nonzero = {path = "../nonzero"}
serde = "1.0.14"
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
+
+[dev-dependencies]
+size_of_test = {path = "../size_of_test"}
diff --git a/tests/unit/msg/size_of.rs b/components/msg/tests/size_of.rs
similarity index 89%
rename from tests/unit/msg/size_of.rs
rename to components/msg/tests/size_of.rs
index 124238f9457..54e5294c7d5 100644
--- a/tests/unit/msg/size_of.rs
+++ b/components/msg/tests/size_of.rs
@@ -2,6 +2,11 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+#![cfg(target_pointer_width = "64")]
+
+extern crate msg;
+#[macro_use] extern crate size_of_test;
+
use msg::constellation_msg::BrowsingContextId;
use msg::constellation_msg::PipelineId;
use msg::constellation_msg::TopLevelBrowsingContextId;
diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml
index 23998be349d..da9a2c7393a 100644
--- a/components/net/Cargo.toml
+++ b/components/net/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "net"
path = "lib.rs"
+test = false
+doctest = false
[dependencies]
base64 = "0.6"
@@ -43,3 +45,7 @@ webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
[target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
tinyfiledialogs = "2.5.9"
+
+[[test]]
+name = "main"
+path = "tests/main.rs"
diff --git a/tests/unit/net/chrome_loader.rs b/components/net/tests/chrome_loader.rs
similarity index 100%
rename from tests/unit/net/chrome_loader.rs
rename to components/net/tests/chrome_loader.rs
diff --git a/tests/unit/net/cookie.rs b/components/net/tests/cookie.rs
similarity index 100%
rename from tests/unit/net/cookie.rs
rename to components/net/tests/cookie.rs
diff --git a/tests/unit/net/cookie_http_state.rs b/components/net/tests/cookie_http_state.rs
similarity index 100%
rename from tests/unit/net/cookie_http_state.rs
rename to components/net/tests/cookie_http_state.rs
diff --git a/tests/unit/net/cookie_http_state_utils.py b/components/net/tests/cookie_http_state_utils.py
similarity index 100%
rename from tests/unit/net/cookie_http_state_utils.py
rename to components/net/tests/cookie_http_state_utils.py
diff --git a/tests/unit/net/data_loader.rs b/components/net/tests/data_loader.rs
similarity index 100%
rename from tests/unit/net/data_loader.rs
rename to components/net/tests/data_loader.rs
diff --git a/tests/unit/net/fetch.rs b/components/net/tests/fetch.rs
similarity index 100%
rename from tests/unit/net/fetch.rs
rename to components/net/tests/fetch.rs
diff --git a/tests/unit/net/file_loader.rs b/components/net/tests/file_loader.rs
similarity index 93%
rename from tests/unit/net/file_loader.rs
rename to components/net/tests/file_loader.rs
index 31d20812222..f7a45691e57 100644
--- a/tests/unit/net/file_loader.rs
+++ b/components/net/tests/file_loader.rs
@@ -8,7 +8,7 @@ use url::Url;
#[test]
fn load_htm() {
let mut path = env::current_dir().expect("didn't get working dir");
- path.push("test.jpeg");
+ path.push("tests/test.jpeg");
let canon_path = path.canonicalize().expect("file path doesn't exist");
let url = Url::from_file_path(canon_path);
diff --git a/tests/unit/net/filemanager_thread.rs b/components/net/tests/filemanager_thread.rs
similarity index 91%
rename from tests/unit/net/filemanager_thread.rs
rename to components/net/tests/filemanager_thread.rs
index 1ca283f7145..089e56c43fb 100644
--- a/tests/unit/net/filemanager_thread.rs
+++ b/components/net/tests/filemanager_thread.rs
@@ -16,11 +16,11 @@ pub struct TestProvider;
impl UIProvider for TestProvider {
fn open_file_dialog(&self, _path: &str, _patterns: Vec) -> Option {
- Some("test.jpeg".to_string())
+ Some("tests/test.jpeg".to_string())
}
fn open_file_dialog_multi(&self, _path: &str, _patterns: Vec) -> Option> {
- Some(vec!["test.jpeg".to_string()])
+ Some(vec!["tests/test.jpeg".to_string()])
}
}
@@ -28,18 +28,18 @@ impl UIProvider for TestProvider {
fn test_filemanager() {
let filemanager = FileManager::new();
- // Try to open a dummy file "tests/unit/net/test.jpeg" in tree
- let mut handler = File::open("test.jpeg").expect("test.jpeg is stolen");
+ // Try to open a dummy file "components/net/tests/test.jpeg" in tree
+ let mut handler = File::open("tests/test.jpeg").expect("test.jpeg is stolen");
let mut test_file_content = vec![];
handler.read_to_end(&mut test_file_content)
- .expect("Read tests/unit/net/test.jpeg error");
+ .expect("Read components/net/tests/test.jpeg error");
let patterns = vec![FilterPattern(".txt".to_string())];
let origin = "test.com".to_string();
{
- // Try to select a dummy file "tests/unit/net/test.jpeg"
+ // Try to select a dummy file "components/net/tests/test.jpeg"
let (tx, rx) = ipc::channel().unwrap();
filemanager.handle(FileManagerThreadMsg::SelectFile(patterns.clone(), tx, origin.clone(), None),
TEST_PROVIDER);
diff --git a/tests/unit/net/hsts.rs b/components/net/tests/hsts.rs
similarity index 100%
rename from tests/unit/net/hsts.rs
rename to components/net/tests/hsts.rs
diff --git a/tests/unit/net/http_loader.rs b/components/net/tests/http_loader.rs
similarity index 100%
rename from tests/unit/net/http_loader.rs
rename to components/net/tests/http_loader.rs
diff --git a/tests/unit/net/lib.rs b/components/net/tests/main.rs
similarity index 100%
rename from tests/unit/net/lib.rs
rename to components/net/tests/main.rs
diff --git a/tests/unit/net/mime_classifier.rs b/components/net/tests/mime_classifier.rs
similarity index 99%
rename from tests/unit/net/mime_classifier.rs
rename to components/net/tests/mime_classifier.rs
index e8622b94b84..1a4757ded5f 100644
--- a/tests/unit/net/mime_classifier.rs
+++ b/components/net/tests/mime_classifier.rs
@@ -23,7 +23,7 @@ fn read_file(path: &path::Path) -> io::Result> {
fn test_sniff_mp4_matcher() {
let matcher = Mp4Matcher;
- let p = PathBuf::from("parsable_mime/video/mp4/test.mp4");
+ let p = PathBuf::from("tests/parsable_mime/video/mp4/test.mp4");
let read_result = read_file(&p);
match read_result {
@@ -66,7 +66,7 @@ fn test_sniff_with_flags(filename_orig: &path::Path,
let current_working_directory = env::current_dir().unwrap();
println!("The current directory is {}", current_working_directory.display());
- let mut filename = PathBuf::from("parsable_mime/");
+ let mut filename = PathBuf::from("tests/parsable_mime/");
filename.push(filename_orig);
let classifier = MimeClassifier::new();
diff --git a/tests/unit/net/parsable_mime/application/font-woff/test.wof b/components/net/tests/parsable_mime/application/font-woff/test.wof
similarity index 100%
rename from tests/unit/net/parsable_mime/application/font-woff/test.wof
rename to components/net/tests/parsable_mime/application/font-woff/test.wof
diff --git a/tests/unit/net/parsable_mime/application/ogg/small.ogg b/components/net/tests/parsable_mime/application/ogg/small.ogg
similarity index 100%
rename from tests/unit/net/parsable_mime/application/ogg/small.ogg
rename to components/net/tests/parsable_mime/application/ogg/small.ogg
diff --git a/tests/unit/net/parsable_mime/application/pdf/test.pdf b/components/net/tests/parsable_mime/application/pdf/test.pdf
similarity index 100%
rename from tests/unit/net/parsable_mime/application/pdf/test.pdf
rename to components/net/tests/parsable_mime/application/pdf/test.pdf
diff --git a/tests/unit/net/parsable_mime/application/postscript/test.ps b/components/net/tests/parsable_mime/application/postscript/test.ps
similarity index 100%
rename from tests/unit/net/parsable_mime/application/postscript/test.ps
rename to components/net/tests/parsable_mime/application/postscript/test.ps
diff --git a/tests/unit/net/parsable_mime/application/vnd.ms-fontobject/vnd.ms-fontobject b/components/net/tests/parsable_mime/application/vnd.ms-fontobject/vnd.ms-fontobject
similarity index 100%
rename from tests/unit/net/parsable_mime/application/vnd.ms-fontobject/vnd.ms-fontobject
rename to components/net/tests/parsable_mime/application/vnd.ms-fontobject/vnd.ms-fontobject
diff --git a/tests/unit/net/parsable_mime/application/x-gzip/test.gz b/components/net/tests/parsable_mime/application/x-gzip/test.gz
similarity index 100%
rename from tests/unit/net/parsable_mime/application/x-gzip/test.gz
rename to components/net/tests/parsable_mime/application/x-gzip/test.gz
diff --git a/tests/unit/net/parsable_mime/application/x-rar-compressed/test.rar b/components/net/tests/parsable_mime/application/x-rar-compressed/test.rar
similarity index 100%
rename from tests/unit/net/parsable_mime/application/x-rar-compressed/test.rar
rename to components/net/tests/parsable_mime/application/x-rar-compressed/test.rar
diff --git a/tests/unit/net/parsable_mime/application/zip/test.zip b/components/net/tests/parsable_mime/application/zip/test.zip
similarity index 100%
rename from tests/unit/net/parsable_mime/application/zip/test.zip
rename to components/net/tests/parsable_mime/application/zip/test.zip
diff --git a/tests/unit/net/parsable_mime/audio/aiff/test.aif b/components/net/tests/parsable_mime/audio/aiff/test.aif
similarity index 100%
rename from tests/unit/net/parsable_mime/audio/aiff/test.aif
rename to components/net/tests/parsable_mime/audio/aiff/test.aif
diff --git a/tests/unit/net/parsable_mime/audio/basic/test.au b/components/net/tests/parsable_mime/audio/basic/test.au
similarity index 100%
rename from tests/unit/net/parsable_mime/audio/basic/test.au
rename to components/net/tests/parsable_mime/audio/basic/test.au
diff --git a/tests/unit/net/parsable_mime/audio/midi/test.mid b/components/net/tests/parsable_mime/audio/midi/test.mid
similarity index 100%
rename from tests/unit/net/parsable_mime/audio/midi/test.mid
rename to components/net/tests/parsable_mime/audio/midi/test.mid
diff --git a/tests/unit/net/parsable_mime/audio/mpeg/test.mp3 b/components/net/tests/parsable_mime/audio/mpeg/test.mp3
similarity index 100%
rename from tests/unit/net/parsable_mime/audio/mpeg/test.mp3
rename to components/net/tests/parsable_mime/audio/mpeg/test.mp3
diff --git a/tests/unit/net/parsable_mime/audio/wave/test.wav b/components/net/tests/parsable_mime/audio/wave/test.wav
similarity index 100%
rename from tests/unit/net/parsable_mime/audio/wave/test.wav
rename to components/net/tests/parsable_mime/audio/wave/test.wav
diff --git a/tests/unit/net/parsable_mime/image/bmp/test.bmp b/components/net/tests/parsable_mime/image/bmp/test.bmp
similarity index 100%
rename from tests/unit/net/parsable_mime/image/bmp/test.bmp
rename to components/net/tests/parsable_mime/image/bmp/test.bmp
diff --git a/tests/unit/net/parsable_mime/image/gif/test87a b/components/net/tests/parsable_mime/image/gif/test87a
similarity index 100%
rename from tests/unit/net/parsable_mime/image/gif/test87a
rename to components/net/tests/parsable_mime/image/gif/test87a
diff --git a/tests/unit/net/parsable_mime/image/gif/test89a.gif b/components/net/tests/parsable_mime/image/gif/test89a.gif
similarity index 100%
rename from tests/unit/net/parsable_mime/image/gif/test89a.gif
rename to components/net/tests/parsable_mime/image/gif/test89a.gif
diff --git a/tests/unit/net/parsable_mime/image/jpeg/test.jpg b/components/net/tests/parsable_mime/image/jpeg/test.jpg
similarity index 100%
rename from tests/unit/net/parsable_mime/image/jpeg/test.jpg
rename to components/net/tests/parsable_mime/image/jpeg/test.jpg
diff --git a/tests/unit/net/parsable_mime/image/png/test.png b/components/net/tests/parsable_mime/image/png/test.png
similarity index 100%
rename from tests/unit/net/parsable_mime/image/png/test.png
rename to components/net/tests/parsable_mime/image/png/test.png
diff --git a/tests/unit/net/parsable_mime/image/webp/test.webp b/components/net/tests/parsable_mime/image/webp/test.webp
similarity index 100%
rename from tests/unit/net/parsable_mime/image/webp/test.webp
rename to components/net/tests/parsable_mime/image/webp/test.webp
diff --git a/tests/unit/net/parsable_mime/image/x-icon/test.ico b/components/net/tests/parsable_mime/image/x-icon/test.ico
similarity index 100%
rename from tests/unit/net/parsable_mime/image/x-icon/test.ico
rename to components/net/tests/parsable_mime/image/x-icon/test.ico
diff --git a/tests/unit/net/parsable_mime/image/x-icon/test_cursor.ico b/components/net/tests/parsable_mime/image/x-icon/test_cursor.ico
similarity index 100%
rename from tests/unit/net/parsable_mime/image/x-icon/test_cursor.ico
rename to components/net/tests/parsable_mime/image/x-icon/test_cursor.ico
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_a_20.html b/components/net/tests/parsable_mime/text/html/text_html_a_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_a_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_a_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_a_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_a_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_a_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_a_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_a_3e.html b/components/net/tests/parsable_mime/text/html/text_html_a_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_a_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_a_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_a_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_a_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_a_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_a_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_b_20.html b/components/net/tests/parsable_mime/text/html/text_html_b_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_b_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_b_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_b_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_b_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_b_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_b_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_b_3e.html b/components/net/tests/parsable_mime/text/html/text_html_b_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_b_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_b_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_b_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_b_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_b_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_b_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_body_20.html b/components/net/tests/parsable_mime/text/html/text_html_body_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_body_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_body_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_body_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_body_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_body_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_body_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_body_3e.html b/components/net/tests/parsable_mime/text/html/text_html_body_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_body_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_body_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_body_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_body_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_body_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_body_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_br_20.html b/components/net/tests/parsable_mime/text/html/text_html_br_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_br_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_br_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_br_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_br_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_br_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_br_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_br_3e.html b/components/net/tests/parsable_mime/text/html/text_html_br_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_br_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_br_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_br_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_br_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_br_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_br_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_comment_20.html b/components/net/tests/parsable_mime/text/html/text_html_comment_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_comment_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_comment_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_comment_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_comment_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_comment_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_comment_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_comment_3e.html b/components/net/tests/parsable_mime/text/html/text_html_comment_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_comment_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_comment_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_comment_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_comment_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_comment_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_comment_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_div_20.html b/components/net/tests/parsable_mime/text/html/text_html_div_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_div_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_div_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_div_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_div_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_div_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_div_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_div_3e.html b/components/net/tests/parsable_mime/text/html/text_html_div_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_div_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_div_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_div_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_div_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_div_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_div_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_doctype_20.html b/components/net/tests/parsable_mime/text/html/text_html_doctype_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_doctype_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_doctype_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_doctype_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_doctype_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_doctype_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_doctype_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_doctype_3e.html b/components/net/tests/parsable_mime/text/html/text_html_doctype_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_doctype_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_doctype_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_doctype_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_doctype_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_doctype_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_doctype_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_font_20.html b/components/net/tests/parsable_mime/text/html/text_html_font_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_font_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_font_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_font_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_font_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_font_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_font_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_font_3e.html b/components/net/tests/parsable_mime/text/html/text_html_font_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_font_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_font_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_font_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_font_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_font_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_font_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_h1_20.html b/components/net/tests/parsable_mime/text/html/text_html_h1_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_h1_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_h1_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_h1_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_h1_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_h1_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_h1_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_h1_3e.html b/components/net/tests/parsable_mime/text/html/text_html_h1_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_h1_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_h1_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_h1_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_h1_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_h1_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_h1_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_head_20.html b/components/net/tests/parsable_mime/text/html/text_html_head_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_head_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_head_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_head_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_head_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_head_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_head_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_head_3e.html b/components/net/tests/parsable_mime/text/html/text_html_head_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_head_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_head_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_head_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_head_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_head_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_head_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_iframe_20.html b/components/net/tests/parsable_mime/text/html/text_html_iframe_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_iframe_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_iframe_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_iframe_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_iframe_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_iframe_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_iframe_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_iframe_3e.html b/components/net/tests/parsable_mime/text/html/text_html_iframe_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_iframe_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_iframe_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_iframe_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_iframe_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_iframe_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_iframe_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_p_20.html b/components/net/tests/parsable_mime/text/html/text_html_p_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_p_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_p_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_p_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_p_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_p_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_p_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_p_3e.html b/components/net/tests/parsable_mime/text/html/text_html_p_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_p_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_p_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_p_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_p_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_p_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_p_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_page_20.html b/components/net/tests/parsable_mime/text/html/text_html_page_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_page_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_page_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_page_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_page_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_page_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_page_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_page_3e.html b/components/net/tests/parsable_mime/text/html/text_html_page_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_page_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_page_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_page_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_page_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_page_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_page_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_script_20.html b/components/net/tests/parsable_mime/text/html/text_html_script_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_script_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_script_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_script_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_script_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_script_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_script_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_script_3e.html b/components/net/tests/parsable_mime/text/html/text_html_script_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_script_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_script_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_script_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_script_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_script_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_script_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_style_20.html b/components/net/tests/parsable_mime/text/html/text_html_style_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_style_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_style_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_style_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_style_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_style_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_style_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_style_3e.html b/components/net/tests/parsable_mime/text/html/text_html_style_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_style_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_style_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_style_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_style_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_style_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_style_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_table_20.html b/components/net/tests/parsable_mime/text/html/text_html_table_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_table_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_table_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_table_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_table_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_table_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_table_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_table_3e.html b/components/net/tests/parsable_mime/text/html/text_html_table_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_table_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_table_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_table_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_table_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_table_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_table_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_title_20.html b/components/net/tests/parsable_mime/text/html/text_html_title_20.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_title_20.html
rename to components/net/tests/parsable_mime/text/html/text_html_title_20.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_title_20_u.html b/components/net/tests/parsable_mime/text/html/text_html_title_20_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_title_20_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_title_20_u.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_title_3e.html b/components/net/tests/parsable_mime/text/html/text_html_title_3e.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_title_3e.html
rename to components/net/tests/parsable_mime/text/html/text_html_title_3e.html
diff --git a/tests/unit/net/parsable_mime/text/html/text_html_title_3e_u.html b/components/net/tests/parsable_mime/text/html/text_html_title_3e_u.html
similarity index 100%
rename from tests/unit/net/parsable_mime/text/html/text_html_title_3e_u.html
rename to components/net/tests/parsable_mime/text/html/text_html_title_3e_u.html
diff --git a/tests/unit/net/parsable_mime/text/plain/utf16bebom.txt b/components/net/tests/parsable_mime/text/plain/utf16bebom.txt
similarity index 100%
rename from tests/unit/net/parsable_mime/text/plain/utf16bebom.txt
rename to components/net/tests/parsable_mime/text/plain/utf16bebom.txt
diff --git a/tests/unit/net/parsable_mime/text/plain/utf16lebom.txt b/components/net/tests/parsable_mime/text/plain/utf16lebom.txt
similarity index 100%
rename from tests/unit/net/parsable_mime/text/plain/utf16lebom.txt
rename to components/net/tests/parsable_mime/text/plain/utf16lebom.txt
diff --git a/tests/unit/net/parsable_mime/text/plain/utf8bom.txt b/components/net/tests/parsable_mime/text/plain/utf8bom.txt
similarity index 100%
rename from tests/unit/net/parsable_mime/text/plain/utf8bom.txt
rename to components/net/tests/parsable_mime/text/plain/utf8bom.txt
diff --git a/tests/unit/net/parsable_mime/text/xml/feed.atom b/components/net/tests/parsable_mime/text/xml/feed.atom
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/feed.atom
rename to components/net/tests/parsable_mime/text/xml/feed.atom
diff --git a/tests/unit/net/parsable_mime/text/xml/feed.rss b/components/net/tests/parsable_mime/text/xml/feed.rss
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/feed.rss
rename to components/net/tests/parsable_mime/text/xml/feed.rss
diff --git a/tests/unit/net/parsable_mime/text/xml/rdf_rss.xml b/components/net/tests/parsable_mime/text/xml/rdf_rss.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/rdf_rss.xml
rename to components/net/tests/parsable_mime/text/xml/rdf_rss.xml
diff --git a/tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_1.xml b/components/net/tests/parsable_mime/text/xml/rdf_rss_ko_1.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_1.xml
rename to components/net/tests/parsable_mime/text/xml/rdf_rss_ko_1.xml
diff --git a/tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_2.xml b/components/net/tests/parsable_mime/text/xml/rdf_rss_ko_2.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_2.xml
rename to components/net/tests/parsable_mime/text/xml/rdf_rss_ko_2.xml
diff --git a/tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_3.xml b/components/net/tests/parsable_mime/text/xml/rdf_rss_ko_3.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_3.xml
rename to components/net/tests/parsable_mime/text/xml/rdf_rss_ko_3.xml
diff --git a/tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_4.xml b/components/net/tests/parsable_mime/text/xml/rdf_rss_ko_4.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/rdf_rss_ko_4.xml
rename to components/net/tests/parsable_mime/text/xml/rdf_rss_ko_4.xml
diff --git a/tests/unit/net/parsable_mime/text/xml/test.xml b/components/net/tests/parsable_mime/text/xml/test.xml
similarity index 100%
rename from tests/unit/net/parsable_mime/text/xml/test.xml
rename to components/net/tests/parsable_mime/text/xml/test.xml
diff --git a/tests/unit/net/parsable_mime/unknown/binary_file b/components/net/tests/parsable_mime/unknown/binary_file
similarity index 100%
rename from tests/unit/net/parsable_mime/unknown/binary_file
rename to components/net/tests/parsable_mime/unknown/binary_file
diff --git a/tests/unit/net/parsable_mime/unknown/open_type b/components/net/tests/parsable_mime/unknown/open_type
similarity index 100%
rename from tests/unit/net/parsable_mime/unknown/open_type
rename to components/net/tests/parsable_mime/unknown/open_type
diff --git a/tests/unit/net/parsable_mime/unknown/true_type.ttf b/components/net/tests/parsable_mime/unknown/true_type.ttf
similarity index 100%
rename from tests/unit/net/parsable_mime/unknown/true_type.ttf
rename to components/net/tests/parsable_mime/unknown/true_type.ttf
diff --git a/tests/unit/net/parsable_mime/unknown/true_type_collection.ttc b/components/net/tests/parsable_mime/unknown/true_type_collection.ttc
similarity index 100%
rename from tests/unit/net/parsable_mime/unknown/true_type_collection.ttc
rename to components/net/tests/parsable_mime/unknown/true_type_collection.ttc
diff --git a/tests/unit/net/parsable_mime/video/avi/test.avi b/components/net/tests/parsable_mime/video/avi/test.avi
similarity index 100%
rename from tests/unit/net/parsable_mime/video/avi/test.avi
rename to components/net/tests/parsable_mime/video/avi/test.avi
diff --git a/tests/unit/net/parsable_mime/video/mp4/test.mp4 b/components/net/tests/parsable_mime/video/mp4/test.mp4
similarity index 100%
rename from tests/unit/net/parsable_mime/video/mp4/test.mp4
rename to components/net/tests/parsable_mime/video/mp4/test.mp4
diff --git a/tests/unit/net/parsable_mime/video/webm/test.webm b/components/net/tests/parsable_mime/video/webm/test.webm
similarity index 100%
rename from tests/unit/net/parsable_mime/video/webm/test.webm
rename to components/net/tests/parsable_mime/video/webm/test.webm
diff --git a/tests/unit/net/resource_thread.rs b/components/net/tests/resource_thread.rs
similarity index 100%
rename from tests/unit/net/resource_thread.rs
rename to components/net/tests/resource_thread.rs
diff --git a/tests/unit/net/subresource_integrity.rs b/components/net/tests/subresource_integrity.rs
similarity index 100%
rename from tests/unit/net/subresource_integrity.rs
rename to components/net/tests/subresource_integrity.rs
diff --git a/tests/unit/net/test.jpeg b/components/net/tests/test.jpeg
similarity index 100%
rename from tests/unit/net/test.jpeg
rename to components/net/tests/test.jpeg
diff --git a/components/net_traits/Cargo.toml b/components/net_traits/Cargo.toml
index 82ca26c6b9c..eb1774c6106 100644
--- a/components/net_traits/Cargo.toml
+++ b/components/net_traits/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "net_traits"
path = "lib.rs"
+test = false
+doctest = false
[dependencies]
cookie = "0.10"
diff --git a/tests/unit/net_traits/image.rs b/components/net_traits/tests/image.rs
similarity index 97%
rename from tests/unit/net_traits/image.rs
rename to components/net_traits/tests/image.rs
index e7d2d460d7e..238fae97050 100644
--- a/tests/unit/net_traits/image.rs
+++ b/components/net_traits/tests/image.rs
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+extern crate net_traits;
+
use net_traits::image::base::detect_image_format;
#[test]
diff --git a/tests/unit/net_traits/pub_domains.rs b/components/net_traits/tests/pub_domains.rs
similarity index 99%
rename from tests/unit/net_traits/pub_domains.rs
rename to components/net_traits/tests/pub_domains.rs
index d18ecb06e0c..36e70cd39a8 100644
--- a/tests/unit/net_traits/pub_domains.rs
+++ b/components/net_traits/tests/pub_domains.rs
@@ -2,6 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+extern crate net_traits;
+
use net_traits::pub_domains::{is_pub_domain, is_reg_domain, pub_suffix, reg_suffix};
// These tests may need to be updated if the PSL changes.
diff --git a/tests/unit/net_traits/lib.rs b/components/net_traits/tests/whitespace.rs
similarity index 94%
rename from tests/unit/net_traits/lib.rs
rename to components/net_traits/tests/whitespace.rs
index 64135a6a2d4..4954e0f67f4 100644
--- a/tests/unit/net_traits/lib.rs
+++ b/components/net_traits/tests/whitespace.rs
@@ -2,13 +2,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#![cfg(test)]
-
extern crate net_traits;
-mod image;
-mod pub_domains;
-
#[test]
fn test_trim_http_whitespace() {
fn test_trim(in_: &[u8], out: &[u8]) {
diff --git a/components/remutex/Cargo.toml b/components/remutex/Cargo.toml
index 86c28838493..844a5f1aede 100644
--- a/components/remutex/Cargo.toml
+++ b/components/remutex/Cargo.toml
@@ -8,6 +8,8 @@ publish = false
[lib]
name = "servo_remutex"
path = "lib.rs"
+test = false
+doctest = false
[dependencies]
lazy_static = "1"
diff --git a/tests/unit/servo_remutex/lib.rs b/components/remutex/tests/smoke.rs
similarity index 99%
rename from tests/unit/servo_remutex/lib.rs
rename to components/remutex/tests/smoke.rs
index 411c943923c..edd5ceb71f6 100644
--- a/tests/unit/servo_remutex/lib.rs
+++ b/components/remutex/tests/smoke.rs
@@ -10,8 +10,6 @@
// These tests came from https://github.com/rust-lang/rust/blob/master/src/libstd/sys/common/remutex.rs
-#![cfg(test)]
-
extern crate servo_remutex;
use servo_remutex::{ReentrantMutex, ReentrantMutexGuard};
diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py
index 03d567786f6..8ed67964bab 100644
--- a/python/servo/testing_commands.py
+++ b/python/servo/testing_commands.py
@@ -231,27 +231,27 @@ class MachCommands(CommandBase):
else:
test_patterns.append(test)
- in_crate_packages = []
-
- # Since the selectors tests have no corresponding selectors_tests crate in tests/unit,
- # we need to treat them separately from those that do.
- try:
- packages.remove('selectors')
- in_crate_packages += ["selectors"]
- except KeyError:
- pass
-
+ self_contained_tests = [
+ "gfx",
+ "layout",
+ "msg",
+ "net",
+ "net_traits",
+ "selectors",
+ "servo_config",
+ "servo_remutex",
+ ]
if not packages:
packages = set(os.listdir(path.join(self.context.topdir, "tests", "unit"))) - set(['.DS_Store'])
- in_crate_packages += ["selectors"]
+ packages |= set(self_contained_tests)
- # Since the selectors tests have no corresponding selectors_tests crate in tests/unit,
- # we need to treat them separately from those that do.
- try:
- packages.remove('selectors')
- in_crate_packages += ["selectors"]
- except KeyError:
- pass
+ in_crate_packages = []
+ for crate in self_contained_tests:
+ try:
+ packages.remove(crate)
+ in_crate_packages += [crate]
+ except KeyError:
+ pass
packages.discard('stylo')
@@ -264,7 +264,7 @@ class MachCommands(CommandBase):
env["PATH"] = "%s%s%s" % (path.dirname(self.get_binary_path(False, False)), os.pathsep, env["PATH"])
features = self.servo_features()
- if len(packages) > 0:
+ if len(packages) > 0 or len(in_crate_packages) > 0:
args = ["cargo", "bench" if bench else "test", "--manifest-path", self.servo_manifest()]
for crate in packages:
args += ["-p", "%s_tests" % crate]
@@ -872,7 +872,7 @@ testing/web-platform/mozilla/tests for Servo-only tests""" % reference_path)
def update_net_cookies(self):
cache_dir = path.join(self.config["tools"]["cache-dir"], "tests")
run_file = path.abspath(path.join(PROJECT_TOPLEVEL_PATH,
- "tests", "unit", "net",
+ "components", "net", "tests",
"cookie_http_state_utils.py"))
run_globals = {"__file__": run_file}
execfile(run_file, run_globals)
diff --git a/servo-tidy.toml b/servo-tidy.toml
index 7a52b122742..a7230e35aee 100644
--- a/servo-tidy.toml
+++ b/servo-tidy.toml
@@ -42,6 +42,7 @@ packages = [
]
# Files that are ignored for all tidy and lint checks.
files = [
+ "./components/net/tests/parsable_mime/text",
# Mako does not lend itself easily to splitting long lines
"./components/style/properties/helpers/animated_properties.mako.rs",
# Helper macro where actually a pseudo-element per line makes sense.
@@ -59,7 +60,6 @@ files = [
"./tests/wpt/mozilla/tests/webgl",
# Ignore those files since the issues reported are on purpose
"./tests/html/bad-line-ends.html",
- "./tests/unit/net/parsable_mime/text",
"./tests/wpt/mozilla/tests/css/fonts",
"./tests/wpt/mozilla/tests/css/pre_with_tab.html",
"./tests/wpt/mozilla/tests/mozilla/textarea_placeholder.html",
diff --git a/tests/unit/gfx/Cargo.toml b/tests/unit/gfx/Cargo.toml
deleted file mode 100644
index 46495840ce0..00000000000
--- a/tests/unit/gfx/Cargo.toml
+++ /dev/null
@@ -1,16 +0,0 @@
-[package]
-name = "gfx_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "gfx_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-cssparser = "0.23.0"
-gfx = {path = "../../../components/gfx"}
-ipc-channel = "0.9"
-style = {path = "../../../components/style"}
diff --git a/tests/unit/gfx/lib.rs b/tests/unit/gfx/lib.rs
deleted file mode 100644
index a8120a50138..00000000000
--- a/tests/unit/gfx/lib.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#![cfg(test)]
-
-extern crate gfx;
-
-mod text_util;
diff --git a/tests/unit/layout/Cargo.toml b/tests/unit/layout/Cargo.toml
deleted file mode 100644
index d84754912db..00000000000
--- a/tests/unit/layout/Cargo.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[package]
-name = "layout_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "layout_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-layout = {path = "../../../components/layout"}
-size_of_test = {path = "../../../components/size_of_test"}
diff --git a/tests/unit/layout/lib.rs b/tests/unit/layout/lib.rs
deleted file mode 100644
index d9e72841199..00000000000
--- a/tests/unit/layout/lib.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#[cfg(all(test, target_pointer_width = "64"))] extern crate layout;
-#[cfg(all(test, target_pointer_width = "64"))] #[macro_use] extern crate size_of_test;
-#[cfg(all(test, target_pointer_width = "64"))] mod size_of;
diff --git a/tests/unit/msg/Cargo.toml b/tests/unit/msg/Cargo.toml
deleted file mode 100644
index 89ee91d22c0..00000000000
--- a/tests/unit/msg/Cargo.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[package]
-name = "msg_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "msg_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-msg = {path = "../../../components/msg"}
-size_of_test = {path = "../../../components/size_of_test"}
diff --git a/tests/unit/msg/lib.rs b/tests/unit/msg/lib.rs
deleted file mode 100644
index 62e591ef800..00000000000
--- a/tests/unit/msg/lib.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#[cfg(all(test, target_pointer_width = "64"))] extern crate msg;
-#[cfg(all(test, target_pointer_width = "64"))] #[macro_use] extern crate size_of_test;
-#[cfg(all(test, target_pointer_width = "64"))] mod size_of;
diff --git a/tests/unit/net/Cargo.toml b/tests/unit/net/Cargo.toml
deleted file mode 100644
index d113e239d18..00000000000
--- a/tests/unit/net/Cargo.toml
+++ /dev/null
@@ -1,28 +0,0 @@
-[package]
-name = "net_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "net_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-cookie = "0.10"
-devtools_traits = {path = "../../../components/devtools_traits"}
-flate2 = "0.2.0"
-hyper = "0.10"
-hyper-openssl = "0.2"
-hyper_serde = "0.8"
-ipc-channel = "0.9"
-msg = {path = "../../../components/msg"}
-net = {path = "../../../components/net"}
-net_traits = {path = "../../../components/net_traits"}
-profile_traits = {path = "../../../components/profile_traits"}
-servo_config = {path = "../../../components/config"}
-time = "0.1"
-unicase = "1.0"
-url = "1.2"
-servo_url = {path = "../../../components/url"}
diff --git a/tests/unit/net_traits/Cargo.toml b/tests/unit/net_traits/Cargo.toml
deleted file mode 100644
index 28da0a1d7c0..00000000000
--- a/tests/unit/net_traits/Cargo.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-[package]
-name = "net_traits_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "net_traits_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-net_traits = {path = "../../../components/net_traits"}
diff --git a/tests/unit/servo_config/Cargo.toml b/tests/unit/servo_config/Cargo.toml
deleted file mode 100644
index dec49de186a..00000000000
--- a/tests/unit/servo_config/Cargo.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[package]
-name = "servo_config_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "servo_config_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-servo_config = {path = "../../../components/config"}
-
diff --git a/tests/unit/servo_config/lib.rs b/tests/unit/servo_config/lib.rs
deleted file mode 100644
index dc2a6446848..00000000000
--- a/tests/unit/servo_config/lib.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#![cfg(test)]
-
-extern crate servo_config;
-
-mod opts;
-mod prefs;
diff --git a/tests/unit/servo_remutex/Cargo.toml b/tests/unit/servo_remutex/Cargo.toml
deleted file mode 100644
index 20782b623e2..00000000000
--- a/tests/unit/servo_remutex/Cargo.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[package]
-name = "servo_remutex_tests"
-version = "0.0.1"
-authors = ["The Servo Project Developers"]
-license = "MPL-2.0"
-
-[lib]
-name = "servo_remutex_tests"
-path = "lib.rs"
-doctest = false
-
-[dependencies]
-servo_remutex = {path = "../../../components/remutex"}
-