Fix unit tests.

This commit is contained in:
Emilio Cobos Álvarez 2020-04-16 18:23:31 +02:00
parent 848a6203de
commit 14bda8078e
4 changed files with 10 additions and 128 deletions

View file

@ -29,126 +29,3 @@ fn test_linear_gradient() {
// Parsing without <angle> and <side-or-corner> // Parsing without <angle> and <side-or-corner>
assert_roundtrip_with_context!(Image::parse, "linear-gradient(red, green)"); assert_roundtrip_with_context!(Image::parse, "linear-gradient(red, green)");
} }
#[test]
fn test_radial_gradient() {
// Parsing with all values
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(circle closest-side at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(ellipse closest-side at 20px 30px, red, green)",
"radial-gradient(closest-side at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-side circle at 20px 30px, red, green)",
"radial-gradient(circle closest-side at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-side ellipse at 20px 30px, red, green)",
"radial-gradient(closest-side at 20px 30px, red, green)"
);
// Parsing with <shape-keyword> and <size> reversed
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-side circle at 20px 30px, red, green)",
"radial-gradient(circle closest-side at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-corner ellipse at 20px 30px, red, green)",
"radial-gradient(closest-corner at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(30px circle, red, green)",
"radial-gradient(30px at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(30px 40px ellipse, red, green)",
"radial-gradient(30px 40px at center center, red, green)"
);
// Parsing without <size>
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(circle, red, green)",
"radial-gradient(circle at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(ellipse, red, green)",
"radial-gradient(at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(circle at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(ellipse at 20px 30px, red, green)",
"radial-gradient(at 20px 30px, red, green)"
);
// Parsing without <shape-keyword>
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(20px at 20px 30px, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(20px 30px at left center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-side at center, red, green)",
"radial-gradient(closest-side at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(20px, red, green)",
"radial-gradient(20px at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(20px 30px, red, green)",
"radial-gradient(20px 30px at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(closest-side, red, green)",
"radial-gradient(closest-side at center center, red, green)"
);
// Parsing without <shape-keyword> and <size>
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(at center, red, green)",
"radial-gradient(at center center, red, green)"
);
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(at center bottom, red, green)"
);
assert_roundtrip_with_context!(Image::parse, "radial-gradient(at 40px 50px, red, green)");
// Parsing with just color stops
assert_roundtrip_with_context!(
Image::parse,
"radial-gradient(red, green)",
"radial-gradient(at center center, red, green)"
);
// Parsing repeating radial gradient
assert_roundtrip_with_context!(
Image::parse,
"repeating-radial-gradient(red, green)",
"repeating-radial-gradient(at center center, red, green)"
);
}

View file

@ -12,7 +12,7 @@ use style::media_queries::MediaList;
use style::properties::{longhands, Importance, PropertyDeclaration, PropertyDeclarationBlock}; use style::properties::{longhands, Importance, PropertyDeclaration, PropertyDeclarationBlock};
use style::rule_tree::{CascadeLevel, RuleTree, StrongRuleNode, StyleSource}; use style::rule_tree::{CascadeLevel, RuleTree, StrongRuleNode, StyleSource};
use style::shared_lock::{SharedRwLock, StylesheetGuards}; use style::shared_lock::{SharedRwLock, StylesheetGuards};
use style::stylesheets::{CssRule, Origin, Stylesheet}; use style::stylesheets::{AllowImportRules, CssRule, Origin, Stylesheet};
use style::thread_state::{self, ThreadState}; use style::thread_state::{self, ThreadState};
use test::{self, Bencher}; use test::{self, Bencher};
@ -67,6 +67,7 @@ fn parse_rules(lock: &SharedRwLock, css: &str) -> Vec<(StyleSource, CascadeLevel
Some(&ErrorringErrorReporter), Some(&ErrorringErrorReporter),
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
0, 0,
AllowImportRules::Yes,
); );
let guard = s.shared_lock.read(); let guard = s.shared_lock.read();
let rules = s.contents.rules.read_with(&guard); let rules = s.contents.rules.read_with(&guard);

View file

@ -11,8 +11,7 @@ use style::context::QuirksMode;
use style::error_reporting::{ContextualParseError, ParseErrorReporter}; use style::error_reporting::{ContextualParseError, ParseErrorReporter};
use style::media_queries::MediaList; use style::media_queries::MediaList;
use style::shared_lock::SharedRwLock; use style::shared_lock::SharedRwLock;
use style::stylesheets::Origin; use style::stylesheets::{AllowImportRules, Origin, Stylesheet};
use style::stylesheets::Stylesheet;
#[derive(Debug)] #[derive(Debug)]
struct CSSError { struct CSSError {
@ -106,6 +105,7 @@ fn test_report_error_stylesheet() {
Some(&error_reporter), Some(&error_reporter),
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
5, 5,
AllowImportRules::Yes,
); );
error_reporter.assert_messages_contain(&[ error_reporter.assert_messages_contain(&[
@ -116,7 +116,7 @@ fn test_report_error_stylesheet() {
), ),
( (
9, 9,
27, 43,
"Unsupported property declaration: 'background-image:", "Unsupported property declaration: 'background-image:",
), // FIXME: column should be around 56 ), // FIXME: column should be around 56
(10, 17, "Unsupported property declaration: 'invalid: true;'"), (10, 17, "Unsupported property declaration: 'invalid: true;'"),
@ -169,6 +169,7 @@ fn test_no_report_unrecognized_vendor_properties() {
Some(&error_reporter), Some(&error_reporter),
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
0, 0,
AllowImportRules::Yes,
); );
error_reporter.assert_messages_contain(&[( error_reporter.assert_messages_contain(&[(
@ -202,6 +203,7 @@ fn test_source_map_url() {
None, None,
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
0, 0,
AllowImportRules::Yes,
); );
let url_opt = stylesheet.contents.source_map_url.read(); let url_opt = stylesheet.contents.source_map_url.read();
assert_eq!(*url_opt, test.1); assert_eq!(*url_opt, test.1);
@ -229,6 +231,7 @@ fn test_source_url() {
None, None,
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
0, 0,
AllowImportRules::Yes,
); );
let url_opt = stylesheet.contents.source_url.read(); let url_opt = stylesheet.contents.source_url.read();
assert_eq!(*url_opt, test.1); assert_eq!(*url_opt, test.1);

View file

@ -12,7 +12,7 @@ use style::media_queries::{Device, MediaList, MediaType};
use style::parser::ParserContext; use style::parser::ParserContext;
use style::shared_lock::{SharedRwLock, StylesheetGuards}; use style::shared_lock::{SharedRwLock, StylesheetGuards};
use style::stylesheets::viewport_rule::*; use style::stylesheets::viewport_rule::*;
use style::stylesheets::{CssRuleType, Origin, Stylesheet, StylesheetInDocument}; use style::stylesheets::{AllowImportRules, CssRuleType, Origin, Stylesheet, StylesheetInDocument};
use style::values::generics::length::LengthPercentageOrAuto::{self, Auto}; use style::values::generics::length::LengthPercentageOrAuto::{self, Auto};
use style::values::generics::NonNegative; use style::values::generics::NonNegative;
use style::values::specified::LengthPercentage; use style::values::specified::LengthPercentage;
@ -36,6 +36,7 @@ macro_rules! stylesheet {
None, None,
QuirksMode::NoQuirks, QuirksMode::NoQuirks,
0, 0,
AllowImportRules::Yes,
)) ))
}; };
} }