mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
Merge pull request #994 from NativeScript/css-type-fix
lower-case-dashed components css support fixed
This commit is contained in:
@ -1,3 +1,7 @@
|
||||
.MyClass {
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
stack-layout {
|
||||
background-color: green;
|
||||
}
|
@ -200,6 +200,23 @@ export function test_parse_ShouldResolveExportsFromCodeFileForTemplates() {
|
||||
}
|
||||
}
|
||||
|
||||
export function test_parse_css_is_applied_by_type_to_lower_case_dashed_components() {
|
||||
var newPage: Page;
|
||||
var pageFactory = function (): Page {
|
||||
newPage = <Page>builder.parse("<page cssFile='~/xml-declaration/custom-css-file.css'><stack-layout /></page>");
|
||||
return newPage;
|
||||
};
|
||||
|
||||
helper.navigate(pageFactory);
|
||||
TKUnit.assert(newPage.isLoaded, "The page should be loaded here.");
|
||||
try {
|
||||
helper.assertViewBackgroundColor(newPage.content, "#008000");
|
||||
}
|
||||
finally {
|
||||
helper.goBack();
|
||||
}
|
||||
};
|
||||
|
||||
export function test_parse_ShouldApplyCssFromCssFile() {
|
||||
var newPage: Page;
|
||||
var pageFactory = function (): Page {
|
||||
|
@ -73,10 +73,15 @@ class CssTypeSelector extends CssSelector {
|
||||
return TYPE_SPECIFICITY;
|
||||
}
|
||||
public matches(view: view.View): boolean {
|
||||
return this.expression.toLowerCase() === view.typeName.toLowerCase();
|
||||
return matchesType(this.expression, view);
|
||||
}
|
||||
}
|
||||
|
||||
function matchesType(expression: string, view: view.View): boolean {
|
||||
return expression.toLowerCase() === view.typeName.toLowerCase() ||
|
||||
expression.toLowerCase() === view.typeName.split(/(?=[A-Z])/).join("-").toLowerCase();
|
||||
}
|
||||
|
||||
class CssIdSelector extends CssSelector {
|
||||
get specificity(): number {
|
||||
return ID_SPECIFICITY;
|
||||
@ -150,7 +155,7 @@ export class CssVisualStateSelector extends CssSelector {
|
||||
}
|
||||
|
||||
if (this._isByType) {
|
||||
matches = this._match === view.cssType.toLowerCase();
|
||||
matches = matchesType(this._match, view);
|
||||
}
|
||||
|
||||
return matches;
|
||||
|
Reference in New Issue
Block a user