stylo: Fix unit test failures caused by adding source_location member to Keyframe rule.

In #18365, we add an extra source_location member to Keyframe rule, so that we
can provide location information to devtool panel for Stylo. In order not to
break the existing unit tests, we should add this new member to all the Keyframe
rules used in our unit tests.

As for the tests in stylesheets.rs, since we make the test by mocking a raw css
string, there are actual source locations that we can add to the expected result.
As to the tests in keyframes.rs, since we don't use raw css string, we can just
add a dummy souce location for all the tests. We can further fix this if we
decide to use a raw css string for the tests in keyframes.rs one day.
This commit is contained in:
Jeremy Chen 2017-09-04 22:20:45 +08:00
parent 28d48242d3
commit f9b7bebc44
2 changed files with 23 additions and 3 deletions

View file

@ -2,6 +2,7 @@
* 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 cssparser::SourceLocation;
use servo_arc::Arc;
use style::properties::{PropertyDeclaration, PropertyDeclarationBlock, Importance};
use style::properties::animated_properties::AnimatableLonghand;
@ -29,10 +30,12 @@ fn test_empty_keyframe() {
#[test]
fn test_no_property_in_keyframe() {
let shared_lock = SharedRwLock::new();
let dummy_location = SourceLocation { line: 0, column: 0 };
let keyframes = vec![
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(1.)]),
block: Arc::new(shared_lock.wrap(PropertyDeclarationBlock::new()))
block: Arc::new(shared_lock.wrap(PropertyDeclarationBlock::new())),
source_location: dummy_location,
})),
];
let animation = KeyframesAnimation::from_keyframes(&keyframes,
@ -73,15 +76,18 @@ fn test_missing_property_in_initial_keyframe() {
block
}));
let dummy_location = SourceLocation { line: 0, column: 0 };
let keyframes = vec![
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(0.)]),
block: declarations_on_initial_keyframe.clone(),
source_location: dummy_location,
})),
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(1.)]),
block: declarations_on_final_keyframe.clone(),
source_location: dummy_location,
})),
];
let animation = KeyframesAnimation::from_keyframes(&keyframes,
@ -133,15 +139,18 @@ fn test_missing_property_in_final_keyframe() {
Importance::Normal,
)));
let dummy_location = SourceLocation { line: 0, column: 0 };
let keyframes = vec![
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(0.)]),
block: declarations_on_initial_keyframe.clone(),
source_location: dummy_location,
})),
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(1.)]),
block: declarations_on_final_keyframe.clone(),
source_location: dummy_location,
})),
];
let animation = KeyframesAnimation::from_keyframes(&keyframes,
@ -186,14 +195,17 @@ fn test_missing_keyframe_in_both_of_initial_and_final_keyframe() {
block
}));
let dummy_location = SourceLocation { line: 0, column: 0 };
let keyframes = vec![
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(0.)]),
block: Arc::new(shared_lock.wrap(PropertyDeclarationBlock::new()))
block: Arc::new(shared_lock.wrap(PropertyDeclarationBlock::new())),
source_location: dummy_location,
})),
Arc::new(shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(vec![KeyframePercentage::new(0.5)]),
block: declarations.clone(),
source_location: dummy_location,
})),
];
let animation = KeyframesAnimation::from_keyframes(&keyframes,

View file

@ -217,7 +217,11 @@ fn test_parse_stylesheet() {
(PropertyDeclaration::Width(
LengthOrPercentageOrAuto::Percentage(Percentage(0.))),
Importance::Normal),
])))
]))),
source_location: SourceLocation {
line: 17,
column: 13,
},
})),
Arc::new(stylesheet.shared_lock.wrap(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(
@ -231,6 +235,10 @@ fn test_parse_stylesheet() {
vec![TimingFunction::ease()])),
Importance::Normal),
]))),
source_location: SourceLocation {
line: 18,
column: 13,
},
})),
],
vendor_prefix: None,