mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Fix unit tests
This commit is contained in:
parent
5098948c0d
commit
6415294fd5
3 changed files with 58 additions and 58 deletions
|
@ -12,8 +12,8 @@ use values::animated::ToAnimatedZero;
|
||||||
use values::computed::{Angle, Integer, Length, LengthOrPercentage, Number, Percentage};
|
use values::computed::{Angle, Integer, Length, LengthOrPercentage, Number, Percentage};
|
||||||
use values::computed::{LengthOrNumber, LengthOrPercentageOrNumber};
|
use values::computed::{LengthOrNumber, LengthOrPercentageOrNumber};
|
||||||
use values::generics::transform::{Matrix as GenericMatrix, Matrix3D as GenericMatrix3D};
|
use values::generics::transform::{Matrix as GenericMatrix, Matrix3D as GenericMatrix3D};
|
||||||
use values::generics::transform::TimingFunction as GenericTimingFunction;
|
|
||||||
use values::generics::transform::{Transform as GenericTransform, TransformOperation as GenericTransformOperation};
|
use values::generics::transform::{Transform as GenericTransform, TransformOperation as GenericTransformOperation};
|
||||||
|
use values::generics::transform::TimingFunction as GenericTimingFunction;
|
||||||
use values::generics::transform::TransformOrigin as GenericTransformOrigin;
|
use values::generics::transform::TransformOrigin as GenericTransformOrigin;
|
||||||
|
|
||||||
/// A single operation in a computed CSS `transform`
|
/// A single operation in a computed CSS `transform`
|
||||||
|
|
|
@ -3,10 +3,9 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use cssparser::RGBA;
|
use cssparser::RGBA;
|
||||||
use style::properties::longhands::transform::computed_value::ComputedOperation as TransformOperation;
|
|
||||||
use style::properties::longhands::transform::computed_value::T as TransformList;
|
|
||||||
use style::values::animated::{Animate, Procedure, ToAnimatedValue};
|
use style::values::animated::{Animate, Procedure, ToAnimatedValue};
|
||||||
use style::values::computed::Percentage;
|
use style::values::computed::Percentage;
|
||||||
|
use style::values::generics::transform::{Transform, TransformOperation};
|
||||||
|
|
||||||
fn interpolate_rgba(from: RGBA, to: RGBA, progress: f64) -> RGBA {
|
fn interpolate_rgba(from: RGBA, to: RGBA, progress: f64) -> RGBA {
|
||||||
let from = from.to_animated_value();
|
let from = from.to_animated_value();
|
||||||
|
@ -66,35 +65,35 @@ fn test_rgba_color_interepolation_out_of_range_clamped_2() {
|
||||||
fn test_transform_interpolation_on_translate() {
|
fn test_transform_interpolation_on_translate() {
|
||||||
use style::values::computed::{CalcLengthOrPercentage, Length, LengthOrPercentage};
|
use style::values::computed::{CalcLengthOrPercentage, Length, LengthOrPercentage};
|
||||||
|
|
||||||
let from = TransformList(Some(vec![
|
let from = Transform(vec![
|
||||||
TransformOperation::Translate(LengthOrPercentage::Length(Length::new(0.)),
|
TransformOperation::Translate3D(LengthOrPercentage::Length(Length::new(0.)),
|
||||||
LengthOrPercentage::Length(Length::new(100.)),
|
LengthOrPercentage::Length(Length::new(100.)),
|
||||||
Length::new(25.))]));
|
Length::new(25.))]);
|
||||||
let to = TransformList(Some(vec![
|
let to = Transform(vec![
|
||||||
TransformOperation::Translate(LengthOrPercentage::Length(Length::new(100.)),
|
TransformOperation::Translate3D(LengthOrPercentage::Length(Length::new(100.)),
|
||||||
LengthOrPercentage::Length(Length::new(0.)),
|
LengthOrPercentage::Length(Length::new(0.)),
|
||||||
Length::new(75.))]));
|
Length::new(75.))]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![TransformOperation::Translate(
|
Transform(vec![TransformOperation::Translate3D(
|
||||||
LengthOrPercentage::Length(Length::new(50.)),
|
LengthOrPercentage::Length(Length::new(50.)),
|
||||||
LengthOrPercentage::Length(Length::new(50.)),
|
LengthOrPercentage::Length(Length::new(50.)),
|
||||||
Length::new(50.),
|
Length::new(50.),
|
||||||
)]))
|
)])
|
||||||
);
|
);
|
||||||
|
|
||||||
let from = TransformList(Some(vec![TransformOperation::Translate(
|
let from = Transform(vec![TransformOperation::Translate3D(
|
||||||
LengthOrPercentage::Percentage(Percentage(0.5)),
|
LengthOrPercentage::Percentage(Percentage(0.5)),
|
||||||
LengthOrPercentage::Percentage(Percentage(1.0)),
|
LengthOrPercentage::Percentage(Percentage(1.0)),
|
||||||
Length::new(25.),
|
Length::new(25.),
|
||||||
)]));
|
)]);
|
||||||
let to = TransformList(Some(vec![
|
let to = Transform(vec![
|
||||||
TransformOperation::Translate(LengthOrPercentage::Length(Length::new(100.)),
|
TransformOperation::Translate3D(LengthOrPercentage::Length(Length::new(100.)),
|
||||||
LengthOrPercentage::Length(Length::new(50.)),
|
LengthOrPercentage::Length(Length::new(50.)),
|
||||||
Length::new(75.))]));
|
Length::new(75.))]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![TransformOperation::Translate(
|
Transform(vec![TransformOperation::Translate3D(
|
||||||
// calc(50px + 25%)
|
// calc(50px + 25%)
|
||||||
LengthOrPercentage::Calc(CalcLengthOrPercentage::new(Length::new(50.),
|
LengthOrPercentage::Calc(CalcLengthOrPercentage::new(Length::new(50.),
|
||||||
Some(Percentage(0.25)))),
|
Some(Percentage(0.25)))),
|
||||||
|
@ -102,17 +101,17 @@ fn test_transform_interpolation_on_translate() {
|
||||||
LengthOrPercentage::Calc(CalcLengthOrPercentage::new(Length::new(25.),
|
LengthOrPercentage::Calc(CalcLengthOrPercentage::new(Length::new(25.),
|
||||||
Some(Percentage(0.5)))),
|
Some(Percentage(0.5)))),
|
||||||
Length::new(50.),
|
Length::new(50.),
|
||||||
)]))
|
)])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_transform_interpolation_on_scale() {
|
fn test_transform_interpolation_on_scale() {
|
||||||
let from = TransformList(Some(vec![TransformOperation::Scale(1.0, 2.0, 1.0)]));
|
let from = Transform(vec![TransformOperation::Scale3D(1.0, 2.0, 1.0)]);
|
||||||
let to = TransformList(Some(vec![TransformOperation::Scale(2.0, 4.0, 2.0)]));
|
let to = Transform(vec![TransformOperation::Scale3D(2.0, 4.0, 2.0)]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![TransformOperation::Scale(1.5, 3.0, 1.5)]))
|
Transform(vec![TransformOperation::Scale3D(1.5, 3.0, 1.5)])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,15 +119,15 @@ fn test_transform_interpolation_on_scale() {
|
||||||
fn test_transform_interpolation_on_rotate() {
|
fn test_transform_interpolation_on_rotate() {
|
||||||
use style::values::computed::Angle;
|
use style::values::computed::Angle;
|
||||||
|
|
||||||
let from = TransformList(Some(vec![TransformOperation::Rotate(0.0, 0.0, 1.0,
|
let from = Transform(vec![TransformOperation::Rotate3D(0.0, 0.0, 1.0,
|
||||||
Angle::from_radians(0.0))]));
|
Angle::from_radians(0.0))]);
|
||||||
let to = TransformList(Some(vec![TransformOperation::Rotate(0.0, 0.0, 1.0,
|
let to = Transform(vec![TransformOperation::Rotate3D(0.0, 0.0, 1.0,
|
||||||
Angle::from_radians(100.0))]));
|
Angle::from_radians(100.0))]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![
|
Transform(vec![
|
||||||
TransformOperation::Rotate(0.0, 0.0, 1.0, Angle::from_radians(50.0)),
|
TransformOperation::Rotate3D(0.0, 0.0, 1.0, Angle::from_radians(50.0)),
|
||||||
]))
|
])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,16 +135,16 @@ fn test_transform_interpolation_on_rotate() {
|
||||||
fn test_transform_interpolation_on_skew() {
|
fn test_transform_interpolation_on_skew() {
|
||||||
use style::values::computed::Angle;
|
use style::values::computed::Angle;
|
||||||
|
|
||||||
let from = TransformList(Some(vec![TransformOperation::Skew(Angle::from_radians(0.0),
|
let from = Transform(vec![TransformOperation::Skew(Angle::from_radians(0.0),
|
||||||
Angle::from_radians(100.0))]));
|
Some(Angle::from_radians(100.0)))]);
|
||||||
let to = TransformList(Some(vec![TransformOperation::Skew(Angle::from_radians(100.0),
|
let to = Transform(vec![TransformOperation::Skew(Angle::from_radians(100.0),
|
||||||
Angle::from_radians(0.0))]));
|
Some(Angle::from_radians(0.0)))]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![TransformOperation::Skew(
|
Transform(vec![TransformOperation::Skew(
|
||||||
Angle::from_radians(50.0),
|
Angle::from_radians(50.0),
|
||||||
Angle::from_radians(50.0),
|
Some(Angle::from_radians(50.0)),
|
||||||
)]))
|
)])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,18 +152,18 @@ fn test_transform_interpolation_on_skew() {
|
||||||
fn test_transform_interpolation_on_mismatched_lists() {
|
fn test_transform_interpolation_on_mismatched_lists() {
|
||||||
use style::values::computed::{Angle, Length, LengthOrPercentage};
|
use style::values::computed::{Angle, Length, LengthOrPercentage};
|
||||||
|
|
||||||
let from = TransformList(Some(vec![TransformOperation::Rotate(0.0, 0.0, 1.0,
|
let from = Transform(vec![TransformOperation::Rotate3D(0.0, 0.0, 1.0,
|
||||||
Angle::from_radians(100.0))]));
|
Angle::from_radians(100.0))]);
|
||||||
let to = TransformList(Some(vec![
|
let to = Transform(vec![
|
||||||
TransformOperation::Translate(LengthOrPercentage::Length(Length::new(100.)),
|
TransformOperation::Translate3D(LengthOrPercentage::Length(Length::new(100.)),
|
||||||
LengthOrPercentage::Length(Length::new(0.)),
|
LengthOrPercentage::Length(Length::new(0.)),
|
||||||
Length::new(0.))]));
|
Length::new(0.))]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
from.animate(&to, Procedure::Interpolate { progress: 0.5 }).unwrap(),
|
||||||
TransformList(Some(vec![TransformOperation::InterpolateMatrix {
|
Transform(vec![TransformOperation::InterpolateMatrix {
|
||||||
from_list: from.clone(),
|
from_list: from.clone(),
|
||||||
to_list: to.clone(),
|
to_list: to.clone(),
|
||||||
progress: Percentage(0.5),
|
progress: Percentage(0.5),
|
||||||
}]))
|
}])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -725,8 +725,9 @@ mod shorthand_serialization {
|
||||||
|
|
||||||
mod transform {
|
mod transform {
|
||||||
pub use super::*;
|
pub use super::*;
|
||||||
use style::properties::longhands::transform::SpecifiedOperation;
|
use style::values::generics::transform::TransformOperation;
|
||||||
use style::values::specified::{Angle, Number};
|
use style::values::specified::{Angle, Number};
|
||||||
|
use style::values::specified::transform::TransformOperation as SpecifiedOperation;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn should_serialize_none_correctly() {
|
fn should_serialize_none_correctly() {
|
||||||
|
@ -736,41 +737,41 @@ mod shorthand_serialization {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn validate_serialization<T: ToCss>(op: &T, expected_string: &'static str) {
|
fn validate_serialization(op: &SpecifiedOperation, expected_string: &'static str) {
|
||||||
let css_string = op.to_css_string();
|
let css_string = op.to_css_string();
|
||||||
assert_eq!(css_string, expected_string);
|
assert_eq!(css_string, expected_string);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn transform_scale() {
|
fn transform_scale() {
|
||||||
validate_serialization(&SpecifiedOperation::Scale(Number::new(1.3), None), "scale(1.3)");
|
validate_serialization(&TransformOperation::Scale(Number::new(1.3), None), "scale(1.3)");
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::Scale(Number::new(2.0), Some(Number::new(2.0))),
|
&TransformOperation::Scale(Number::new(2.0), Some(Number::new(2.0))),
|
||||||
"scale(2, 2)");
|
"scale(2, 2)");
|
||||||
validate_serialization(&SpecifiedOperation::ScaleX(Number::new(42.0)), "scaleX(42)");
|
validate_serialization(&TransformOperation::ScaleX(Number::new(42.0)), "scaleX(42)");
|
||||||
validate_serialization(&SpecifiedOperation::ScaleY(Number::new(0.3)), "scaleY(0.3)");
|
validate_serialization(&TransformOperation::ScaleY(Number::new(0.3)), "scaleY(0.3)");
|
||||||
validate_serialization(&SpecifiedOperation::ScaleZ(Number::new(1.0)), "scaleZ(1)");
|
validate_serialization(&TransformOperation::ScaleZ(Number::new(1.0)), "scaleZ(1)");
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::Scale3D(Number::new(4.0), Number::new(5.0), Number::new(6.0)),
|
&TransformOperation::Scale3D(Number::new(4.0), Number::new(5.0), Number::new(6.0)),
|
||||||
"scale3d(4, 5, 6)");
|
"scale3d(4, 5, 6)");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn transform_skew() {
|
fn transform_skew() {
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::Skew(Angle::from_degrees(42.3, false), None),
|
&TransformOperation::Skew(Angle::from_degrees(42.3, false), None),
|
||||||
"skew(42.3deg)");
|
"skew(42.3deg)");
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::Skew(Angle::from_gradians(-50.0, false), Some(Angle::from_turns(0.73, false))),
|
&TransformOperation::Skew(Angle::from_gradians(-50.0, false), Some(Angle::from_turns(0.73, false))),
|
||||||
"skew(-50grad, 0.73turn)");
|
"skew(-50grad, 0.73turn)");
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::SkewX(Angle::from_radians(0.31, false)), "skewX(0.31rad)");
|
&TransformOperation::SkewX(Angle::from_radians(0.31, false)), "skewX(0.31rad)");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn transform_rotate() {
|
fn transform_rotate() {
|
||||||
validate_serialization(
|
validate_serialization(
|
||||||
&SpecifiedOperation::Rotate(Angle::from_turns(35.0, false)),
|
&TransformOperation::Rotate(Angle::from_turns(35.0, false)),
|
||||||
"rotate(35turn)"
|
"rotate(35turn)"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue