[css-align] Import W3C web platform tests for the CSS Box Alignment feature
authorjfernandez@igalia.com <jfernandez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 May 2017 21:18:01 +0000 (21:18 +0000)
committerjfernandez@igalia.com <jfernandez@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 May 2017 21:18:01 +0000 (21:18 +0000)
https://bugs.webkit.org/show_bug.cgi?id=172705

Reviewed by Manuel Rego Casasnovas.

LayoutTests/imported/w3c:

This patch imports the new alignment tests for the CSS Box Alignment test suite
from WPT repository.

* resources/import-expectations.json:
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht: Added.
* web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html: Added.
* web-platform-tests/css/css-align-3/distribution-values/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Added.
(checkPlaceShorhand):
(checkPlaceShorhandLonghands):
(checkPlaceShorthandInvalidValues):
* web-platform-tests/css/css-align-3/resources/w3c-import.log: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt: Added.
* web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html: Added.
* web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Mark as failure a few tests due to bug #172707.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217575 268f45cc-cd09-0410-ab3c-d52691b4dbfc

47 files changed:
LayoutTests/ChangeLog
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/import-expectations.json
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/w3c-import.log [new file with mode: 0644]

index 23d5f8d..bb6c2e6 100644 (file)
@@ -1,3 +1,12 @@
+2017-05-30  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-align] Import W3C web platform tests for the CSS Box Alignment feature
+        https://bugs.webkit.org/show_bug.cgi?id=172705
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        * TestExpectations: Mark as failure a few tests due to bug #172707.
+
 2017-05-30  Ali Juma  <ajuma@chromium.org>
 
         [CredentialManagement] Incorporate IDL updates from latest spec
index 10481a6..7aacfaa 100644 (file)
@@ -1,3 +1,62 @@
+2017-05-30  Javier Fernandez  <jfernandez@igalia.com>
+
+        [css-align] Import W3C web platform tests for the CSS Box Alignment feature
+        https://bugs.webkit.org/show_bug.cgi?id=172705
+
+        Reviewed by Manuel Rego Casasnovas.
+
+        This patch imports the new alignment tests for the CSS Box Alignment test suite
+        from WPT repository.
+
+        * resources/import-expectations.json:
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html: Added.
+        * web-platform-tests/css/css-align-3/content-distribution/w3c-import.log: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html: Added.
+        * web-platform-tests/css/css-align-3/default-alignment/w3c-import.log: Added.
+        * web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht: Added.
+        * web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html: Added.
+        * web-platform-tests/css/css-align-3/distribution-values/w3c-import.log: Added.
+        * web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js: Added.
+        (checkPlaceShorhand):
+        (checkPlaceShorhandLonghands):
+        (checkPlaceShorthandInvalidValues):
+        * web-platform-tests/css/css-align-3/resources/w3c-import.log: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html: Added.
+        * web-platform-tests/css/css-align-3/self-alignment/w3c-import.log: Added.
+
 2017-05-27  Chris Dumez  <cdumez@apple.com>
 
         imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html is crashing
index 794c97a..00ffa9d 100644 (file)
@@ -57,6 +57,7 @@
     "web-platform-tests/css-timing": "skip", 
     "web-platform-tests/css-typed-om": "skip", 
     "web-platform-tests/css-values": "skip", 
+    "web-platform-tests/css/css-align-3": "import", 
     "web-platform-tests/css/css-display-3": "import", 
     "web-platform-tests/css/css-grid-1": "import", 
     "web-platform-tests/css/css-scoping-1": "import", 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001-expected.txt
new file mode 100644 (file)
index 0000000..9d6c6ae
--- /dev/null
@@ -0,0 +1,17 @@
+
+PASS Checking place-content: normal 
+PASS Checking place-content: start 
+PASS Checking place-content: end 
+PASS Checking place-content: left 
+PASS Checking place-content: right 
+PASS Checking place-content: center 
+PASS Checking place-content: flex-start 
+PASS Checking place-content: flex-end 
+PASS Checking place-content: stretch 
+PASS Checking place-content: space-around 
+PASS Checking place-content: space-between 
+PASS Checking place-content: space-evenly 
+PASS Checking place-content: baseline 
+PASS Checking place-content: first baseline 
+PASS Checking place-content: last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html
new file mode 100644 (file)
index 0000000..6e62621
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - single values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check that setting a single value to place-content expands to such value set in both 'align-content' and 'justify-content'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
+    values.forEach(function(value) {
+        test(function() {
+            checkPlaceShorhandLonghands("place-content", "align-content", "justify-content", value);
+        }, "Checking place-content: " + value);
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002-expected.txt
new file mode 100644 (file)
index 0000000..dae805f
--- /dev/null
@@ -0,0 +1,227 @@
+
+PASS Checking place-content: normal normal 
+PASS Checking place-content: normal start 
+PASS Checking place-content: normal end 
+PASS Checking place-content: normal left 
+PASS Checking place-content: normal right 
+PASS Checking place-content: normal center 
+PASS Checking place-content: normal flex-start 
+PASS Checking place-content: normal flex-end 
+PASS Checking place-content: normal stretch 
+PASS Checking place-content: normal space-around 
+PASS Checking place-content: normal space-between 
+PASS Checking place-content: normal space-evenly 
+PASS Checking place-content: normal baseline 
+PASS Checking place-content: normal first baseline 
+PASS Checking place-content: normal last baseline 
+PASS Checking place-content: start normal 
+PASS Checking place-content: start start 
+PASS Checking place-content: start end 
+PASS Checking place-content: start left 
+PASS Checking place-content: start right 
+PASS Checking place-content: start center 
+PASS Checking place-content: start flex-start 
+PASS Checking place-content: start flex-end 
+PASS Checking place-content: start stretch 
+PASS Checking place-content: start space-around 
+PASS Checking place-content: start space-between 
+PASS Checking place-content: start space-evenly 
+PASS Checking place-content: start baseline 
+PASS Checking place-content: start first baseline 
+PASS Checking place-content: start last baseline 
+PASS Checking place-content: end normal 
+PASS Checking place-content: end start 
+PASS Checking place-content: end end 
+PASS Checking place-content: end left 
+PASS Checking place-content: end right 
+PASS Checking place-content: end center 
+PASS Checking place-content: end flex-start 
+PASS Checking place-content: end flex-end 
+PASS Checking place-content: end stretch 
+PASS Checking place-content: end space-around 
+PASS Checking place-content: end space-between 
+PASS Checking place-content: end space-evenly 
+PASS Checking place-content: end baseline 
+PASS Checking place-content: end first baseline 
+PASS Checking place-content: end last baseline 
+PASS Checking place-content: left normal 
+PASS Checking place-content: left start 
+PASS Checking place-content: left end 
+PASS Checking place-content: left left 
+PASS Checking place-content: left right 
+PASS Checking place-content: left center 
+PASS Checking place-content: left flex-start 
+PASS Checking place-content: left flex-end 
+PASS Checking place-content: left stretch 
+PASS Checking place-content: left space-around 
+PASS Checking place-content: left space-between 
+PASS Checking place-content: left space-evenly 
+PASS Checking place-content: left baseline 
+PASS Checking place-content: left first baseline 
+PASS Checking place-content: left last baseline 
+PASS Checking place-content: right normal 
+PASS Checking place-content: right start 
+PASS Checking place-content: right end 
+PASS Checking place-content: right left 
+PASS Checking place-content: right right 
+PASS Checking place-content: right center 
+PASS Checking place-content: right flex-start 
+PASS Checking place-content: right flex-end 
+PASS Checking place-content: right stretch 
+PASS Checking place-content: right space-around 
+PASS Checking place-content: right space-between 
+PASS Checking place-content: right space-evenly 
+PASS Checking place-content: right baseline 
+PASS Checking place-content: right first baseline 
+PASS Checking place-content: right last baseline 
+PASS Checking place-content: center normal 
+PASS Checking place-content: center start 
+PASS Checking place-content: center end 
+PASS Checking place-content: center left 
+PASS Checking place-content: center right 
+PASS Checking place-content: center center 
+PASS Checking place-content: center flex-start 
+PASS Checking place-content: center flex-end 
+PASS Checking place-content: center stretch 
+PASS Checking place-content: center space-around 
+PASS Checking place-content: center space-between 
+PASS Checking place-content: center space-evenly 
+PASS Checking place-content: center baseline 
+PASS Checking place-content: center first baseline 
+PASS Checking place-content: center last baseline 
+PASS Checking place-content: flex-start normal 
+PASS Checking place-content: flex-start start 
+PASS Checking place-content: flex-start end 
+PASS Checking place-content: flex-start left 
+PASS Checking place-content: flex-start right 
+PASS Checking place-content: flex-start center 
+PASS Checking place-content: flex-start flex-start 
+PASS Checking place-content: flex-start flex-end 
+PASS Checking place-content: flex-start stretch 
+PASS Checking place-content: flex-start space-around 
+PASS Checking place-content: flex-start space-between 
+PASS Checking place-content: flex-start space-evenly 
+PASS Checking place-content: flex-start baseline 
+PASS Checking place-content: flex-start first baseline 
+PASS Checking place-content: flex-start last baseline 
+PASS Checking place-content: flex-end normal 
+PASS Checking place-content: flex-end start 
+PASS Checking place-content: flex-end end 
+PASS Checking place-content: flex-end left 
+PASS Checking place-content: flex-end right 
+PASS Checking place-content: flex-end center 
+PASS Checking place-content: flex-end flex-start 
+PASS Checking place-content: flex-end flex-end 
+PASS Checking place-content: flex-end stretch 
+PASS Checking place-content: flex-end space-around 
+PASS Checking place-content: flex-end space-between 
+PASS Checking place-content: flex-end space-evenly 
+PASS Checking place-content: flex-end baseline 
+PASS Checking place-content: flex-end first baseline 
+PASS Checking place-content: flex-end last baseline 
+PASS Checking place-content: stretch normal 
+PASS Checking place-content: stretch start 
+PASS Checking place-content: stretch end 
+PASS Checking place-content: stretch left 
+PASS Checking place-content: stretch right 
+PASS Checking place-content: stretch center 
+PASS Checking place-content: stretch flex-start 
+PASS Checking place-content: stretch flex-end 
+PASS Checking place-content: stretch stretch 
+PASS Checking place-content: stretch space-around 
+PASS Checking place-content: stretch space-between 
+PASS Checking place-content: stretch space-evenly 
+PASS Checking place-content: stretch baseline 
+PASS Checking place-content: stretch first baseline 
+PASS Checking place-content: stretch last baseline 
+PASS Checking place-content: space-around normal 
+PASS Checking place-content: space-around start 
+PASS Checking place-content: space-around end 
+PASS Checking place-content: space-around left 
+PASS Checking place-content: space-around right 
+PASS Checking place-content: space-around center 
+PASS Checking place-content: space-around flex-start 
+PASS Checking place-content: space-around flex-end 
+PASS Checking place-content: space-around stretch 
+PASS Checking place-content: space-around space-around 
+PASS Checking place-content: space-around space-between 
+PASS Checking place-content: space-around space-evenly 
+PASS Checking place-content: space-around baseline 
+PASS Checking place-content: space-around first baseline 
+PASS Checking place-content: space-around last baseline 
+PASS Checking place-content: space-between normal 
+PASS Checking place-content: space-between start 
+PASS Checking place-content: space-between end 
+PASS Checking place-content: space-between left 
+PASS Checking place-content: space-between right 
+PASS Checking place-content: space-between center 
+PASS Checking place-content: space-between flex-start 
+PASS Checking place-content: space-between flex-end 
+PASS Checking place-content: space-between stretch 
+PASS Checking place-content: space-between space-around 
+PASS Checking place-content: space-between space-between 
+PASS Checking place-content: space-between space-evenly 
+PASS Checking place-content: space-between baseline 
+PASS Checking place-content: space-between first baseline 
+PASS Checking place-content: space-between last baseline 
+PASS Checking place-content: space-evenly normal 
+PASS Checking place-content: space-evenly start 
+PASS Checking place-content: space-evenly end 
+PASS Checking place-content: space-evenly left 
+PASS Checking place-content: space-evenly right 
+PASS Checking place-content: space-evenly center 
+PASS Checking place-content: space-evenly flex-start 
+PASS Checking place-content: space-evenly flex-end 
+PASS Checking place-content: space-evenly stretch 
+PASS Checking place-content: space-evenly space-around 
+PASS Checking place-content: space-evenly space-between 
+PASS Checking place-content: space-evenly space-evenly 
+PASS Checking place-content: space-evenly baseline 
+PASS Checking place-content: space-evenly first baseline 
+PASS Checking place-content: space-evenly last baseline 
+PASS Checking place-content: baseline normal 
+PASS Checking place-content: baseline start 
+PASS Checking place-content: baseline end 
+PASS Checking place-content: baseline left 
+PASS Checking place-content: baseline right 
+PASS Checking place-content: baseline center 
+PASS Checking place-content: baseline flex-start 
+PASS Checking place-content: baseline flex-end 
+PASS Checking place-content: baseline stretch 
+PASS Checking place-content: baseline space-around 
+PASS Checking place-content: baseline space-between 
+PASS Checking place-content: baseline space-evenly 
+PASS Checking place-content: baseline baseline 
+PASS Checking place-content: baseline first baseline 
+PASS Checking place-content: baseline last baseline 
+PASS Checking place-content: first baseline normal 
+PASS Checking place-content: first baseline start 
+PASS Checking place-content: first baseline end 
+PASS Checking place-content: first baseline left 
+PASS Checking place-content: first baseline right 
+PASS Checking place-content: first baseline center 
+PASS Checking place-content: first baseline flex-start 
+PASS Checking place-content: first baseline flex-end 
+PASS Checking place-content: first baseline stretch 
+PASS Checking place-content: first baseline space-around 
+PASS Checking place-content: first baseline space-between 
+PASS Checking place-content: first baseline space-evenly 
+PASS Checking place-content: first baseline baseline 
+PASS Checking place-content: first baseline first baseline 
+PASS Checking place-content: first baseline last baseline 
+PASS Checking place-content: last baseline normal 
+PASS Checking place-content: last baseline start 
+PASS Checking place-content: last baseline end 
+PASS Checking place-content: last baseline left 
+PASS Checking place-content: last baseline right 
+PASS Checking place-content: last baseline center 
+PASS Checking place-content: last baseline flex-start 
+PASS Checking place-content: last baseline flex-end 
+PASS Checking place-content: last baseline stretch 
+PASS Checking place-content: last baseline space-around 
+PASS Checking place-content: last baseline space-between 
+PASS Checking place-content: last baseline space-evenly 
+PASS Checking place-content: last baseline baseline 
+PASS Checking place-content: last baseline first baseline 
+PASS Checking place-content: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html
new file mode 100644 (file)
index 0000000..90fbb60
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - multiple values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check that setting two values to place-content sets the first one to 'align-content' and the second one to 'justify-content'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
+    values.forEach(function(alignValue) {
+        values.forEach(function(justifyValue) {
+           test(function() {
+               checkPlaceShorhandLonghands("place-content", "align-content", "justify-content", alignValue, justifyValue);
+           }, "Checking place-content: " + alignValue + " " + justifyValue);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003-expected.txt
new file mode 100644 (file)
index 0000000..0be5280
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-content: initial - align-content expanded value 
+PASS Check place-content: initial - justify-content expanded value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html
new file mode 100644 (file)
index 0000000..137094e
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - initial value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check that place-content's 'initial' value expands to 'align-content' and 'justify-content'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+    var div = document.createElement("div");
+    document.body.appendChild(div);
+    div.style["align-content"] = "start";
+    div.style["justify-content"] = "end";
+    div.setAttribute("style", "place-content: initial");
+
+    test(function() {
+        assert_equals(div.style["align-content"],
+            "initial", "place-content specified value for align-content");
+    }, "Check place-content: initial - align-content expanded value");
+
+    test(function() {
+        assert_equals(div.style["justify-content"],
+            "initial", "place-content specified value for justify-content");
+    }, "Check place-content: initial - justify-content expanded value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004-expected.txt
new file mode 100644 (file)
index 0000000..3b31c66
--- /dev/null
@@ -0,0 +1,7 @@
+
+PASS Verify overflow keywords are invalid 
+PASS Verify fallback values are invalid 
+PASS Verify numeric values are invalid 
+PASS Verify 'auto' values are invalid 
+PASS Verify empty declaration is invalid 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html
new file mode 100644 (file)
index 0000000..8a1db87
--- /dev/null
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - invalid values</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check that place-content's invalid values are properly detected at parsing time." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    function checkInvalidValues(value)
+    {
+       checkPlaceShorthandInvalidValues("place-content", "align-content", "justify-content", value);
+    }
+
+    test(function() {
+        checkInvalidValues("center safe")
+        checkInvalidValues("true center")
+    }, "Verify overflow keywords are invalid");
+
+    test(function() {
+        checkInvalidValues("center space-between start")
+    }, "Verify fallback values are invalid");
+
+    test(function() {
+        checkInvalidValues("10px left")
+        checkInvalidValues("right 10%")
+    }, "Verify numeric values are invalid");
+
+    test(function() {
+        checkInvalidValues("auto")
+        checkInvalidValues("auto right")
+        checkInvalidValues("auto auto")
+        checkInvalidValues("left auto")
+    }, "Verify 'auto' values are invalid");
+
+    test(function() {
+        checkInvalidValues("")
+    }, "Verify empty declaration is invalid");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005-expected.txt
new file mode 100644 (file)
index 0000000..447aea9
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-content: inherit - align-content resolved value 
+PASS Check place-content: inherit - justify-content resolved value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html
new file mode 100644 (file)
index 0000000..d683ce4
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - inherit value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check that place-content's 'inherit' value expands to 'align-content' and 'justify-content'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+    #test {
+        place-content: start end;
+    }
+</style>
+<div id="log"></div>
+<div id="test"></div>
+<script>
+    var child = document.createElement("div");
+    document.getElementById("test").appendChild(child);
+    child.setAttribute("style", "place-content: inherit");
+    var style = getComputedStyle(child);
+
+    test(function() {
+        assert_equals(style.getPropertyValue("align-content"),
+            "start", "place-content resolved value for align-content");
+    }, "Check place-content: inherit - align-content resolved value");
+
+    test(function() {
+        assert_equals(style.getPropertyValue("justify-content"),
+           "end", "place-content resolved value for justify-content");
+    }, "Check place-content: inherit - justify-content resolved value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006-expected.txt
new file mode 100644 (file)
index 0000000..c052d06
--- /dev/null
@@ -0,0 +1,242 @@
+
+PASS Checking place-content: normal 
+PASS Checking place-content: normal normal 
+PASS Checking place-content: normal start 
+PASS Checking place-content: normal end 
+PASS Checking place-content: normal left 
+PASS Checking place-content: normal right 
+PASS Checking place-content: normal center 
+PASS Checking place-content: normal flex-start 
+PASS Checking place-content: normal flex-end 
+PASS Checking place-content: normal stretch 
+PASS Checking place-content: normal space-around 
+PASS Checking place-content: normal space-between 
+PASS Checking place-content: normal space-evenly 
+PASS Checking place-content: normal baseline 
+PASS Checking place-content: normal first baseline 
+PASS Checking place-content: normal last baseline 
+PASS Checking place-content: start 
+PASS Checking place-content: start normal 
+PASS Checking place-content: start start 
+PASS Checking place-content: start end 
+PASS Checking place-content: start left 
+PASS Checking place-content: start right 
+PASS Checking place-content: start center 
+PASS Checking place-content: start flex-start 
+PASS Checking place-content: start flex-end 
+PASS Checking place-content: start stretch 
+PASS Checking place-content: start space-around 
+PASS Checking place-content: start space-between 
+PASS Checking place-content: start space-evenly 
+PASS Checking place-content: start baseline 
+PASS Checking place-content: start first baseline 
+PASS Checking place-content: start last baseline 
+PASS Checking place-content: end 
+PASS Checking place-content: end normal 
+PASS Checking place-content: end start 
+PASS Checking place-content: end end 
+PASS Checking place-content: end left 
+PASS Checking place-content: end right 
+PASS Checking place-content: end center 
+PASS Checking place-content: end flex-start 
+PASS Checking place-content: end flex-end 
+PASS Checking place-content: end stretch 
+PASS Checking place-content: end space-around 
+PASS Checking place-content: end space-between 
+PASS Checking place-content: end space-evenly 
+PASS Checking place-content: end baseline 
+PASS Checking place-content: end first baseline 
+PASS Checking place-content: end last baseline 
+PASS Checking place-content: left 
+PASS Checking place-content: left normal 
+PASS Checking place-content: left start 
+PASS Checking place-content: left end 
+PASS Checking place-content: left left 
+PASS Checking place-content: left right 
+PASS Checking place-content: left center 
+PASS Checking place-content: left flex-start 
+PASS Checking place-content: left flex-end 
+PASS Checking place-content: left stretch 
+PASS Checking place-content: left space-around 
+PASS Checking place-content: left space-between 
+PASS Checking place-content: left space-evenly 
+PASS Checking place-content: left baseline 
+PASS Checking place-content: left first baseline 
+PASS Checking place-content: left last baseline 
+PASS Checking place-content: right 
+PASS Checking place-content: right normal 
+PASS Checking place-content: right start 
+PASS Checking place-content: right end 
+PASS Checking place-content: right left 
+PASS Checking place-content: right right 
+PASS Checking place-content: right center 
+PASS Checking place-content: right flex-start 
+PASS Checking place-content: right flex-end 
+PASS Checking place-content: right stretch 
+PASS Checking place-content: right space-around 
+PASS Checking place-content: right space-between 
+PASS Checking place-content: right space-evenly 
+PASS Checking place-content: right baseline 
+PASS Checking place-content: right first baseline 
+PASS Checking place-content: right last baseline 
+PASS Checking place-content: center 
+PASS Checking place-content: center normal 
+PASS Checking place-content: center start 
+PASS Checking place-content: center end 
+PASS Checking place-content: center left 
+PASS Checking place-content: center right 
+PASS Checking place-content: center center 
+PASS Checking place-content: center flex-start 
+PASS Checking place-content: center flex-end 
+PASS Checking place-content: center stretch 
+PASS Checking place-content: center space-around 
+PASS Checking place-content: center space-between 
+PASS Checking place-content: center space-evenly 
+PASS Checking place-content: center baseline 
+PASS Checking place-content: center first baseline 
+PASS Checking place-content: center last baseline 
+PASS Checking place-content: flex-start 
+PASS Checking place-content: flex-start normal 
+PASS Checking place-content: flex-start start 
+PASS Checking place-content: flex-start end 
+PASS Checking place-content: flex-start left 
+PASS Checking place-content: flex-start right 
+PASS Checking place-content: flex-start center 
+PASS Checking place-content: flex-start flex-start 
+PASS Checking place-content: flex-start flex-end 
+PASS Checking place-content: flex-start stretch 
+PASS Checking place-content: flex-start space-around 
+PASS Checking place-content: flex-start space-between 
+PASS Checking place-content: flex-start space-evenly 
+PASS Checking place-content: flex-start baseline 
+PASS Checking place-content: flex-start first baseline 
+PASS Checking place-content: flex-start last baseline 
+PASS Checking place-content: flex-end 
+PASS Checking place-content: flex-end normal 
+PASS Checking place-content: flex-end start 
+PASS Checking place-content: flex-end end 
+PASS Checking place-content: flex-end left 
+PASS Checking place-content: flex-end right 
+PASS Checking place-content: flex-end center 
+PASS Checking place-content: flex-end flex-start 
+PASS Checking place-content: flex-end flex-end 
+PASS Checking place-content: flex-end stretch 
+PASS Checking place-content: flex-end space-around 
+PASS Checking place-content: flex-end space-between 
+PASS Checking place-content: flex-end space-evenly 
+PASS Checking place-content: flex-end baseline 
+PASS Checking place-content: flex-end first baseline 
+PASS Checking place-content: flex-end last baseline 
+PASS Checking place-content: stretch 
+PASS Checking place-content: stretch normal 
+PASS Checking place-content: stretch start 
+PASS Checking place-content: stretch end 
+PASS Checking place-content: stretch left 
+PASS Checking place-content: stretch right 
+PASS Checking place-content: stretch center 
+PASS Checking place-content: stretch flex-start 
+PASS Checking place-content: stretch flex-end 
+PASS Checking place-content: stretch stretch 
+PASS Checking place-content: stretch space-around 
+PASS Checking place-content: stretch space-between 
+PASS Checking place-content: stretch space-evenly 
+PASS Checking place-content: stretch baseline 
+PASS Checking place-content: stretch first baseline 
+PASS Checking place-content: stretch last baseline 
+PASS Checking place-content: space-around 
+PASS Checking place-content: space-around normal 
+PASS Checking place-content: space-around start 
+PASS Checking place-content: space-around end 
+PASS Checking place-content: space-around left 
+PASS Checking place-content: space-around right 
+PASS Checking place-content: space-around center 
+PASS Checking place-content: space-around flex-start 
+PASS Checking place-content: space-around flex-end 
+PASS Checking place-content: space-around stretch 
+PASS Checking place-content: space-around space-around 
+PASS Checking place-content: space-around space-between 
+PASS Checking place-content: space-around space-evenly 
+PASS Checking place-content: space-around baseline 
+PASS Checking place-content: space-around first baseline 
+PASS Checking place-content: space-around last baseline 
+PASS Checking place-content: space-between 
+PASS Checking place-content: space-between normal 
+PASS Checking place-content: space-between start 
+PASS Checking place-content: space-between end 
+PASS Checking place-content: space-between left 
+PASS Checking place-content: space-between right 
+PASS Checking place-content: space-between center 
+PASS Checking place-content: space-between flex-start 
+PASS Checking place-content: space-between flex-end 
+PASS Checking place-content: space-between stretch 
+PASS Checking place-content: space-between space-around 
+PASS Checking place-content: space-between space-between 
+PASS Checking place-content: space-between space-evenly 
+PASS Checking place-content: space-between baseline 
+PASS Checking place-content: space-between first baseline 
+PASS Checking place-content: space-between last baseline 
+PASS Checking place-content: space-evenly 
+PASS Checking place-content: space-evenly normal 
+PASS Checking place-content: space-evenly start 
+PASS Checking place-content: space-evenly end 
+PASS Checking place-content: space-evenly left 
+PASS Checking place-content: space-evenly right 
+PASS Checking place-content: space-evenly center 
+PASS Checking place-content: space-evenly flex-start 
+PASS Checking place-content: space-evenly flex-end 
+PASS Checking place-content: space-evenly stretch 
+PASS Checking place-content: space-evenly space-around 
+PASS Checking place-content: space-evenly space-between 
+PASS Checking place-content: space-evenly space-evenly 
+PASS Checking place-content: space-evenly baseline 
+PASS Checking place-content: space-evenly first baseline 
+PASS Checking place-content: space-evenly last baseline 
+PASS Checking place-content: baseline 
+PASS Checking place-content: baseline normal 
+PASS Checking place-content: baseline start 
+PASS Checking place-content: baseline end 
+PASS Checking place-content: baseline left 
+PASS Checking place-content: baseline right 
+PASS Checking place-content: baseline center 
+PASS Checking place-content: baseline flex-start 
+PASS Checking place-content: baseline flex-end 
+PASS Checking place-content: baseline stretch 
+PASS Checking place-content: baseline space-around 
+PASS Checking place-content: baseline space-between 
+PASS Checking place-content: baseline space-evenly 
+PASS Checking place-content: baseline baseline 
+PASS Checking place-content: baseline first baseline 
+PASS Checking place-content: baseline last baseline 
+PASS Checking place-content: first baseline 
+PASS Checking place-content: first baseline normal 
+PASS Checking place-content: first baseline start 
+PASS Checking place-content: first baseline end 
+PASS Checking place-content: first baseline left 
+PASS Checking place-content: first baseline right 
+PASS Checking place-content: first baseline center 
+PASS Checking place-content: first baseline flex-start 
+PASS Checking place-content: first baseline flex-end 
+PASS Checking place-content: first baseline stretch 
+PASS Checking place-content: first baseline space-around 
+PASS Checking place-content: first baseline space-between 
+PASS Checking place-content: first baseline space-evenly 
+PASS Checking place-content: first baseline baseline 
+PASS Checking place-content: first baseline first baseline 
+PASS Checking place-content: first baseline last baseline 
+PASS Checking place-content: last baseline 
+PASS Checking place-content: last baseline normal 
+PASS Checking place-content: last baseline start 
+PASS Checking place-content: last baseline end 
+PASS Checking place-content: last baseline left 
+PASS Checking place-content: last baseline right 
+PASS Checking place-content: last baseline center 
+PASS Checking place-content: last baseline flex-start 
+PASS Checking place-content: last baseline flex-end 
+PASS Checking place-content: last baseline stretch 
+PASS Checking place-content: last baseline space-around 
+PASS Checking place-content: last baseline space-between 
+PASS Checking place-content: last baseline space-evenly 
+PASS Checking place-content: last baseline baseline 
+PASS Checking place-content: last baseline first baseline 
+PASS Checking place-content: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html
new file mode 100644 (file)
index 0000000..aa99621
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-content shorthand - Shorthand 'specified' and 'resolved' value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#propdef-place-content" />
+<meta name="assert" content="Check the place-content's 'specified' and 'resolved' values serialization." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<div id="test"></div>
+<script>
+    var values = ["normal"].concat(contentPositionValues, distributionValues, baselineValues);
+    values.forEach(function(alignValue) {
+        [""].concat(values).forEach(function(justifyValue) {
+            var value = (alignValue + " " + justifyValue).trim();
+            test(function() {
+                checkPlaceShorhand("place-content", alignValue, justifyValue)
+            }, "Checking place-content: " + value);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/w3c-import.log
new file mode 100644 (file)
index 0000000..83d05da
--- /dev/null
@@ -0,0 +1,22 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-002.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-003.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-004.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-005.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/content-distribution/place-content-shorthand-006.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001-expected.txt
new file mode 100644 (file)
index 0000000..b09befa
--- /dev/null
@@ -0,0 +1,16 @@
+
+PASS Checking place-items: normal 
+PASS Checking place-items: stretch 
+PASS Checking place-items: start 
+PASS Checking place-items: end 
+PASS Checking place-items: self-start 
+PASS Checking place-items: self-end 
+PASS Checking place-items: left 
+PASS Checking place-items: right 
+PASS Checking place-items: center 
+PASS Checking place-items: flex-start 
+PASS Checking place-items: flex-end 
+PASS Checking place-items: baseline 
+PASS Checking place-items: first baseline 
+PASS Checking place-items: last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html
new file mode 100644 (file)
index 0000000..8e1ac7a
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - single values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check that setting a single value to place-items expands to such value set in both 'align-items' and 'justify-items'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(value) {
+        test(function() {
+            checkPlaceShorhandLonghands("place-items", "align-items", "justify-items", value);
+        }, "Checking place-items: " + value);
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002-expected.txt
new file mode 100644 (file)
index 0000000..988d2c3
--- /dev/null
@@ -0,0 +1,212 @@
+
+PASS Checking place-items: normal auto 
+PASS Checking place-items: normal normal 
+PASS Checking place-items: normal stretch 
+PASS Checking place-items: normal start 
+PASS Checking place-items: normal end 
+PASS Checking place-items: normal self-start 
+PASS Checking place-items: normal self-end 
+PASS Checking place-items: normal left 
+PASS Checking place-items: normal right 
+PASS Checking place-items: normal center 
+PASS Checking place-items: normal flex-start 
+PASS Checking place-items: normal flex-end 
+PASS Checking place-items: normal baseline 
+PASS Checking place-items: normal first baseline 
+PASS Checking place-items: normal last baseline 
+PASS Checking place-items: stretch auto 
+PASS Checking place-items: stretch normal 
+PASS Checking place-items: stretch stretch 
+PASS Checking place-items: stretch start 
+PASS Checking place-items: stretch end 
+PASS Checking place-items: stretch self-start 
+PASS Checking place-items: stretch self-end 
+PASS Checking place-items: stretch left 
+PASS Checking place-items: stretch right 
+PASS Checking place-items: stretch center 
+PASS Checking place-items: stretch flex-start 
+PASS Checking place-items: stretch flex-end 
+PASS Checking place-items: stretch baseline 
+PASS Checking place-items: stretch first baseline 
+PASS Checking place-items: stretch last baseline 
+PASS Checking place-items: start auto 
+PASS Checking place-items: start normal 
+PASS Checking place-items: start stretch 
+PASS Checking place-items: start start 
+PASS Checking place-items: start end 
+PASS Checking place-items: start self-start 
+PASS Checking place-items: start self-end 
+PASS Checking place-items: start left 
+PASS Checking place-items: start right 
+PASS Checking place-items: start center 
+PASS Checking place-items: start flex-start 
+PASS Checking place-items: start flex-end 
+PASS Checking place-items: start baseline 
+PASS Checking place-items: start first baseline 
+PASS Checking place-items: start last baseline 
+PASS Checking place-items: end auto 
+PASS Checking place-items: end normal 
+PASS Checking place-items: end stretch 
+PASS Checking place-items: end start 
+PASS Checking place-items: end end 
+PASS Checking place-items: end self-start 
+PASS Checking place-items: end self-end 
+PASS Checking place-items: end left 
+PASS Checking place-items: end right 
+PASS Checking place-items: end center 
+PASS Checking place-items: end flex-start 
+PASS Checking place-items: end flex-end 
+PASS Checking place-items: end baseline 
+PASS Checking place-items: end first baseline 
+PASS Checking place-items: end last baseline 
+PASS Checking place-items: self-start auto 
+PASS Checking place-items: self-start normal 
+PASS Checking place-items: self-start stretch 
+PASS Checking place-items: self-start start 
+PASS Checking place-items: self-start end 
+PASS Checking place-items: self-start self-start 
+PASS Checking place-items: self-start self-end 
+PASS Checking place-items: self-start left 
+PASS Checking place-items: self-start right 
+PASS Checking place-items: self-start center 
+PASS Checking place-items: self-start flex-start 
+PASS Checking place-items: self-start flex-end 
+PASS Checking place-items: self-start baseline 
+PASS Checking place-items: self-start first baseline 
+PASS Checking place-items: self-start last baseline 
+PASS Checking place-items: self-end auto 
+PASS Checking place-items: self-end normal 
+PASS Checking place-items: self-end stretch 
+PASS Checking place-items: self-end start 
+PASS Checking place-items: self-end end 
+PASS Checking place-items: self-end self-start 
+PASS Checking place-items: self-end self-end 
+PASS Checking place-items: self-end left 
+PASS Checking place-items: self-end right 
+PASS Checking place-items: self-end center 
+PASS Checking place-items: self-end flex-start 
+PASS Checking place-items: self-end flex-end 
+PASS Checking place-items: self-end baseline 
+PASS Checking place-items: self-end first baseline 
+PASS Checking place-items: self-end last baseline 
+PASS Checking place-items: left auto 
+PASS Checking place-items: left normal 
+PASS Checking place-items: left stretch 
+PASS Checking place-items: left start 
+PASS Checking place-items: left end 
+PASS Checking place-items: left self-start 
+PASS Checking place-items: left self-end 
+PASS Checking place-items: left left 
+PASS Checking place-items: left right 
+PASS Checking place-items: left center 
+PASS Checking place-items: left flex-start 
+PASS Checking place-items: left flex-end 
+PASS Checking place-items: left baseline 
+PASS Checking place-items: left first baseline 
+PASS Checking place-items: left last baseline 
+PASS Checking place-items: right auto 
+PASS Checking place-items: right normal 
+PASS Checking place-items: right stretch 
+PASS Checking place-items: right start 
+PASS Checking place-items: right end 
+PASS Checking place-items: right self-start 
+PASS Checking place-items: right self-end 
+PASS Checking place-items: right left 
+PASS Checking place-items: right right 
+PASS Checking place-items: right center 
+PASS Checking place-items: right flex-start 
+PASS Checking place-items: right flex-end 
+PASS Checking place-items: right baseline 
+PASS Checking place-items: right first baseline 
+PASS Checking place-items: right last baseline 
+PASS Checking place-items: center auto 
+PASS Checking place-items: center normal 
+PASS Checking place-items: center stretch 
+PASS Checking place-items: center start 
+PASS Checking place-items: center end 
+PASS Checking place-items: center self-start 
+PASS Checking place-items: center self-end 
+PASS Checking place-items: center left 
+PASS Checking place-items: center right 
+PASS Checking place-items: center center 
+PASS Checking place-items: center flex-start 
+PASS Checking place-items: center flex-end 
+PASS Checking place-items: center baseline 
+PASS Checking place-items: center first baseline 
+PASS Checking place-items: center last baseline 
+PASS Checking place-items: flex-start auto 
+PASS Checking place-items: flex-start normal 
+PASS Checking place-items: flex-start stretch 
+PASS Checking place-items: flex-start start 
+PASS Checking place-items: flex-start end 
+PASS Checking place-items: flex-start self-start 
+PASS Checking place-items: flex-start self-end 
+PASS Checking place-items: flex-start left 
+PASS Checking place-items: flex-start right 
+PASS Checking place-items: flex-start center 
+PASS Checking place-items: flex-start flex-start 
+PASS Checking place-items: flex-start flex-end 
+PASS Checking place-items: flex-start baseline 
+PASS Checking place-items: flex-start first baseline 
+PASS Checking place-items: flex-start last baseline 
+PASS Checking place-items: flex-end auto 
+PASS Checking place-items: flex-end normal 
+PASS Checking place-items: flex-end stretch 
+PASS Checking place-items: flex-end start 
+PASS Checking place-items: flex-end end 
+PASS Checking place-items: flex-end self-start 
+PASS Checking place-items: flex-end self-end 
+PASS Checking place-items: flex-end left 
+PASS Checking place-items: flex-end right 
+PASS Checking place-items: flex-end center 
+PASS Checking place-items: flex-end flex-start 
+PASS Checking place-items: flex-end flex-end 
+PASS Checking place-items: flex-end baseline 
+PASS Checking place-items: flex-end first baseline 
+PASS Checking place-items: flex-end last baseline 
+PASS Checking place-items: baseline auto 
+PASS Checking place-items: baseline normal 
+PASS Checking place-items: baseline stretch 
+PASS Checking place-items: baseline start 
+PASS Checking place-items: baseline end 
+PASS Checking place-items: baseline self-start 
+PASS Checking place-items: baseline self-end 
+PASS Checking place-items: baseline left 
+PASS Checking place-items: baseline right 
+PASS Checking place-items: baseline center 
+PASS Checking place-items: baseline flex-start 
+PASS Checking place-items: baseline flex-end 
+PASS Checking place-items: baseline baseline 
+PASS Checking place-items: baseline first baseline 
+PASS Checking place-items: baseline last baseline 
+PASS Checking place-items: first baseline auto 
+PASS Checking place-items: first baseline normal 
+PASS Checking place-items: first baseline stretch 
+PASS Checking place-items: first baseline start 
+PASS Checking place-items: first baseline end 
+PASS Checking place-items: first baseline self-start 
+PASS Checking place-items: first baseline self-end 
+PASS Checking place-items: first baseline left 
+PASS Checking place-items: first baseline right 
+PASS Checking place-items: first baseline center 
+PASS Checking place-items: first baseline flex-start 
+PASS Checking place-items: first baseline flex-end 
+PASS Checking place-items: first baseline baseline 
+PASS Checking place-items: first baseline first baseline 
+PASS Checking place-items: first baseline last baseline 
+PASS Checking place-items: last baseline auto 
+PASS Checking place-items: last baseline normal 
+PASS Checking place-items: last baseline stretch 
+PASS Checking place-items: last baseline start 
+PASS Checking place-items: last baseline end 
+PASS Checking place-items: last baseline self-start 
+PASS Checking place-items: last baseline self-end 
+PASS Checking place-items: last baseline left 
+PASS Checking place-items: last baseline right 
+PASS Checking place-items: last baseline center 
+PASS Checking place-items: last baseline flex-start 
+PASS Checking place-items: last baseline flex-end 
+PASS Checking place-items: last baseline baseline 
+PASS Checking place-items: last baseline first baseline 
+PASS Checking place-items: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html
new file mode 100644 (file)
index 0000000..1608b70
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - multiple values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check that setting two values to place-items sets the first one to 'align-items' and the second one to 'justify-items'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(alignValue) {
+       ["auto"].concat(values).forEach(function(justifyValue) {
+           test(function() {
+               checkPlaceShorhandLonghands("place-items", "align-items", "justify-items", alignValue, justifyValue);
+           }, "Checking place-items: " + alignValue + " " + justifyValue);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003-expected.txt
new file mode 100644 (file)
index 0000000..87433f3
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-items: initial - align-items expanded value 
+PASS Check place-items: initial - justify-items expanded value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html
new file mode 100644 (file)
index 0000000..00ef149
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - initial value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check that place-items's 'initial' value expands to 'align-items' and 'justify-items'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+    var div = document.createElement("div");
+    document.body.appendChild(div);
+    div.style["align-items"] = "start";
+    div.style["justify-items"] = "end";
+    div.setAttribute("style", "place-items: initial");
+
+    test(function() {
+        assert_equals(div.style["align-items"],
+            "initial", "place-items expanded value for align-items");
+    }, "Check place-items: initial - align-items expanded value");
+
+    test(function() {
+        assert_equals(div.style["justify-items"],
+            "initial", "place-items expanded value for justify-items");
+    }, "Check place-items: initial - justify-items expanded value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004-expected.txt
new file mode 100644 (file)
index 0000000..9b5d5eb
--- /dev/null
@@ -0,0 +1,7 @@
+
+PASS Verify overflow keywords are invalid 
+PASS Verify fallback values are invalid 
+PASS Verify numeric values are invalid 
+PASS Verify 'auto' value is invalid as first longhand value. 
+PASS Verify empty declaration is invalid 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html
new file mode 100644 (file)
index 0000000..07f23ec
--- /dev/null
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - invalid values</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check that place-items's invalid values are properly detected at parsing time." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    function checkInvalidValues(value)
+    {
+       checkPlaceShorthandInvalidValues("place-items", "align-items", "justify-items", value);
+    }
+
+    test(function() {
+        checkInvalidValues("center safe")
+        checkInvalidValues("true center")
+    }, "Verify overflow keywords are invalid");
+
+    test(function() {
+        checkInvalidValues("center space-between start")
+    }, "Verify fallback values are invalid");
+
+    test(function() {
+        checkInvalidValues("10px left")
+        checkInvalidValues("right 10%")
+    }, "Verify numeric values are invalid");
+
+    test(function() {
+       checkInvalidValues("auto")
+       checkInvalidValues("auto right")
+       checkInvalidValues("auto auto")
+    }, "Verify 'auto' value is invalid as first longhand value.");
+
+    test(function() {
+        checkInvalidValues("")
+    }, "Verify empty declaration is invalid");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005-expected.txt
new file mode 100644 (file)
index 0000000..388fa1c
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-items: inherit - align-items resolved value 
+PASS Check place-items: inherit - justify-items resolved value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html
new file mode 100644 (file)
index 0000000..b4f47c7
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - inherit value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check that place-items's 'inherit' value expands to 'align-items' and 'justify-items'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+    #test {
+        place-items: start end;
+    }
+</style>
+<div id="log"></div>
+<div id="test"></div>
+<script>
+    var child = document.createElement("div");
+    document.getElementById("test").appendChild(child);
+    child.setAttribute("style", "place-items: inherit");
+    var style = getComputedStyle(child);
+
+    test(function() {
+        assert_equals(style.getPropertyValue("align-items"),
+            "start", "place-items resolved value for align-items");
+    }, "Check place-items: inherit - align-items resolved value");
+
+    test(function() {
+        assert_equals(style.getPropertyValue("justify-items"),
+           "end", "place-items resolved value for justify-items");
+    }, "Check place-items: inherit - justify-items resolved value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006-expected.txt
new file mode 100644 (file)
index 0000000..9a8d308
--- /dev/null
@@ -0,0 +1,212 @@
+
+PASS Checking place-items: normal 
+PASS Checking place-items: normal normal 
+PASS Checking place-items: normal stretch 
+PASS Checking place-items: normal start 
+PASS Checking place-items: normal end 
+PASS Checking place-items: normal self-start 
+PASS Checking place-items: normal self-end 
+PASS Checking place-items: normal left 
+PASS Checking place-items: normal right 
+PASS Checking place-items: normal center 
+PASS Checking place-items: normal flex-start 
+PASS Checking place-items: normal flex-end 
+PASS Checking place-items: normal baseline 
+PASS Checking place-items: normal first baseline 
+PASS Checking place-items: normal last baseline 
+PASS Checking place-items: stretch 
+PASS Checking place-items: stretch normal 
+PASS Checking place-items: stretch stretch 
+PASS Checking place-items: stretch start 
+PASS Checking place-items: stretch end 
+PASS Checking place-items: stretch self-start 
+PASS Checking place-items: stretch self-end 
+PASS Checking place-items: stretch left 
+PASS Checking place-items: stretch right 
+PASS Checking place-items: stretch center 
+PASS Checking place-items: stretch flex-start 
+PASS Checking place-items: stretch flex-end 
+PASS Checking place-items: stretch baseline 
+PASS Checking place-items: stretch first baseline 
+PASS Checking place-items: stretch last baseline 
+PASS Checking place-items: start 
+PASS Checking place-items: start normal 
+PASS Checking place-items: start stretch 
+PASS Checking place-items: start start 
+PASS Checking place-items: start end 
+PASS Checking place-items: start self-start 
+PASS Checking place-items: start self-end 
+PASS Checking place-items: start left 
+PASS Checking place-items: start right 
+PASS Checking place-items: start center 
+PASS Checking place-items: start flex-start 
+PASS Checking place-items: start flex-end 
+PASS Checking place-items: start baseline 
+PASS Checking place-items: start first baseline 
+PASS Checking place-items: start last baseline 
+PASS Checking place-items: end 
+PASS Checking place-items: end normal 
+PASS Checking place-items: end stretch 
+PASS Checking place-items: end start 
+PASS Checking place-items: end end 
+PASS Checking place-items: end self-start 
+PASS Checking place-items: end self-end 
+PASS Checking place-items: end left 
+PASS Checking place-items: end right 
+PASS Checking place-items: end center 
+PASS Checking place-items: end flex-start 
+PASS Checking place-items: end flex-end 
+PASS Checking place-items: end baseline 
+PASS Checking place-items: end first baseline 
+PASS Checking place-items: end last baseline 
+PASS Checking place-items: self-start 
+PASS Checking place-items: self-start normal 
+PASS Checking place-items: self-start stretch 
+PASS Checking place-items: self-start start 
+PASS Checking place-items: self-start end 
+PASS Checking place-items: self-start self-start 
+PASS Checking place-items: self-start self-end 
+PASS Checking place-items: self-start left 
+PASS Checking place-items: self-start right 
+PASS Checking place-items: self-start center 
+PASS Checking place-items: self-start flex-start 
+PASS Checking place-items: self-start flex-end 
+PASS Checking place-items: self-start baseline 
+PASS Checking place-items: self-start first baseline 
+PASS Checking place-items: self-start last baseline 
+PASS Checking place-items: self-end 
+PASS Checking place-items: self-end normal 
+PASS Checking place-items: self-end stretch 
+PASS Checking place-items: self-end start 
+PASS Checking place-items: self-end end 
+PASS Checking place-items: self-end self-start 
+PASS Checking place-items: self-end self-end 
+PASS Checking place-items: self-end left 
+PASS Checking place-items: self-end right 
+PASS Checking place-items: self-end center 
+PASS Checking place-items: self-end flex-start 
+PASS Checking place-items: self-end flex-end 
+PASS Checking place-items: self-end baseline 
+PASS Checking place-items: self-end first baseline 
+PASS Checking place-items: self-end last baseline 
+PASS Checking place-items: left 
+PASS Checking place-items: left normal 
+PASS Checking place-items: left stretch 
+PASS Checking place-items: left start 
+PASS Checking place-items: left end 
+PASS Checking place-items: left self-start 
+PASS Checking place-items: left self-end 
+PASS Checking place-items: left left 
+PASS Checking place-items: left right 
+PASS Checking place-items: left center 
+PASS Checking place-items: left flex-start 
+PASS Checking place-items: left flex-end 
+PASS Checking place-items: left baseline 
+PASS Checking place-items: left first baseline 
+PASS Checking place-items: left last baseline 
+PASS Checking place-items: right 
+PASS Checking place-items: right normal 
+PASS Checking place-items: right stretch 
+PASS Checking place-items: right start 
+PASS Checking place-items: right end 
+PASS Checking place-items: right self-start 
+PASS Checking place-items: right self-end 
+PASS Checking place-items: right left 
+PASS Checking place-items: right right 
+PASS Checking place-items: right center 
+PASS Checking place-items: right flex-start 
+PASS Checking place-items: right flex-end 
+PASS Checking place-items: right baseline 
+PASS Checking place-items: right first baseline 
+PASS Checking place-items: right last baseline 
+PASS Checking place-items: center 
+PASS Checking place-items: center normal 
+PASS Checking place-items: center stretch 
+PASS Checking place-items: center start 
+PASS Checking place-items: center end 
+PASS Checking place-items: center self-start 
+PASS Checking place-items: center self-end 
+PASS Checking place-items: center left 
+PASS Checking place-items: center right 
+PASS Checking place-items: center center 
+PASS Checking place-items: center flex-start 
+PASS Checking place-items: center flex-end 
+PASS Checking place-items: center baseline 
+PASS Checking place-items: center first baseline 
+PASS Checking place-items: center last baseline 
+PASS Checking place-items: flex-start 
+PASS Checking place-items: flex-start normal 
+PASS Checking place-items: flex-start stretch 
+PASS Checking place-items: flex-start start 
+PASS Checking place-items: flex-start end 
+PASS Checking place-items: flex-start self-start 
+PASS Checking place-items: flex-start self-end 
+PASS Checking place-items: flex-start left 
+PASS Checking place-items: flex-start right 
+PASS Checking place-items: flex-start center 
+PASS Checking place-items: flex-start flex-start 
+PASS Checking place-items: flex-start flex-end 
+PASS Checking place-items: flex-start baseline 
+PASS Checking place-items: flex-start first baseline 
+PASS Checking place-items: flex-start last baseline 
+PASS Checking place-items: flex-end 
+PASS Checking place-items: flex-end normal 
+PASS Checking place-items: flex-end stretch 
+PASS Checking place-items: flex-end start 
+PASS Checking place-items: flex-end end 
+PASS Checking place-items: flex-end self-start 
+PASS Checking place-items: flex-end self-end 
+PASS Checking place-items: flex-end left 
+PASS Checking place-items: flex-end right 
+PASS Checking place-items: flex-end center 
+PASS Checking place-items: flex-end flex-start 
+PASS Checking place-items: flex-end flex-end 
+PASS Checking place-items: flex-end baseline 
+PASS Checking place-items: flex-end first baseline 
+PASS Checking place-items: flex-end last baseline 
+PASS Checking place-items: baseline 
+PASS Checking place-items: baseline normal 
+PASS Checking place-items: baseline stretch 
+PASS Checking place-items: baseline start 
+PASS Checking place-items: baseline end 
+PASS Checking place-items: baseline self-start 
+PASS Checking place-items: baseline self-end 
+PASS Checking place-items: baseline left 
+PASS Checking place-items: baseline right 
+PASS Checking place-items: baseline center 
+PASS Checking place-items: baseline flex-start 
+PASS Checking place-items: baseline flex-end 
+PASS Checking place-items: baseline baseline 
+PASS Checking place-items: baseline first baseline 
+PASS Checking place-items: baseline last baseline 
+PASS Checking place-items: first baseline 
+PASS Checking place-items: first baseline normal 
+PASS Checking place-items: first baseline stretch 
+PASS Checking place-items: first baseline start 
+PASS Checking place-items: first baseline end 
+PASS Checking place-items: first baseline self-start 
+PASS Checking place-items: first baseline self-end 
+PASS Checking place-items: first baseline left 
+PASS Checking place-items: first baseline right 
+PASS Checking place-items: first baseline center 
+PASS Checking place-items: first baseline flex-start 
+PASS Checking place-items: first baseline flex-end 
+PASS Checking place-items: first baseline baseline 
+PASS Checking place-items: first baseline first baseline 
+PASS Checking place-items: first baseline last baseline 
+PASS Checking place-items: last baseline 
+PASS Checking place-items: last baseline normal 
+PASS Checking place-items: last baseline stretch 
+PASS Checking place-items: last baseline start 
+PASS Checking place-items: last baseline end 
+PASS Checking place-items: last baseline self-start 
+PASS Checking place-items: last baseline self-end 
+PASS Checking place-items: last baseline left 
+PASS Checking place-items: last baseline right 
+PASS Checking place-items: last baseline center 
+PASS Checking place-items: last baseline flex-start 
+PASS Checking place-items: last baseline flex-end 
+PASS Checking place-items: last baseline baseline 
+PASS Checking place-items: last baseline first baseline 
+PASS Checking place-items: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html
new file mode 100644 (file)
index 0000000..4af3ad5
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-items shorthand - Shorthand 'specified' and 'resolved' value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-items-property" />
+<meta name="assert" content="Check the place-items's 'specified' and 'resolved' values serialization." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(alignValue) {
+        [""].concat(values).forEach(function(justifyValue) {
+            var value = (alignValue + " " + justifyValue).trim();
+            test(function() {
+                checkPlaceShorhand("place-items", alignValue, justifyValue)
+            }, "Checking place-items: " + value);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/w3c-import.log
new file mode 100644 (file)
index 0000000..b0ecfa4
--- /dev/null
@@ -0,0 +1,22 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-002.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-003.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-004.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-005.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/default-alignment/place-items-shorthand-006.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht
new file mode 100644 (file)
index 0000000..05a1379
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+  <title>CSS Reftest Reference</title>
+  <link rel="author" title="GĂ©rard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
+  <style type="text/css"><![CDATA[
+  div
+  {
+  background-color: green;
+  height: 100px;
+  width: 100px;
+  }
+  ]]></style>
+ </head>
+ <body>
+  <p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+  <div></div>
+ </body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html
new file mode 100644 (file)
index 0000000..74cf543
--- /dev/null
@@ -0,0 +1,36 @@
+<!doctype html>
+<html lang=en>
+  <meta charset=utf-8>
+  <title>CSS Box Alignment: space-evenly &amp; flexbox with single item</title>
+  <link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net">
+  <meta name=flags content="">
+  <meta name=assert content="justify-content: space-evenly with flexbox and a single item must center it">
+  <link rel="match" href="../../reference/ref-filled-green-100px-square.xht">
+  <link rel=help href="https://drafts.csswg.org/css-align/#distribution-values">
+  <link rel=help href="https://drafts.csswg.org/css-align/#fallback-alignment">
+  <link rel=help href="https://drafts.csswg.org/css-flexbox-1/#justify-content-property">
+<style>
+.red {
+       position: absolute;
+       z-index: -1;
+       width: 100px;
+       height: 100px;
+       background: red;
+}
+.container {
+       margin-left: -100px;
+       width: 300px;
+       display: flex;
+       justify-content: space-evenly;
+}
+.container div {
+       width: 100px;
+       height: 100px;
+       background: green;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div class=red></div>
+<div class=container><div></div></div>
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/w3c-import.log
new file mode 100644 (file)
index 0000000..2d07425
--- /dev/null
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001-expected.xht
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/distribution-values/space-evenly-001.html
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js
new file mode 100644 (file)
index 0000000..9084624
--- /dev/null
@@ -0,0 +1,54 @@
+var selfPositionValues = [ "start", "end", "self-start", "self-end", "left", "right", "center", "flex-start", "flex-end"];
+var contentPositionValues = [ "start", "end", "left", "right", "center", "flex-start", "flex-end"];
+var distributionValues = [ "stretch", "space-around", "space-between", "space-evenly"];
+var baselineValues = [ "baseline", "first baseline", "last baseline"];
+
+function checkPlaceShorhand(shorthand, alignValue, justifyValue)
+{
+    var div = document.createElement("div");
+    var specifiedValue = (alignValue + " " + justifyValue).trim();
+    div.style[shorthand] = specifiedValue;
+    document.body.appendChild(div);
+
+    if (alignValue === justifyValue)
+        specifiedValue = alignValue;
+
+    var resolvedValue = getComputedStyle(div).getPropertyValue(shorthand);
+    if (alignValue === "first baseline")
+        alignValue = "baseline";
+    if (justifyValue === "first baseline")
+        justifyValue = "baseline";
+    if (justifyValue === "")
+        justifyValue = alignValue;
+    var expectedResolvedValue = (alignValue + " " + justifyValue).trim()
+
+    assert_equals(div.style[shorthand], specifiedValue, shorthand + " specified value");
+    // FIXME: We need https://github.com/w3c/csswg-drafts/issues/1041 to clarify which
+    // value is expected for the shorthand's 'resolved value".
+    assert_in_array(resolvedValue, ["", expectedResolvedValue], shorthand + " resolved value");
+}
+
+function checkPlaceShorhandLonghands(shorthand, alignLonghand, justifyLonghand, alignValue, justifyValue = "")
+{
+    var div = document.createElement("div");
+    div.setAttribute("style", shorthand + ": " + alignValue + " " + justifyValue);
+    document.body.appendChild(div);
+    if (justifyValue === "")
+        justifyValue = alignValue;
+    assert_equals(div.style[alignLonghand],
+                  alignValue, alignLonghand + " expanded value");
+    assert_equals(div.style[justifyLonghand],
+                  justifyValue, justifyLonghand + " expanded value");
+}
+
+function checkPlaceShorthandInvalidValues(shorthand, alignLonghand, justifyLonghand, value)
+{
+    var div = document.createElement("div");
+    var css = alignLonghand + ": start; " + justifyLonghand + ": end;" + shorthand + ": " + value;
+    div.setAttribute("style", css);
+    document.body.appendChild(div);
+    assert_equals(div.style[alignLonghand],
+                  "start", alignLonghand + " expanded value");
+    assert_equals(div.style[justifyLonghand],
+                  "end", justifyLonghand + " expanded value");
+}
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/w3c-import.log
new file mode 100644 (file)
index 0000000..eab85d2
--- /dev/null
@@ -0,0 +1,17 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/resources/alignment-parsing-utils.js
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001-expected.txt
new file mode 100644 (file)
index 0000000..d75ef15
--- /dev/null
@@ -0,0 +1,17 @@
+
+PASS Checking place-self: auto 
+PASS Checking place-self: normal 
+PASS Checking place-self: stretch 
+PASS Checking place-self: start 
+PASS Checking place-self: end 
+PASS Checking place-self: self-start 
+PASS Checking place-self: self-end 
+PASS Checking place-self: left 
+PASS Checking place-self: right 
+PASS Checking place-self: center 
+PASS Checking place-self: flex-start 
+PASS Checking place-self: flex-end 
+PASS Checking place-self: baseline 
+PASS Checking place-self: first baseline 
+PASS Checking place-self: last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html
new file mode 100644 (file)
index 0000000..ba2355e
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - single values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check that setting a single value to place-self expands to such value set in both 'align-self' and 'justify-self'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(value) {
+        test(function() {
+            checkPlaceShorhandLonghands("place-self", "align-self", "justify-self", value);
+        }, "Checking place-self: " + value);
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002-expected.txt
new file mode 100644 (file)
index 0000000..73813ed
--- /dev/null
@@ -0,0 +1,227 @@
+
+PASS Checking place-self: auto auto 
+PASS Checking place-self: auto normal 
+PASS Checking place-self: auto stretch 
+PASS Checking place-self: auto start 
+PASS Checking place-self: auto end 
+PASS Checking place-self: auto self-start 
+PASS Checking place-self: auto self-end 
+PASS Checking place-self: auto left 
+PASS Checking place-self: auto right 
+PASS Checking place-self: auto center 
+PASS Checking place-self: auto flex-start 
+PASS Checking place-self: auto flex-end 
+PASS Checking place-self: auto baseline 
+PASS Checking place-self: auto first baseline 
+PASS Checking place-self: auto last baseline 
+PASS Checking place-self: normal auto 
+PASS Checking place-self: normal normal 
+PASS Checking place-self: normal stretch 
+PASS Checking place-self: normal start 
+PASS Checking place-self: normal end 
+PASS Checking place-self: normal self-start 
+PASS Checking place-self: normal self-end 
+PASS Checking place-self: normal left 
+PASS Checking place-self: normal right 
+PASS Checking place-self: normal center 
+PASS Checking place-self: normal flex-start 
+PASS Checking place-self: normal flex-end 
+PASS Checking place-self: normal baseline 
+PASS Checking place-self: normal first baseline 
+PASS Checking place-self: normal last baseline 
+PASS Checking place-self: stretch auto 
+PASS Checking place-self: stretch normal 
+PASS Checking place-self: stretch stretch 
+PASS Checking place-self: stretch start 
+PASS Checking place-self: stretch end 
+PASS Checking place-self: stretch self-start 
+PASS Checking place-self: stretch self-end 
+PASS Checking place-self: stretch left 
+PASS Checking place-self: stretch right 
+PASS Checking place-self: stretch center 
+PASS Checking place-self: stretch flex-start 
+PASS Checking place-self: stretch flex-end 
+PASS Checking place-self: stretch baseline 
+PASS Checking place-self: stretch first baseline 
+PASS Checking place-self: stretch last baseline 
+PASS Checking place-self: start auto 
+PASS Checking place-self: start normal 
+PASS Checking place-self: start stretch 
+PASS Checking place-self: start start 
+PASS Checking place-self: start end 
+PASS Checking place-self: start self-start 
+PASS Checking place-self: start self-end 
+PASS Checking place-self: start left 
+PASS Checking place-self: start right 
+PASS Checking place-self: start center 
+PASS Checking place-self: start flex-start 
+PASS Checking place-self: start flex-end 
+PASS Checking place-self: start baseline 
+PASS Checking place-self: start first baseline 
+PASS Checking place-self: start last baseline 
+PASS Checking place-self: end auto 
+PASS Checking place-self: end normal 
+PASS Checking place-self: end stretch 
+PASS Checking place-self: end start 
+PASS Checking place-self: end end 
+PASS Checking place-self: end self-start 
+PASS Checking place-self: end self-end 
+PASS Checking place-self: end left 
+PASS Checking place-self: end right 
+PASS Checking place-self: end center 
+PASS Checking place-self: end flex-start 
+PASS Checking place-self: end flex-end 
+PASS Checking place-self: end baseline 
+PASS Checking place-self: end first baseline 
+PASS Checking place-self: end last baseline 
+PASS Checking place-self: self-start auto 
+PASS Checking place-self: self-start normal 
+PASS Checking place-self: self-start stretch 
+PASS Checking place-self: self-start start 
+PASS Checking place-self: self-start end 
+PASS Checking place-self: self-start self-start 
+PASS Checking place-self: self-start self-end 
+PASS Checking place-self: self-start left 
+PASS Checking place-self: self-start right 
+PASS Checking place-self: self-start center 
+PASS Checking place-self: self-start flex-start 
+PASS Checking place-self: self-start flex-end 
+PASS Checking place-self: self-start baseline 
+PASS Checking place-self: self-start first baseline 
+PASS Checking place-self: self-start last baseline 
+PASS Checking place-self: self-end auto 
+PASS Checking place-self: self-end normal 
+PASS Checking place-self: self-end stretch 
+PASS Checking place-self: self-end start 
+PASS Checking place-self: self-end end 
+PASS Checking place-self: self-end self-start 
+PASS Checking place-self: self-end self-end 
+PASS Checking place-self: self-end left 
+PASS Checking place-self: self-end right 
+PASS Checking place-self: self-end center 
+PASS Checking place-self: self-end flex-start 
+PASS Checking place-self: self-end flex-end 
+PASS Checking place-self: self-end baseline 
+PASS Checking place-self: self-end first baseline 
+PASS Checking place-self: self-end last baseline 
+PASS Checking place-self: left auto 
+PASS Checking place-self: left normal 
+PASS Checking place-self: left stretch 
+PASS Checking place-self: left start 
+PASS Checking place-self: left end 
+PASS Checking place-self: left self-start 
+PASS Checking place-self: left self-end 
+PASS Checking place-self: left left 
+PASS Checking place-self: left right 
+PASS Checking place-self: left center 
+PASS Checking place-self: left flex-start 
+PASS Checking place-self: left flex-end 
+PASS Checking place-self: left baseline 
+PASS Checking place-self: left first baseline 
+PASS Checking place-self: left last baseline 
+PASS Checking place-self: right auto 
+PASS Checking place-self: right normal 
+PASS Checking place-self: right stretch 
+PASS Checking place-self: right start 
+PASS Checking place-self: right end 
+PASS Checking place-self: right self-start 
+PASS Checking place-self: right self-end 
+PASS Checking place-self: right left 
+PASS Checking place-self: right right 
+PASS Checking place-self: right center 
+PASS Checking place-self: right flex-start 
+PASS Checking place-self: right flex-end 
+PASS Checking place-self: right baseline 
+PASS Checking place-self: right first baseline 
+PASS Checking place-self: right last baseline 
+PASS Checking place-self: center auto 
+PASS Checking place-self: center normal 
+PASS Checking place-self: center stretch 
+PASS Checking place-self: center start 
+PASS Checking place-self: center end 
+PASS Checking place-self: center self-start 
+PASS Checking place-self: center self-end 
+PASS Checking place-self: center left 
+PASS Checking place-self: center right 
+PASS Checking place-self: center center 
+PASS Checking place-self: center flex-start 
+PASS Checking place-self: center flex-end 
+PASS Checking place-self: center baseline 
+PASS Checking place-self: center first baseline 
+PASS Checking place-self: center last baseline 
+PASS Checking place-self: flex-start auto 
+PASS Checking place-self: flex-start normal 
+PASS Checking place-self: flex-start stretch 
+PASS Checking place-self: flex-start start 
+PASS Checking place-self: flex-start end 
+PASS Checking place-self: flex-start self-start 
+PASS Checking place-self: flex-start self-end 
+PASS Checking place-self: flex-start left 
+PASS Checking place-self: flex-start right 
+PASS Checking place-self: flex-start center 
+PASS Checking place-self: flex-start flex-start 
+PASS Checking place-self: flex-start flex-end 
+PASS Checking place-self: flex-start baseline 
+PASS Checking place-self: flex-start first baseline 
+PASS Checking place-self: flex-start last baseline 
+PASS Checking place-self: flex-end auto 
+PASS Checking place-self: flex-end normal 
+PASS Checking place-self: flex-end stretch 
+PASS Checking place-self: flex-end start 
+PASS Checking place-self: flex-end end 
+PASS Checking place-self: flex-end self-start 
+PASS Checking place-self: flex-end self-end 
+PASS Checking place-self: flex-end left 
+PASS Checking place-self: flex-end right 
+PASS Checking place-self: flex-end center 
+PASS Checking place-self: flex-end flex-start 
+PASS Checking place-self: flex-end flex-end 
+PASS Checking place-self: flex-end baseline 
+PASS Checking place-self: flex-end first baseline 
+PASS Checking place-self: flex-end last baseline 
+PASS Checking place-self: baseline auto 
+PASS Checking place-self: baseline normal 
+PASS Checking place-self: baseline stretch 
+PASS Checking place-self: baseline start 
+PASS Checking place-self: baseline end 
+PASS Checking place-self: baseline self-start 
+PASS Checking place-self: baseline self-end 
+PASS Checking place-self: baseline left 
+PASS Checking place-self: baseline right 
+PASS Checking place-self: baseline center 
+PASS Checking place-self: baseline flex-start 
+PASS Checking place-self: baseline flex-end 
+PASS Checking place-self: baseline baseline 
+PASS Checking place-self: baseline first baseline 
+PASS Checking place-self: baseline last baseline 
+PASS Checking place-self: first baseline auto 
+PASS Checking place-self: first baseline normal 
+PASS Checking place-self: first baseline stretch 
+PASS Checking place-self: first baseline start 
+PASS Checking place-self: first baseline end 
+PASS Checking place-self: first baseline self-start 
+PASS Checking place-self: first baseline self-end 
+PASS Checking place-self: first baseline left 
+PASS Checking place-self: first baseline right 
+PASS Checking place-self: first baseline center 
+PASS Checking place-self: first baseline flex-start 
+PASS Checking place-self: first baseline flex-end 
+PASS Checking place-self: first baseline baseline 
+PASS Checking place-self: first baseline first baseline 
+PASS Checking place-self: first baseline last baseline 
+PASS Checking place-self: last baseline auto 
+PASS Checking place-self: last baseline normal 
+PASS Checking place-self: last baseline stretch 
+PASS Checking place-self: last baseline start 
+PASS Checking place-self: last baseline end 
+PASS Checking place-self: last baseline self-start 
+PASS Checking place-self: last baseline self-end 
+PASS Checking place-self: last baseline left 
+PASS Checking place-self: last baseline right 
+PASS Checking place-self: last baseline center 
+PASS Checking place-self: last baseline flex-start 
+PASS Checking place-self: last baseline flex-end 
+PASS Checking place-self: last baseline baseline 
+PASS Checking place-self: last baseline first baseline 
+PASS Checking place-self: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html
new file mode 100644 (file)
index 0000000..16f807d
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - multiple values specified</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check that setting two values to place-self sets the first one to 'align-self' and the second one to 'justify-self'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(alignValue) {
+        values.forEach(function(justifyValue) {
+            test(function() {
+                checkPlaceShorhandLonghands("place-self", "align-self", "justify-self", alignValue, justifyValue);
+            }, "Checking place-self: " + alignValue + " " + justifyValue);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003-expected.txt
new file mode 100644 (file)
index 0000000..3608b18
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-self: initial - align-self expanded value 
+PASS Check place-self: initial - justify-self expanded value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html
new file mode 100644 (file)
index 0000000..a946ef3
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - initial value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check that place-self's 'initial' value expands to 'align-self' and 'justify-self'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+    var div = document.createElement("div");
+    document.body.appendChild(div);
+    div.style["align-self"] = "start";
+    div.style["justify-self"] = "end";
+    div.setAttribute("style", "place-self: initial");
+
+    test(function() {
+        assert_equals(div.style["align-self"],
+            "initial", "place-self specified value for align-self");
+    }, "Check place-self: initial - align-self expanded value");
+
+    test(function() {
+        assert_equals(div.style["justify-self"],
+            "initial", "place-self specified value for justify-self");
+    }, "Check place-self: initial - justify-self expanded value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004-expected.txt
new file mode 100644 (file)
index 0000000..353a555
--- /dev/null
@@ -0,0 +1,6 @@
+
+PASS Verify overflow keywords are invalid 
+PASS Verify fallback values are invalid 
+PASS Verify numeric values are invalid 
+PASS Verify empty declaration is invalid 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html
new file mode 100644 (file)
index 0000000..b9baa6a
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - invalid values</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check that place-self's invalid values are properly detected at parsing time." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    function checkInvalidValues(value)
+    {
+        checkPlaceShorthandInvalidValues("place-self", "align-self", "justify-self", value);
+    }
+
+    test(function() {
+        checkInvalidValues("center safe")
+        checkInvalidValues("true center")
+    }, "Verify overflow keywords are invalid");
+
+    test(function() {
+        checkInvalidValues("center space-between start")
+    }, "Verify fallback values are invalid");
+
+    test(function() {
+        checkInvalidValues("10px left")
+        checkInvalidValues("right 10%")
+    }, "Verify numeric values are invalid");
+
+    test(function() {
+        checkInvalidValues("")
+    }, "Verify empty declaration is invalid");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005-expected.txt
new file mode 100644 (file)
index 0000000..b2addc8
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS Check place-self: inherit - align-self resolved value 
+PASS Check place-self: inherit - justify-self resolved value 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html
new file mode 100644 (file)
index 0000000..d74f039
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - inherit value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check that place-self's 'inherit' value expands to 'align-self' and 'justify-self'." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+    #test {
+        place-self: start end;
+    }
+</style>
+<div id="log"></div>
+<div id="test"></div>
+<script>
+    var child = document.createElement("div");
+    document.getElementById("test").appendChild(child);
+    child.setAttribute("style", "place-self: inherit");
+    var style = getComputedStyle(child);
+
+    test(function() {
+        assert_equals(style.getPropertyValue("align-self"),
+            "start", "place-self resolved value for align-self");
+    }, "Check place-self: inherit - align-self resolved value");
+
+    test(function() {
+        assert_equals(style.getPropertyValue("justify-self"),
+           "end", "place-self resolved value for justify-self");
+    }, "Check place-self: inherit - justify-self resolved value");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006-expected.txt
new file mode 100644 (file)
index 0000000..e292b33
--- /dev/null
@@ -0,0 +1,242 @@
+
+FAIL Checking place-self: auto assert_in_array: place-self resolved value value "normal normal" not in array ["", "auto auto"]
+FAIL Checking place-self: auto auto assert_in_array: place-self resolved value value "normal normal" not in array ["", "auto auto"]
+FAIL Checking place-self: auto normal assert_in_array: place-self resolved value value "normal normal" not in array ["", "auto normal"]
+FAIL Checking place-self: auto stretch assert_in_array: place-self resolved value value "normal stretch" not in array ["", "auto stretch"]
+FAIL Checking place-self: auto start assert_in_array: place-self resolved value value "normal start" not in array ["", "auto start"]
+FAIL Checking place-self: auto end assert_in_array: place-self resolved value value "normal end" not in array ["", "auto end"]
+FAIL Checking place-self: auto self-start assert_in_array: place-self resolved value value "normal self-start" not in array ["", "auto self-start"]
+FAIL Checking place-self: auto self-end assert_in_array: place-self resolved value value "normal self-end" not in array ["", "auto self-end"]
+FAIL Checking place-self: auto left assert_in_array: place-self resolved value value "normal left" not in array ["", "auto left"]
+FAIL Checking place-self: auto right assert_in_array: place-self resolved value value "normal right" not in array ["", "auto right"]
+FAIL Checking place-self: auto center assert_in_array: place-self resolved value value "normal center" not in array ["", "auto center"]
+FAIL Checking place-self: auto flex-start assert_in_array: place-self resolved value value "normal flex-start" not in array ["", "auto flex-start"]
+FAIL Checking place-self: auto flex-end assert_in_array: place-self resolved value value "normal flex-end" not in array ["", "auto flex-end"]
+FAIL Checking place-self: auto baseline assert_in_array: place-self resolved value value "normal baseline" not in array ["", "auto baseline"]
+FAIL Checking place-self: auto first baseline assert_in_array: place-self resolved value value "normal baseline" not in array ["", "auto baseline"]
+FAIL Checking place-self: auto last baseline assert_in_array: place-self resolved value value "normal last baseline" not in array ["", "auto last baseline"]
+PASS Checking place-self: normal 
+FAIL Checking place-self: normal auto assert_in_array: place-self resolved value value "normal normal" not in array ["", "normal auto"]
+PASS Checking place-self: normal normal 
+PASS Checking place-self: normal stretch 
+PASS Checking place-self: normal start 
+PASS Checking place-self: normal end 
+PASS Checking place-self: normal self-start 
+PASS Checking place-self: normal self-end 
+PASS Checking place-self: normal left 
+PASS Checking place-self: normal right 
+PASS Checking place-self: normal center 
+PASS Checking place-self: normal flex-start 
+PASS Checking place-self: normal flex-end 
+PASS Checking place-self: normal baseline 
+PASS Checking place-self: normal first baseline 
+PASS Checking place-self: normal last baseline 
+PASS Checking place-self: stretch 
+FAIL Checking place-self: stretch auto assert_in_array: place-self resolved value value "stretch normal" not in array ["", "stretch auto"]
+PASS Checking place-self: stretch normal 
+PASS Checking place-self: stretch stretch 
+PASS Checking place-self: stretch start 
+PASS Checking place-self: stretch end 
+PASS Checking place-self: stretch self-start 
+PASS Checking place-self: stretch self-end 
+PASS Checking place-self: stretch left 
+PASS Checking place-self: stretch right 
+PASS Checking place-self: stretch center 
+PASS Checking place-self: stretch flex-start 
+PASS Checking place-self: stretch flex-end 
+PASS Checking place-self: stretch baseline 
+PASS Checking place-self: stretch first baseline 
+PASS Checking place-self: stretch last baseline 
+PASS Checking place-self: start 
+FAIL Checking place-self: start auto assert_in_array: place-self resolved value value "start normal" not in array ["", "start auto"]
+PASS Checking place-self: start normal 
+PASS Checking place-self: start stretch 
+PASS Checking place-self: start start 
+PASS Checking place-self: start end 
+PASS Checking place-self: start self-start 
+PASS Checking place-self: start self-end 
+PASS Checking place-self: start left 
+PASS Checking place-self: start right 
+PASS Checking place-self: start center 
+PASS Checking place-self: start flex-start 
+PASS Checking place-self: start flex-end 
+PASS Checking place-self: start baseline 
+PASS Checking place-self: start first baseline 
+PASS Checking place-self: start last baseline 
+PASS Checking place-self: end 
+FAIL Checking place-self: end auto assert_in_array: place-self resolved value value "end normal" not in array ["", "end auto"]
+PASS Checking place-self: end normal 
+PASS Checking place-self: end stretch 
+PASS Checking place-self: end start 
+PASS Checking place-self: end end 
+PASS Checking place-self: end self-start 
+PASS Checking place-self: end self-end 
+PASS Checking place-self: end left 
+PASS Checking place-self: end right 
+PASS Checking place-self: end center 
+PASS Checking place-self: end flex-start 
+PASS Checking place-self: end flex-end 
+PASS Checking place-self: end baseline 
+PASS Checking place-self: end first baseline 
+PASS Checking place-self: end last baseline 
+PASS Checking place-self: self-start 
+FAIL Checking place-self: self-start auto assert_in_array: place-self resolved value value "self-start normal" not in array ["", "self-start auto"]
+PASS Checking place-self: self-start normal 
+PASS Checking place-self: self-start stretch 
+PASS Checking place-self: self-start start 
+PASS Checking place-self: self-start end 
+PASS Checking place-self: self-start self-start 
+PASS Checking place-self: self-start self-end 
+PASS Checking place-self: self-start left 
+PASS Checking place-self: self-start right 
+PASS Checking place-self: self-start center 
+PASS Checking place-self: self-start flex-start 
+PASS Checking place-self: self-start flex-end 
+PASS Checking place-self: self-start baseline 
+PASS Checking place-self: self-start first baseline 
+PASS Checking place-self: self-start last baseline 
+PASS Checking place-self: self-end 
+FAIL Checking place-self: self-end auto assert_in_array: place-self resolved value value "self-end normal" not in array ["", "self-end auto"]
+PASS Checking place-self: self-end normal 
+PASS Checking place-self: self-end stretch 
+PASS Checking place-self: self-end start 
+PASS Checking place-self: self-end end 
+PASS Checking place-self: self-end self-start 
+PASS Checking place-self: self-end self-end 
+PASS Checking place-self: self-end left 
+PASS Checking place-self: self-end right 
+PASS Checking place-self: self-end center 
+PASS Checking place-self: self-end flex-start 
+PASS Checking place-self: self-end flex-end 
+PASS Checking place-self: self-end baseline 
+PASS Checking place-self: self-end first baseline 
+PASS Checking place-self: self-end last baseline 
+PASS Checking place-self: left 
+FAIL Checking place-self: left auto assert_in_array: place-self resolved value value "left normal" not in array ["", "left auto"]
+PASS Checking place-self: left normal 
+PASS Checking place-self: left stretch 
+PASS Checking place-self: left start 
+PASS Checking place-self: left end 
+PASS Checking place-self: left self-start 
+PASS Checking place-self: left self-end 
+PASS Checking place-self: left left 
+PASS Checking place-self: left right 
+PASS Checking place-self: left center 
+PASS Checking place-self: left flex-start 
+PASS Checking place-self: left flex-end 
+PASS Checking place-self: left baseline 
+PASS Checking place-self: left first baseline 
+PASS Checking place-self: left last baseline 
+PASS Checking place-self: right 
+FAIL Checking place-self: right auto assert_in_array: place-self resolved value value "right normal" not in array ["", "right auto"]
+PASS Checking place-self: right normal 
+PASS Checking place-self: right stretch 
+PASS Checking place-self: right start 
+PASS Checking place-self: right end 
+PASS Checking place-self: right self-start 
+PASS Checking place-self: right self-end 
+PASS Checking place-self: right left 
+PASS Checking place-self: right right 
+PASS Checking place-self: right center 
+PASS Checking place-self: right flex-start 
+PASS Checking place-self: right flex-end 
+PASS Checking place-self: right baseline 
+PASS Checking place-self: right first baseline 
+PASS Checking place-self: right last baseline 
+PASS Checking place-self: center 
+FAIL Checking place-self: center auto assert_in_array: place-self resolved value value "center normal" not in array ["", "center auto"]
+PASS Checking place-self: center normal 
+PASS Checking place-self: center stretch 
+PASS Checking place-self: center start 
+PASS Checking place-self: center end 
+PASS Checking place-self: center self-start 
+PASS Checking place-self: center self-end 
+PASS Checking place-self: center left 
+PASS Checking place-self: center right 
+PASS Checking place-self: center center 
+PASS Checking place-self: center flex-start 
+PASS Checking place-self: center flex-end 
+PASS Checking place-self: center baseline 
+PASS Checking place-self: center first baseline 
+PASS Checking place-self: center last baseline 
+PASS Checking place-self: flex-start 
+FAIL Checking place-self: flex-start auto assert_in_array: place-self resolved value value "flex-start normal" not in array ["", "flex-start auto"]
+PASS Checking place-self: flex-start normal 
+PASS Checking place-self: flex-start stretch 
+PASS Checking place-self: flex-start start 
+PASS Checking place-self: flex-start end 
+PASS Checking place-self: flex-start self-start 
+PASS Checking place-self: flex-start self-end 
+PASS Checking place-self: flex-start left 
+PASS Checking place-self: flex-start right 
+PASS Checking place-self: flex-start center 
+PASS Checking place-self: flex-start flex-start 
+PASS Checking place-self: flex-start flex-end 
+PASS Checking place-self: flex-start baseline 
+PASS Checking place-self: flex-start first baseline 
+PASS Checking place-self: flex-start last baseline 
+PASS Checking place-self: flex-end 
+FAIL Checking place-self: flex-end auto assert_in_array: place-self resolved value value "flex-end normal" not in array ["", "flex-end auto"]
+PASS Checking place-self: flex-end normal 
+PASS Checking place-self: flex-end stretch 
+PASS Checking place-self: flex-end start 
+PASS Checking place-self: flex-end end 
+PASS Checking place-self: flex-end self-start 
+PASS Checking place-self: flex-end self-end 
+PASS Checking place-self: flex-end left 
+PASS Checking place-self: flex-end right 
+PASS Checking place-self: flex-end center 
+PASS Checking place-self: flex-end flex-start 
+PASS Checking place-self: flex-end flex-end 
+PASS Checking place-self: flex-end baseline 
+PASS Checking place-self: flex-end first baseline 
+PASS Checking place-self: flex-end last baseline 
+PASS Checking place-self: baseline 
+FAIL Checking place-self: baseline auto assert_in_array: place-self resolved value value "baseline normal" not in array ["", "baseline auto"]
+PASS Checking place-self: baseline normal 
+PASS Checking place-self: baseline stretch 
+PASS Checking place-self: baseline start 
+PASS Checking place-self: baseline end 
+PASS Checking place-self: baseline self-start 
+PASS Checking place-self: baseline self-end 
+PASS Checking place-self: baseline left 
+PASS Checking place-self: baseline right 
+PASS Checking place-self: baseline center 
+PASS Checking place-self: baseline flex-start 
+PASS Checking place-self: baseline flex-end 
+PASS Checking place-self: baseline baseline 
+PASS Checking place-self: baseline first baseline 
+PASS Checking place-self: baseline last baseline 
+PASS Checking place-self: first baseline 
+FAIL Checking place-self: first baseline auto assert_in_array: place-self resolved value value "baseline normal" not in array ["", "baseline auto"]
+PASS Checking place-self: first baseline normal 
+PASS Checking place-self: first baseline stretch 
+PASS Checking place-self: first baseline start 
+PASS Checking place-self: first baseline end 
+PASS Checking place-self: first baseline self-start 
+PASS Checking place-self: first baseline self-end 
+PASS Checking place-self: first baseline left 
+PASS Checking place-self: first baseline right 
+PASS Checking place-self: first baseline center 
+PASS Checking place-self: first baseline flex-start 
+PASS Checking place-self: first baseline flex-end 
+PASS Checking place-self: first baseline baseline 
+PASS Checking place-self: first baseline first baseline 
+PASS Checking place-self: first baseline last baseline 
+PASS Checking place-self: last baseline 
+FAIL Checking place-self: last baseline auto assert_in_array: place-self resolved value value "last baseline normal" not in array ["", "last baseline auto"]
+PASS Checking place-self: last baseline normal 
+PASS Checking place-self: last baseline stretch 
+PASS Checking place-self: last baseline start 
+PASS Checking place-self: last baseline end 
+PASS Checking place-self: last baseline self-start 
+PASS Checking place-self: last baseline self-end 
+PASS Checking place-self: last baseline left 
+PASS Checking place-self: last baseline right 
+PASS Checking place-self: last baseline center 
+PASS Checking place-self: last baseline flex-start 
+PASS Checking place-self: last baseline flex-end 
+PASS Checking place-self: last baseline baseline 
+PASS Checking place-self: last baseline first baseline 
+PASS Checking place-self: last baseline last baseline 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html
new file mode 100644 (file)
index 0000000..7e420f4
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<title>CSS Box Alignment: place-self shorthand - Shorthand 'specified' and 'resolved' value</title>
+<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
+<link rel="help" href="http://www.w3.org/TR/css3-align/#place-self-property" />
+<meta name="assert" content="Check the place-self's 'specified' and 'resolved' values serialization." />
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../resources/alignment-parsing-utils.js"></script>
+<div id="log"></div>
+<script>
+    var values = ["auto", "normal", "stretch"].concat(selfPositionValues, baselineValues);
+    values.forEach(function(alignValue) {
+        [""].concat(values).forEach(function(justifyValue) {
+            var value = (alignValue + " " + justifyValue).trim();
+            test(function() {
+                checkPlaceShorhand("place-self", alignValue, justifyValue)
+            }, "Checking place-self: " + value);
+        });
+    });
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/w3c-import.log
new file mode 100644 (file)
index 0000000..ecba42f
--- /dev/null
@@ -0,0 +1,22 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-001.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-002.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-003.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-004.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-005.html
+/LayoutTests/imported/w3c/web-platform-tests/css/css-align-3/self-alignment/place-self-shorthand-006.html