vendor dependencies with dep
This commit is contained in:
parent
93d8310491
commit
1384296a47
2712 changed files with 965742 additions and 0 deletions
175
vendor/github.com/vanng822/css/parser_selector_test.go
generated
vendored
Normal file
175
vendor/github.com/vanng822/css/parser_selector_test.go
generated
vendored
Normal file
|
|
@ -0,0 +1,175 @@
|
|||
package css
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestMultipleSelectors(t *testing.T) {
|
||||
css := Parse(`div .a {
|
||||
font-size: 150%;
|
||||
}
|
||||
p .b {
|
||||
font-size: 250%;
|
||||
}`)
|
||||
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, "div .a")
|
||||
assert.Equal(t, css.CssRuleList[1].Style.SelectorText, "p .b")
|
||||
|
||||
}
|
||||
|
||||
func TestIdSelector(t *testing.T) {
|
||||
css := Parse("#div { color: red;}")
|
||||
|
||||
assert.Equal(t, css.CssRuleList[0].Style.Styles["color"].Value, "red")
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, "#div")
|
||||
}
|
||||
|
||||
func TestClassSelector(t *testing.T) {
|
||||
css := Parse(".div { color: green;}")
|
||||
|
||||
assert.Equal(t, css.CssRuleList[0].Style.Styles["color"].Value, "green")
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, ".div")
|
||||
}
|
||||
|
||||
func TestStarSelector(t *testing.T) {
|
||||
css := Parse("* { text-rendering: optimizelegibility; }")
|
||||
|
||||
assert.Equal(t, "optimizelegibility", css.CssRuleList[0].Style.Styles["text-rendering"].Value)
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, "*")
|
||||
}
|
||||
|
||||
func TestStarSelectorMulti(t *testing.T) {
|
||||
css := Parse(`div .a {
|
||||
font-size: 150%;
|
||||
}
|
||||
* { text-rendering: optimizelegibility; }`)
|
||||
|
||||
assert.Equal(t, "150%", css.CssRuleList[0].Style.Styles["font-size"].Value)
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, "div .a")
|
||||
|
||||
assert.Equal(t, "optimizelegibility", css.CssRuleList[1].Style.Styles["text-rendering"].Value)
|
||||
assert.Equal(t, css.CssRuleList[1].Style.SelectorText, "*")
|
||||
}
|
||||
|
||||
func TestMixedClassSelectors(t *testing.T) {
|
||||
selectors := []string{".footer__content_wrapper--last",
|
||||
"table[class=\"body\"] .footer__content td",
|
||||
"table[class=\"body\"] td.footer__link_wrapper--first",
|
||||
"table[class=\"body\"] td.footer__link_wrapper--last"}
|
||||
|
||||
for _, selector := range selectors {
|
||||
css := Parse(fmt.Sprintf(` %s {
|
||||
border-collapse: separate;
|
||||
padding: 10px 0 0
|
||||
}`, selector))
|
||||
|
||||
assert.Equal(t, "separate", css.CssRuleList[0].Style.Styles["border-collapse"].Value)
|
||||
assert.Equal(t, "10px 0 0", css.CssRuleList[0].Style.Styles["padding"].Value)
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, selector)
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenericSelectors(t *testing.T) {
|
||||
selectors := []string{
|
||||
"p ~ ul",
|
||||
"div > p",
|
||||
"div > p",
|
||||
"div p",
|
||||
"div, p",
|
||||
"[target]",
|
||||
"[target=_blank]",
|
||||
"[title~=flower]",
|
||||
"[lang|=en]",
|
||||
"a[href^=\"https\"]",
|
||||
"a[href$=\".pdf\"]",
|
||||
"a[href*=\"css\"]",
|
||||
".header + .content",
|
||||
"#firstname",
|
||||
"table[class=\"body\"] .footer__content td",
|
||||
"table[class=\"body\"] td.footer__link_wrapper--first"}
|
||||
|
||||
for _, selector := range selectors {
|
||||
css := Parse(fmt.Sprintf(` %s {
|
||||
border-collapse: separate;
|
||||
padding: 10px 0 0
|
||||
}`, selector))
|
||||
|
||||
assert.Equal(t, "separate", css.CssRuleList[0].Style.Styles["border-collapse"].Value)
|
||||
assert.Equal(t, "10px 0 0", css.CssRuleList[0].Style.Styles["padding"].Value)
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, selector)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFilterSelectors(t *testing.T) {
|
||||
selectors := []string{
|
||||
"a:active",
|
||||
"p::after",
|
||||
"p::before",
|
||||
"input:checked",
|
||||
"input:disabled",
|
||||
"input:in-range",
|
||||
"input:invalid",
|
||||
"input:optional",
|
||||
"input:read-only",
|
||||
"input:enabled",
|
||||
"p:empty",
|
||||
"p:first-child",
|
||||
"p::first-letter",
|
||||
"p::first-line",
|
||||
"p:first-of-type",
|
||||
"input:focus",
|
||||
"a:hover",
|
||||
"p:lang(it)",
|
||||
"p:last-child",
|
||||
"p:last-of-type",
|
||||
"a:link",
|
||||
":not(p)",
|
||||
"p:nth-child(2)",
|
||||
"p:nth-last-child(2)",
|
||||
"p:only-of-type",
|
||||
"p:only-child",
|
||||
"p:nth-last-of-type(2)",
|
||||
"div:not(:nth-child(1))",
|
||||
"div:not(:not(:first-child))",
|
||||
":root",
|
||||
"::selection",
|
||||
"#news:target"}
|
||||
|
||||
for _, selector := range selectors {
|
||||
css := Parse(fmt.Sprintf(` %s {
|
||||
border-collapse: separate;
|
||||
padding: 10px 0 0
|
||||
}`, selector))
|
||||
|
||||
assert.Equal(t, "separate", css.CssRuleList[0].Style.Styles["border-collapse"].Value)
|
||||
assert.Equal(t, "10px 0 0", css.CssRuleList[0].Style.Styles["padding"].Value)
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, selector)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFontFace(t *testing.T) {
|
||||
css := Parse(`@font-face {
|
||||
font-family: "Bitstream Vera Serif Bold";
|
||||
src: url("https://mdn.mozillademos.org/files/2468/VeraSeBd.ttf");
|
||||
}
|
||||
|
||||
body { font-family: "Bitstream Vera Serif Bold", serif }`)
|
||||
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, "")
|
||||
assert.Equal(t, css.CssRuleList[0].Style.Styles["font-family"].Value, "\"Bitstream Vera Serif Bold\"")
|
||||
assert.Equal(t, css.CssRuleList[0].Style.Styles["src"].Value, "url(\"https://mdn.mozillademos.org/files/2468/VeraSeBd.ttf\")")
|
||||
assert.Equal(t, css.CssRuleList[1].Style.Styles["font-family"].Value, "\"Bitstream Vera Serif Bold\", serif")
|
||||
assert.Equal(t, css.CssRuleList[0].Type, FONT_FACE_RULE)
|
||||
}
|
||||
|
||||
func TestPage(t *testing.T) {
|
||||
css := Parse(`@page :first {
|
||||
margin: 2in 3in;
|
||||
}`)
|
||||
|
||||
assert.Equal(t, css.CssRuleList[0].Style.SelectorText, ":first")
|
||||
assert.Equal(t, css.CssRuleList[0].Style.Styles["margin"].Value, "2in 3in")
|
||||
assert.Equal(t, css.CssRuleList[0].Type, PAGE_RULE)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue