[129902] CSS parser doesn't handle negative value correctly
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/CSSStyleRuleTest.java b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/CSSStyleRuleTest.java
index ee8d938..31d2d7d 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/CSSStyleRuleTest.java
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/model/CSSStyleRuleTest.java
@@ -41,7 +41,7 @@
assertTrue(rule instanceof CSSStyleRule);
declaration = ((CSSStyleRule) rule).getStyle();
- assertEquals(19, declaration.getLength());
+ assertEquals(20, declaration.getLength());
// 01
value = declaration.getPropertyCSSValue("NUMBER");
@@ -61,8 +61,12 @@
// 05
value = declaration.getPropertyCSSValue("PX");
- checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_PX, 123.456f));
+ checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_PX, +123.456f));
+ value = declaration.getPropertyCSSValue("PX2");
+ checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_PX, -123f));
+
+
// 06
value = declaration.getPropertyCSSValue("CM");
checkPrimitiveNumber(value, new PrimitiveNumber(CSSPrimitiveValue.CSS_CM, 123.456f));
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/CSSStyleRuleTest.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/CSSStyleRuleTest.css
index 8e4a89a..f5d6801 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/CSSStyleRuleTest.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/CSSStyleRuleTest.css
@@ -5,6 +5,7 @@
EMS: 123.456em;
EXS: 123.456ex;
PX: 123.456px;
+ PX2: -123px;
CM: 123.456cm;
MM: 123.456mm;
IN: 123.456in;
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample04.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample04.css
index a761962..fdc36bf 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample04.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample04.css
@@ -138,7 +138,7 @@
[412, 415] ({ )
ContextRegion--> LBRACE: 0-1/3,
[415, 431] (margin-top: -5mm)
- ContextRegion--> DECLARATION_PROPERTY: 0-10, ContextRegion--> DECLARATION_SEPARATOR: 10-11/12, ContextRegion--> DECLARATION_VALUE_IDENT: 12-16,
+ ContextRegion--> DECLARATION_PROPERTY: 0-10, ContextRegion--> DECLARATION_SEPARATOR: 10-11/12, ContextRegion--> DECLARATION_VALUE_DIMENSION: 12-16,
[431, 433] ( )
ContextRegion--> S: 0-2,
[433, 434] (})
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample05.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample05.css
index a761962..fdc36bf 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample05.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample05.css
@@ -138,7 +138,7 @@
[412, 415] ({ )
ContextRegion--> LBRACE: 0-1/3,
[415, 431] (margin-top: -5mm)
- ContextRegion--> DECLARATION_PROPERTY: 0-10, ContextRegion--> DECLARATION_SEPARATOR: 10-11/12, ContextRegion--> DECLARATION_VALUE_IDENT: 12-16,
+ ContextRegion--> DECLARATION_PROPERTY: 0-10, ContextRegion--> DECLARATION_SEPARATOR: 10-11/12, ContextRegion--> DECLARATION_VALUE_DIMENSION: 12-16,
[431, 433] ( )
ContextRegion--> S: 0-2,
[433, 434] (})
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample07.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample07.css
index 902c663..a4879a8 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample07.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSSourceParserTest-sample07.css
@@ -257,7 +257,7 @@
)
ContextRegion--> S: 0-6,
[978, 1015] (clip : rect( -5px, 80px, 130px, 0px ))
- ContextRegion--> DECLARATION_PROPERTY: 0-4/5, ContextRegion--> DECLARATION_SEPARATOR: 5-6/7, ContextRegion--> DECLARATION_VALUE_FUNCTION: 7-12/13, ContextRegion--> DECLARATION_VALUE_IDENT: 13-17, ContextRegion--> DECLARATION_VALUE_OPERATOR: 17-18/19, ContextRegion--> DECLARATION_VALUE_DIMENSION: 19-23, ContextRegion--> DECLARATION_VALUE_OPERATOR: 23-24/25, ContextRegion--> DECLARATION_VALUE_DIMENSION: 25-30, ContextRegion--> DECLARATION_VALUE_OPERATOR: 30-31/32, ContextRegion--> DECLARATION_VALUE_DIMENSION: 32-35/36, ContextRegion--> DECLARATION_VALUE_PARENTHESIS_CLOSE: 36-37,
+ ContextRegion--> DECLARATION_PROPERTY: 0-4/5, ContextRegion--> DECLARATION_SEPARATOR: 5-6/7, ContextRegion--> DECLARATION_VALUE_FUNCTION: 7-12/13, ContextRegion--> DECLARATION_VALUE_DIMENSION: 13-17, ContextRegion--> DECLARATION_VALUE_OPERATOR: 17-18/19, ContextRegion--> DECLARATION_VALUE_DIMENSION: 19-23, ContextRegion--> DECLARATION_VALUE_OPERATOR: 23-24/25, ContextRegion--> DECLARATION_VALUE_DIMENSION: 25-30, ContextRegion--> DECLARATION_VALUE_OPERATOR: 30-31/32, ContextRegion--> DECLARATION_VALUE_DIMENSION: 32-35/36, ContextRegion--> DECLARATION_VALUE_PARENTHESIS_CLOSE: 36-37,
[1015, 1017] (
)
ContextRegion--> S: 0-2,
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample04.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample04.css
index 5bb3f2b..5d5d2e6 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample04.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample04.css
@@ -174,7 +174,7 @@
[margin-top] DECLARATION_PROPERTY - 415, 10
[:] DECLARATION_SEPARATOR - 425, 1
[ ] S - 426, 1
-[-5mm] DECLARATION_VALUE_IDENT - 427, 4
+[-5mm] DECLARATION_VALUE_DIMENSION - 427, 4
[ ] S - 431, 2
[}] RBRACE - 433, 1
[
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample05.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample05.css
index 5bb3f2b..5d5d2e6 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample05.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample05.css
@@ -174,7 +174,7 @@
[margin-top] DECLARATION_PROPERTY - 415, 10
[:] DECLARATION_SEPARATOR - 425, 1
[ ] S - 426, 1
-[-5mm] DECLARATION_VALUE_IDENT - 427, 4
+[-5mm] DECLARATION_VALUE_DIMENSION - 427, 4
[ ] S - 431, 2
[}] RBRACE - 433, 1
[
diff --git a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample07.css b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample07.css
index 74b3076..ffed5b2 100644
--- a/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample07.css
+++ b/tests/org.eclipse.wst.css.core.tests/src/org/eclipse/wst/css/core/tests/testfiles/results/CSSTextParserTest-sample07.css
@@ -314,7 +314,7 @@
[ ] S - 984, 1
[rect(] DECLARATION_VALUE_FUNCTION - 985, 5
[ ] DECLARATION_VALUE_S - 990, 1
-[-5px] DECLARATION_VALUE_IDENT - 991, 4
+[-5px] DECLARATION_VALUE_DIMENSION - 991, 4
[,] DECLARATION_VALUE_OPERATOR - 995, 1
[ ] DECLARATION_VALUE_S - 996, 1
[80px] DECLARATION_VALUE_DIMENSION - 997, 4