#[macro_use] mod macros; test!( compresses_simple_rule, "a {\n color: red;\n}\n", "a{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( compresses_rule_with_many_styles, "a {\n color: red;\n color: green;\n color: blue;\n}\n", "a{color:red;color:green;color:blue}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( compresses_media_rule, "@media foo {\n a {\n color: red;\n }\n}\n", "@media foo{a{color:red}}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( compresses_selector_with_space_after_comma, "a, b {\n color: red;\n}\n", "a,b{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( compresses_selector_with_newline_after_comma, "a,\nb {\n color: red;\n}\n", "a,b{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( emits_bom_when_compressed, "a {\n color: 👭;\n}\n", "\u{FEFF}a{color:👭}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_space_between_selector_combinator, "a > b {\n color: red;\n}\n", "a>b{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_before_style, "a {\n /* abc */\n color: red;\n}\n", "a{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_after_style, "a {\n color: red;\n /* abc */\n}\n", "a{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_between_styles, "a {\n color: red;\n /* abc */\n color: green;\n}\n", "a{color:red;color:green}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_before_ruleset, "/* abc */a {\n color: red;\n}\n", "a{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_after_ruleset, "a {\n color: red;\n}\n/* abc */", "a{color:red}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_multiline_comment_between_rulesets, "a {\n color: red;\n}\n/* abc */b {\n color: green;\n}\n", "a{color:red}b{color:green}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_spaces_in_comma_separated_list, "a {\n color: a, b, c;\n}\n", "a{color:a,b,c}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( removes_leading_zero_in_number_under_1, "a {\n color: 0.5;\n}\n", "a{color:.5}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( #[ignore = "we do not support compressed colors"] removes_leading_zero_in_number_under_1_in_rgba_alpha_channel, "a {\n color: rgba(1, 1, 1, 0.5);\n}\n", "a{color:rgba(1,1,1,.5)}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( retains_leading_zero_in_opacity, "a {\n color: opacity(0.5);\n}\n", "a{color:opacity(0.5)}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( retains_leading_zero_in_saturate, "a {\n color: saturate(0.5);\n}\n", "a{color:saturate(0.5)}", grass::Options::default().style(grass::OutputStyle::Compressed) ); test!( retains_leading_zero_in_grayscale, "a {\n color: grayscale(0.5);\n}\n", "a{color:grayscale(0.5)}", grass::Options::default().style(grass::OutputStyle::Compressed) );