Add a unit test for Fragment size

This commit is contained in:
Matt Brubeck 2016-03-29 08:11:59 -07:00
parent 37799a4025
commit 14e945f09a
6 changed files with 59 additions and 0 deletions

View file

@ -0,0 +1,12 @@
[package]
name = "layout_tests"
version = "0.0.1"
authors = ["The Servo Project Developers"]
[lib]
name = "layout_tests"
path = "lib.rs"
doctest = false
[dependencies.layout]
path = "../../../components/layout"

7
tests/unit/layout/lib.rs Normal file
View file

@ -0,0 +1,7 @@
/* 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/. */
extern crate layout;
#[cfg(all(test, target_pointer_width = "64"))] mod size_of;

View file

@ -0,0 +1,26 @@
/* 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/. */
use layout::Fragment;
use std::mem::size_of;
#[test]
fn test_size_of_fragment() {
let expected = 184;
let actual = size_of::<Fragment>();
if actual < expected {
panic!("Your changes have decreased the stack size of layout::fragment::Fragment \
from {} to {}. Good work! Please update the size in tests/layout/size_of.rs",
expected, actual);
}
if actual > expected {
panic!("Your changes have increased the stack size of layout::fragment::Fragment \
from {} to {}. Please consider choosing a design which avoids this increase. \
If you feel that the increase is necessary, update the size in \
tests/layout/size_of.rs.",
expected, actual);
}
}