diff --git a/css/css-grid/parsing/display-invalid.html b/css/css-grid/parsing/display-invalid.html
new file mode 100644
index 000000000000000..265f3c9508fe4c6
--- /dev/null
+++ b/css/css-grid/parsing/display-invalid.html
@@ -0,0 +1,19 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing display with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/display-valid.html b/css/css-grid/parsing/display-valid.html
new file mode 100644
index 000000000000000..c11c1c9b767e7cf
--- /dev/null
+++ b/css/css-grid/parsing/display-valid.html
@@ -0,0 +1,38 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing display with valid values
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-area-invalid.html b/css/css-grid/parsing/grid-area-invalid.html
new file mode 100644
index 000000000000000..80d25d62e438e12
--- /dev/null
+++ b/css/css-grid/parsing/grid-area-invalid.html
@@ -0,0 +1,45 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-area with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-area-valid.html b/css/css-grid/parsing/grid-area-valid.html
new file mode 100644
index 000000000000000..43ac4c11fc349cc
--- /dev/null
+++ b/css/css-grid/parsing/grid-area-valid.html
@@ -0,0 +1,67 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-area with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-columns-invalid.html b/css/css-grid/parsing/grid-auto-columns-invalid.html
new file mode 100644
index 000000000000000..48dc9b494317c14
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-columns-invalid.html
@@ -0,0 +1,37 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-columns with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-columns-valid.html b/css/css-grid/parsing/grid-auto-columns-valid.html
new file mode 100644
index 000000000000000..ce480c0458e6c23
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-columns-valid.html
@@ -0,0 +1,54 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-columns with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-flow-invalid.html b/css/css-grid/parsing/grid-auto-flow-invalid.html
new file mode 100644
index 000000000000000..7b9b960f0866f3c
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-flow-invalid.html
@@ -0,0 +1,20 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-flow with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-flow-valid.html b/css/css-grid/parsing/grid-auto-flow-valid.html
new file mode 100644
index 000000000000000..ba1e210b40a1272
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-flow-valid.html
@@ -0,0 +1,24 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-flow with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-rows-invalid.html b/css/css-grid/parsing/grid-auto-rows-invalid.html
new file mode 100644
index 000000000000000..b1d144c9f41c74f
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-rows-invalid.html
@@ -0,0 +1,36 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-rows with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-auto-rows-valid.html b/css/css-grid/parsing/grid-auto-rows-valid.html
new file mode 100644
index 000000000000000..a6baa8d6d559f45
--- /dev/null
+++ b/css/css-grid/parsing/grid-auto-rows-valid.html
@@ -0,0 +1,48 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-auto-rows with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-template-areas-invalid.html b/css/css-grid/parsing/grid-template-areas-invalid.html
new file mode 100644
index 000000000000000..d35a688f373823d
--- /dev/null
+++ b/css/css-grid/parsing/grid-template-areas-invalid.html
@@ -0,0 +1,20 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-template-areas with invalid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/grid-template-areas-valid.html b/css/css-grid/parsing/grid-template-areas-valid.html
new file mode 100644
index 000000000000000..d030d68f7946236
--- /dev/null
+++ b/css/css-grid/parsing/grid-template-areas-valid.html
@@ -0,0 +1,29 @@
+
+
+
+
+CSS Grid Layout Module Level 1: parsing grid-template-areas with valid values
+
+
+
+
+
+
+
+
+
+
+
diff --git a/css/css-grid/parsing/support/parsing-testcommon.js b/css/css-grid/parsing/support/parsing-testcommon.js
new file mode 100644
index 000000000000000..b075882f89aae49
--- /dev/null
+++ b/css/css-grid/parsing/support/parsing-testcommon.js
@@ -0,0 +1,39 @@
+'use strict';
+
+// serializedValue can be the expected serialization of value,
+// or an array of permitted serializations,
+// or omitted if value should serialize as value.
+function test_valid_value(property, value, serializedValue) {
+ if (arguments.length < 3)
+ serializedValue = value;
+
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_not_equals(div.style.getPropertyValue(property), "", "property should be set");
+
+ var div = document.createElement('div');
+ div.style[property] = value;
+ var readValue = div.style.getPropertyValue(property);
+ if (serializedValue instanceof Array)
+ assert_in_array(readValue, serializedValue, "serialization should be sound");
+ else
+ assert_equals(readValue, serializedValue, "serialization should be canonical");
+
+ div.style[property] = readValue;
+ assert_equals(div.style.getPropertyValue(property), readValue, "serialization should round-trip");
+
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should set the property value");
+}
+
+function test_invalid_value(property, value) {
+ var stringifiedValue = JSON.stringify(value);
+
+ test(function(){
+ var div = document.createElement('div');
+ div.style[property] = value;
+ assert_equals(div.style.getPropertyValue(property), "");
+ }, "e.style['" + property + "'] = " + stringifiedValue + " should not set the property value");
+}