Auto merge of #15797 - sendilkumarn:lang-algo, r=KiChjang

ext. filtering for lang matching

<!-- Please describe your changes on the following line: -->
This adds the extended algorithm to check the lang. This is my very first encounter with`rust`.
Open to learn.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #15746

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/15797)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-03-06 18:55:02 -08:00 committed by GitHub
commit 312797fa90
15 changed files with 74 additions and 94 deletions

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-005.htm]
type: testharness
[A :lang value will match a lang attribute value when the latter contains additional subtags.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-009.htm]
type: testharness
[A :lang value with a multiple subtags will match a lang attribute value with multiple subtags as long as the first part is the same.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[css3-selectors-lang-014.htm]
type: testharness
[A :lang value with language and region subtags will NOT match a lang attribute value with language, script and region subtags.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-005.xht]
type: testharness
[A :lang value will match a lang attribute value when the latter contains additional subtags.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-009.xht]
type: testharness
[A :lang value with a multiple subtags will match a lang attribute value with multiple subtags as long as the first part is the same.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[css3-selectors-lang-014.xht]
type: testharness
[A :lang value with language and region subtags will NOT match a lang attribute value with language, script and region subtags.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-005.xht]
type: testharness
[A :lang value will match a lang attribute value when the latter contains additional subtags.]
expected: FAIL

View file

@ -1,5 +0,0 @@
[css3-selectors-lang-009.xht]
type: testharness
[A :lang value with a multiple subtags will match a lang attribute value with multiple subtags as long as the first part is the same.]
expected: FAIL

View file

@ -0,0 +1,4 @@
[css3-selectors-lang-014.xht]
type: testharness
[A :lang value with language and region subtags will NOT match a lang attribute value with language, script and region subtags.]
expected: FAIL

View file

@ -1,14 +1,5 @@
[Element-matches.html]
type: testharness
[In-document Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
expected: FAIL
[Detached Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
expected: FAIL
[Fragment Element.matches: :lang pseudo-class selector, matching specified language with partial value (with no refNodes): #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.matches: Universal selector, matching all children of the specified reference element (with refNode Element): >*]
expected: FAIL
@ -18,9 +9,6 @@
[In-document Element.matches: Universal selector, matching all descendants of the specified reference element (with refNode Element): *]
expected: FAIL
[In-document Element.matches: :lang pseudo-class selector, matching specified language with partial value (1) (with no refNodes): #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.matches: Class selector, matching element with class value using non-ASCII characters (with no refNodes): .台北Táiběi]
expected: FAIL

View file

@ -1,11 +1,5 @@
[ParentNode-querySelector-All-xht.xht]
type: testharness
[Document.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Document.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -30,12 +24,6 @@
[Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Detached Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -60,12 +48,6 @@
[Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Fragment.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -90,12 +72,6 @@
[Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL

View file

@ -1,11 +1,5 @@
[ParentNode-querySelector-All.html]
type: testharness
[Document.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Document.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Document.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -30,12 +24,6 @@
[Document.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Detached Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Detached Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Detached Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -60,12 +48,6 @@
[Detached Element.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[Fragment.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Fragment.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[Fragment.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL
@ -90,12 +72,6 @@
[Fragment.querySelector: ::first-letter pseudo-element (two-colon syntax) selector, not matching any elements: #pseudo-element::first-letter]
expected: FAIL
[In-document Element.querySelectorAll: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.querySelector: :lang pseudo-class selector, matching specified language with partial value: #pseudo-lang-div3:lang(en)]
expected: FAIL
[In-document Element.querySelectorAll: :first-line pseudo-element (one-colon syntax) selector, not matching any elements: #pseudo-element:first-line]
expected: FAIL