Commit graph

14 commits

Author SHA1 Message Date
Roan Kattouw
e5096f2500 CSSJanus: Account for attribute selectors in brace lookahead
Recognize selectors of the forms [attr=val], [attr*=val], [attr~=val]
and [attr^=val], optionally with single-quoted values.

Because these selectors previously weren't recognized, trying to
apply /* @noflip */ to one of them would be recognized as a
single-property noflip rather than a rule-wide noflip, and so only
the first property in the rule would be noflipped.

The (simplified) input that triggered this bug was:

/* @noflip */ figure[typeof*='mw:Image'].mw-halign-left { clear: left; float: left; }

which became { clear: left; float: right; } when run through CSSJanus.

See also I4cddce80397d8 which is a workaround for this issue

Bug: 50910
Change-Id: If424a1df26bb7a5a18cee4b0318b029392528fc0
2014-02-08 00:43:52 +00:00
addshore
17c1e91238 General cleanup of Parser tests
- Fixes scope
 - Adds covers tags

Change-Id: I6024f2f7cc7a1812a417c6c389b0a15addde0b5e
2013-10-23 12:26:15 +00:00
jenkins-bot
edba2e008c Merge "CSSJanus: Support text-shadow and box-shadow flipping" 2013-09-27 20:35:16 +00:00
Ebrahim Byagowi
bda65740a8 Tweak CSSJanus to support noflip for selectors with parentheses
Also suggested for CSSJanus itself at http://code.google.com/p/cssjanus/issues/detail?id=22

Change-Id: I4e3b21522e9c5a72cd456ed3d6a0be9225e4b70d
2013-07-19 11:53:27 -07:00
MatmaRex
511273dca1 CSSJanus: Support text-shadow and box-shadow flipping
We just need to negate the horizontal offset value in both of them.

This only supports *a single shadow* per element; multiple shadows
are not supported (only the first will be flipped).

Second attempt. First, reverted one: I14822955.

Bug: 45677
Change-Id: I97ee7431e1a5acb35d594076a88a0f9acf290402
2013-07-17 20:30:24 +02:00
MatmaRex
ad6d2e43d5 CSSJanus: Handle values of border-radius correctly
The values are not "top right bottom left" here, but
"top-left top-right bottom-right bottom-left".

Bug: 49074
Change-Id: I22bc777b59e667aeb36727fdc8e41e8681979128
2013-07-17 12:47:10 +02:00
MatmaRex
b5984db716 CSSJanus: Fix handling of CSS3 color syntaxes
The 'color' rule, and by extension 'four_notation_color' too,
only understood #rrggbb and named colors. Extend it to match
rgb[a](...) and hsl[a](...) syntaxes as well.

This makes usage of rgb(a)/hsl(a) syntax in declarations like
'border-color: a b c d;' be interpreted and flipped correctly.

Change-Id: I218a9aa55a86b3d955b92375c1a209fdde312138
2013-07-04 05:30:26 +02:00
MatmaRex
3eaad66d63 CSSJanus: don't mangle 5+ consecutive numeric values
Don't mangle 5+ consecutive numeric values in the
'four_notation_quantity' and 'four_notation_color' rules. This
prevents box-shadow rules from being utterly broken in RTL (but still
doesn't flip them properly).

Bug: 45677
Change-Id: I16cb9e171a79c6f299b40fa02908b0c045e3c474
2013-06-06 17:29:51 +02:00
Timo Tijhof
b36d883017 Tests: Make phpunit providers "public static".
Follows-up I9d2b148e57 (including phpunit/languages this time).

Bug: 46434
Change-Id: I30e5efcd88c516121c454676bd7a18f9b7c8fca6
2013-03-22 03:12:37 +01:00
Krinkle
d86c886ac6 Revert "(bug 45677) CSSJanus: support text-shadow and box-shadow flipping"
See I5d24c7d8456e2. This is a wontfix per Trevor and myself.

This reverts commit e457d804eb

Change-Id: I886a078cbeedd5a742e9c6dfedc9bd718bab089c
2013-03-07 06:19:26 +00:00
MatmaRex
e457d804eb (bug 45677) CSSJanus: support text-shadow and box-shadow flipping
We just need to negate the horizontal offset value in both of them.

This only supports *a single shadow* per element; multiple shadows
are not supported (only the first will be flipped).

Also, to make it possible:
* don't mangle 5+ consecutive numeric values in the
  'four_notation_quantity' rule
* support rgb(a) and hsl(a) colors in the 'color' rule

Change-Id: I148229558e1b9a0516e413ffe86007235c3c3ef8
2013-03-05 20:42:52 +01:00
Siebrand Mazeland
de04f37ef1 Update formatting
5 of n.

Change-Id: I811ca957b6588085d67606ebc0cd4033a1e53839
2013-02-15 12:35:50 +00:00
Tim Landscheidt
ce034ac430 Do not flip partial keys in CSSJanus.
Change-Id: I1ee9d16069c4627aa81024eeb642714ef796cec5
2013-01-23 07:57:07 +00:00
Timo Tijhof
663f947b7b (bug 27395) Write PHPUnit test suite for CSSJanus
Change-Id: If40c5de54bffae6e5ac8fac81754a53a40c652b1
2012-07-31 13:09:35 -07:00