1522 行
44 KiB
JavaScript
1522 行
44 KiB
JavaScript
jest.setTimeout(50000);
|
|
const isDom2 = process.env.UNI_APP_X_DOM2 === "true"
|
|
const platformInfo = (process.env.uniTestPlatformInfo || '').toLocaleLowerCase()
|
|
const isHarmony = platformInfo.includes('harmony')
|
|
const isMP = platformInfo.startsWith('mp')
|
|
const isWeb = platformInfo.startsWith('web')
|
|
const currentPlatform = isWeb ? 'web' : (isMP ? 'mp' : 'app')
|
|
const currentMode = isDom2 ? 'dom2' : `dom1-${currentPlatform}`
|
|
|
|
describe('set css', () => {
|
|
if (isMP) {
|
|
it('skip', () => {
|
|
expect(1).toBe(1)
|
|
})
|
|
return
|
|
}
|
|
|
|
// skipAssert: true, 时跳过 expectedValue 断言
|
|
|
|
// 调试用:临时覆盖某些页面的测试参数,不需要时置为 null
|
|
// 可以写多个页面,例如只跑 color 相关的页面:
|
|
const TEST_OVERRIDE = null
|
|
|
|
// dom1 和 dom2 断言一致的页面
|
|
const sharedCssTests = [
|
|
{
|
|
path: "/pages/CSS/layout/width",
|
|
method: "radioChangeWidth",
|
|
valueIndex: 3,
|
|
styleName: "width",
|
|
expectedValue: {
|
|
width: "50px",
|
|
widthActual: "50px",
|
|
widthActualText: "50px",
|
|
widthActualImage: "50px",
|
|
widthActualFlat: "50px",
|
|
widthActualTextFlat: "50px",
|
|
widthActualImageFlat: "50px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/min-width",
|
|
method: "radioChangeMinWidth",
|
|
valueIndex: 4,
|
|
styleName: "min-width",
|
|
expectedValue: {
|
|
minWidth: "120px",
|
|
minWidthActual: "120px",
|
|
minWidthActualText: "120px",
|
|
minWidthActualImage: "120px",
|
|
minWidthActualFlat: "120px",
|
|
minWidthActualTextFlat: "120px",
|
|
minWidthActualImageFlat: "120px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/max-width",
|
|
method: "radioChangeMaxWidth",
|
|
valueIndex: 4,
|
|
styleName: "max-width",
|
|
expectedValue: {
|
|
maxWidth: "120px",
|
|
maxWidthActual: "120px",
|
|
maxWidthActualText: "120px",
|
|
maxWidthActualImage: "120px",
|
|
maxWidthActualFlat: "120px",
|
|
maxWidthActualTextFlat: "120px",
|
|
maxWidthActualImageFlat: "120px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/height",
|
|
method: "radioChangeHeight",
|
|
valueIndex: 4,
|
|
styleName: "height",
|
|
expectedValue: {
|
|
height: "150px",
|
|
heightActual: "150px",
|
|
heightActualText: "150px",
|
|
heightActualImage: "150px",
|
|
heightActualFlat: "150px",
|
|
heightActualTextFlat: "150px",
|
|
heightActualImageFlat: "150px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/min-height",
|
|
method: "radioChangeMinHeight",
|
|
valueIndex: 3,
|
|
styleName: "min-height",
|
|
expectedValue: {
|
|
minHeight: "50px",
|
|
minHeightActual: "50px",
|
|
minHeightActualText: "50px",
|
|
minHeightActualImage: "50px",
|
|
minHeightActualFlat: "50px",
|
|
minHeightActualTextFlat: "50px",
|
|
minHeightActualImageFlat: "50px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/max-height",
|
|
method: "radioChangeMaxHeight",
|
|
valueIndex: 3,
|
|
styleName: "max-height",
|
|
expectedValue: {
|
|
maxHeight: "100px",
|
|
maxHeightActual: "100px",
|
|
maxHeightActualText: "100px",
|
|
maxHeightActualImage: "100px",
|
|
maxHeightActualFlat: "100px",
|
|
maxHeightActualTextFlat: "100px",
|
|
maxHeightActualImageFlat: "100px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/visibility",
|
|
method: "radioChangeVisibility",
|
|
valueIndex: 2,
|
|
styleName: "visibility",
|
|
expectedValue: {
|
|
visibility: "visible",
|
|
visibilityActual: "hidden",
|
|
visibilityActualText: "hidden",
|
|
visibilityActualImage: "hidden"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/top",
|
|
method: "radioChangeTop",
|
|
valueIndex: 3,
|
|
styleName: "top",
|
|
expectedValue: {
|
|
top: "10px",
|
|
topActual: "10px",
|
|
topActualText: "10px",
|
|
topActualImage: "10px",
|
|
topActualFlat: "10px",
|
|
topActualTextFlat: "10px",
|
|
topActualImageFlat: "10px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/bottom",
|
|
method: "radioChangeBottom",
|
|
valueIndex: 3,
|
|
styleName: "bottom",
|
|
expectedValue: {
|
|
bottom: "10px",
|
|
bottomActual: "10px",
|
|
bottomActualText: "10px",
|
|
bottomActualImage: "10px",
|
|
bottomActualFlat: "10px",
|
|
bottomActualTextFlat: "10px",
|
|
bottomActualImageFlat: "10px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/left",
|
|
method: "radioChangeLeft",
|
|
valueIndex: 3,
|
|
styleName: "left",
|
|
expectedValue: {
|
|
left: "10px",
|
|
leftActual: "10px",
|
|
leftActualText: "10px",
|
|
leftActualImage: "10px",
|
|
leftActualFlat: "10px",
|
|
leftActualTextFlat: "10px",
|
|
leftActualImageFlat: "10px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/right",
|
|
method: "radioChangeRight",
|
|
valueIndex: 3,
|
|
styleName: "right",
|
|
expectedValue: {
|
|
right: "20px",
|
|
rightActual: "20px",
|
|
rightActualText: "20px",
|
|
rightActualImage: "20px",
|
|
rightActualFlat: "20px",
|
|
rightActualTextFlat: "20px",
|
|
rightActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/position",
|
|
method: "radioChangePosition",
|
|
valueIndex: 2,
|
|
styleName: "position",
|
|
expectedValue: {
|
|
position: "relative",
|
|
positionActual: "relative",
|
|
positionActualText: "relative",
|
|
positionActualImage: "relative"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-style",
|
|
method: "radioChangeBorderStyle",
|
|
valueIndex: 2,
|
|
styleName: "border-style",
|
|
expectedValue: {
|
|
borderStyleValue: "solid",
|
|
borderStyleActual: "solid",
|
|
borderStyleActualText: "solid",
|
|
borderStyleActualImage: "solid",
|
|
borderStyleActualFlat: "solid",
|
|
borderStyleActualTextFlat: "solid",
|
|
borderStyleActualImageFlat: "solid"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-width",
|
|
method: "radioChangeBorderWidth",
|
|
valueIndex: 3,
|
|
styleName: "border-width",
|
|
expectedValue: {
|
|
borderWidth: "3px",
|
|
borderWidthActual: "3px",
|
|
borderWidthActualText: "3px",
|
|
borderWidthActualImage: "3px",
|
|
borderWidthActualFlat: "3px",
|
|
borderWidthActualTextFlat: "3px",
|
|
borderWidthActualImageFlat: "3px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/box-sizing/box-sizing",
|
|
method: "radioChangeBoxSizing",
|
|
valueIndex: 2,
|
|
styleName: "box-sizing",
|
|
expectedValue: {
|
|
boxSizing: "border-box",
|
|
boxSizingActual: "border-box",
|
|
boxSizingActualText: "border-box",
|
|
boxSizingActualImage: "border-box",
|
|
boxSizingActualFlat: "border-box",
|
|
boxSizingActualTextFlat: "border-box",
|
|
boxSizingActualImageFlat: "border-box"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/display/flex",
|
|
method: "radioChangeDisplay",
|
|
valueIndex: 1,
|
|
styleName: "display",
|
|
expectedValue: {
|
|
displayActual: "flex",
|
|
displayActualText: "flex",
|
|
displayActualImage: "flex"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/display/none",
|
|
method: "radioChangeDisplay",
|
|
valueIndex: 2,
|
|
styleName: "display",
|
|
expectedValue: {
|
|
displayActual: "none",
|
|
displayActualText: "none",
|
|
displayActualImage: "none"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-direction",
|
|
method: "radioChangeFlexDirection",
|
|
valueIndex: 2,
|
|
styleName: "flex-direction",
|
|
expectedValue: {
|
|
flexDirection: "row-reverse",
|
|
flexDirectionActual: "row-reverse",
|
|
flexDirectionActualFlat: "row-reverse"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/justify-content",
|
|
method: "radioChangeJustifyContent",
|
|
valueIndex: 3,
|
|
styleName: "justify-content",
|
|
expectedValue: {
|
|
justifyContent: "center",
|
|
justifyContentActual: "center",
|
|
justifyContentActualFlat: "center"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/align-content",
|
|
method: "radioChangeAlignContent",
|
|
valueIndex: 3,
|
|
styleName: "align-content",
|
|
expectedValue: {
|
|
alignContent: "center",
|
|
alignContentActual: "center",
|
|
alignContentActualFlat: "center"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/align-items",
|
|
method: "radioChangeAlignItems",
|
|
valueIndex: 3,
|
|
styleName: "align-items",
|
|
expectedValue: {
|
|
alignItems: "center",
|
|
alignItemsActual: "center",
|
|
alignItemsActualFlat: "center"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-basis",
|
|
method: "radioChangeFlexBasis",
|
|
valueIndex: 3,
|
|
styleName: "flex-basis",
|
|
expectedValue: {
|
|
flexBasis: "50px",
|
|
flexBasisActual: "50px",
|
|
flexBasisActualFlat: "50px",
|
|
flexBasisActualText: "50px",
|
|
flexBasisActualImage: "50px",
|
|
flexBasisActualTextFlat: "50px",
|
|
flexBasisActualImageFlat: "50px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-grow",
|
|
method: "radioChangeFlexGrow",
|
|
valueIndex: 3,
|
|
styleName: "flex-grow",
|
|
expectedValue: {
|
|
flexGrow: "1",
|
|
flexGrowActual: "1",
|
|
flexGrowActualFlat: "1",
|
|
flexGrowActualText: "1",
|
|
flexGrowActualImage: "1",
|
|
flexGrowActualTextFlat: "1",
|
|
flexGrowActualImageFlat: "1"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-shrink",
|
|
method: "radioChangeFlexShrink",
|
|
valueIndex: 2,
|
|
styleName: "flex-shrink",
|
|
expectedValue: {
|
|
flexShrink: "1",
|
|
flexShrinkActual: "1",
|
|
flexShrinkActualFlat: "1",
|
|
flexShrinkActualText: "1",
|
|
flexShrinkActualImage: "1",
|
|
flexShrinkActualTextFlat: "1",
|
|
flexShrinkActualImageFlat: "1"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/align-self",
|
|
method: "radioChangeAlignSelf",
|
|
valueIndex: 2,
|
|
styleName: "align-self",
|
|
expectedValue: {
|
|
alignSelf: "center",
|
|
alignSelfActual: "center",
|
|
alignSelfActualText: "center",
|
|
alignSelfActualImage: "center",
|
|
alignSelfActualFlat: "center",
|
|
alignSelfActualTextFlat: "center",
|
|
alignSelfActualImageFlat: "center"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-wrap",
|
|
method: "radioChangeFlexWrap",
|
|
valueIndex: 2,
|
|
styleName: "flex-wrap",
|
|
expectedValue: {
|
|
flexWrap: "wrap",
|
|
flexWrapActual: "wrap",
|
|
flexWrapActualFlat: "wrap"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin-bottom",
|
|
method: "radioChangeMarginBottom",
|
|
valueIndex: 3,
|
|
styleName: "margin-bottom",
|
|
expectedValue: {
|
|
marginBottom: "20px",
|
|
marginBottomActual: "20px",
|
|
marginBottomActualText: "20px",
|
|
marginBottomActualImage: "20px",
|
|
marginBottomActualFlat: "20px",
|
|
marginBottomActualTextFlat: "20px",
|
|
marginBottomActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin-left",
|
|
method: "radioChangeMarginLeft",
|
|
valueIndex: 3,
|
|
styleName: "margin-left",
|
|
expectedValue: {
|
|
marginLeft: "20px",
|
|
marginLeftActual: "20px",
|
|
marginLeftActualText: "20px",
|
|
marginLeftActualImage: "20px",
|
|
marginLeftActualFlat: "20px",
|
|
marginLeftActualTextFlat: "20px",
|
|
marginLeftActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin-right",
|
|
method: "radioChangeMarginRight",
|
|
valueIndex: 3,
|
|
styleName: "margin-right",
|
|
expectedValue: {
|
|
marginRight: "20px",
|
|
marginRightActual: "20px",
|
|
marginRightActualText: "20px",
|
|
marginRightActualImage: "20px",
|
|
marginRightActualFlat: "20px",
|
|
marginRightActualTextFlat: "20px",
|
|
marginRightActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin-top",
|
|
method: "radioChangeMarginTop",
|
|
valueIndex: 3,
|
|
styleName: "margin-top",
|
|
expectedValue: {
|
|
marginTop: "20px",
|
|
marginTopActual: "20px",
|
|
marginTopActualText: "20px",
|
|
marginTopActualImage: "20px",
|
|
marginTopActualFlat: "20px",
|
|
marginTopActualTextFlat: "20px",
|
|
marginTopActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/padding/padding-bottom",
|
|
method: "radioChangePaddingBottom",
|
|
valueIndex: 3,
|
|
styleName: "padding-bottom",
|
|
expectedValue: {
|
|
paddingBottom: "40px",
|
|
paddingBottomActual: "40px",
|
|
paddingBottomActualText: "40px",
|
|
paddingBottomActualImage: "40px",
|
|
paddingBottomActualFlat: "40px",
|
|
paddingBottomActualTextFlat: "40px",
|
|
paddingBottomActualImageFlat: "40px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/padding/padding-left",
|
|
method: "radioChangePaddingLeft",
|
|
valueIndex: 3,
|
|
styleName: "padding-left",
|
|
expectedValue: {
|
|
paddingLeft: "20px",
|
|
paddingLeftActual: "20px",
|
|
paddingLeftActualText: "20px",
|
|
paddingLeftActualImage: "20px",
|
|
paddingLeftActualFlat: "20px",
|
|
paddingLeftActualTextFlat: "20px",
|
|
paddingLeftActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/padding/padding-right",
|
|
method: "radioChangePaddingRight",
|
|
valueIndex: 3,
|
|
styleName: "padding-right",
|
|
expectedValue: {
|
|
paddingRight: "20px",
|
|
paddingRightActual: "20px",
|
|
paddingRightActualText: "20px",
|
|
paddingRightActualImage: "20px",
|
|
paddingRightActualFlat: "20px",
|
|
paddingRightActualTextFlat: "20px",
|
|
paddingRightActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/padding/padding-top",
|
|
method: "radioChangePaddingTop",
|
|
valueIndex: 3,
|
|
styleName: "padding-top",
|
|
expectedValue: {
|
|
paddingTop: "20px",
|
|
paddingTopActual: "20px",
|
|
paddingTopActualText: "20px",
|
|
paddingTopActualImage: "20px",
|
|
paddingTopActualFlat: "20px",
|
|
paddingTopActualTextFlat: "20px",
|
|
paddingTopActualImageFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/text-align",
|
|
method: "radioChangeTextAlign",
|
|
valueIndex: 2,
|
|
styleName: "text-align",
|
|
expectedValue: {
|
|
textAlign: "center",
|
|
textAlignActual: "center",
|
|
textAlignActualFlat: "center"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/font-family",
|
|
method: "radioChangeFontFamily",
|
|
valueIndex: 5,
|
|
styleName: "font-family",
|
|
expectedValue: {
|
|
fontFamily: "UniFontFamily",
|
|
fontFamilyActual: "UniFontFamily",
|
|
fontFamilyActualFlat: "UniFontFamily"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/font-size",
|
|
method: "radioChangeFontSize",
|
|
valueIndex: 4,
|
|
styleName: "font-size",
|
|
expectedValue: {
|
|
fontSizeProp: "20px",
|
|
fontSizeActual: "20px",
|
|
fontSizeActualFlat: "20px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/font-weight",
|
|
method: "radioChangeFontWeight",
|
|
valueIndex: 4,
|
|
styleName: "font-weight",
|
|
expectedValue: {
|
|
fontWeight: "200",
|
|
fontWeightActual: "200",
|
|
fontWeightActualFlat: "200"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/text-decoration-line",
|
|
method: "radioChangeTextDecorationLine",
|
|
valueIndex: 2,
|
|
styleName: "text-decoration-line",
|
|
expectedValue: {
|
|
textDecorationLine: "underline",
|
|
textDecorationLineActual: "underline",
|
|
textDecorationLineActualFlat: "underline"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/text-overflow",
|
|
method: "radioChangeTextOverflow",
|
|
valueIndex: 2,
|
|
styleName: "text-overflow",
|
|
expectedValue: {
|
|
textOverflow: "ellipsis",
|
|
textOverflowActual: "ellipsis",
|
|
textOverflowActualFlat: "ellipsis"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/letter-spacing",
|
|
method: "radioChangeLetterSpacing",
|
|
valueIndex: 5,
|
|
styleName: "letter-spacing",
|
|
expectedValue: {
|
|
letterSpacing: "5px",
|
|
letterSpacingActual: "5px",
|
|
letterSpacingActualFlat: "5px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/line-height",
|
|
method: "radioChangeLineHeight",
|
|
valueIndex: 3,
|
|
styleName: "line-height",
|
|
expectedValue: {
|
|
lineHeight: "25px",
|
|
lineHeightActual: "25px",
|
|
lineHeightActualFlat: "25px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/white-space",
|
|
method: "radioChangeWhiteSpace",
|
|
valueIndex: 3,
|
|
styleName: "white-space",
|
|
expectedValue: {
|
|
whiteSpace: "pre",
|
|
whiteSpaceActual: "pre",
|
|
whiteSpaceActualFlat: "pre"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/font-style",
|
|
method: "radioChangeFontStyle",
|
|
valueIndex: 2,
|
|
styleName: "font-style",
|
|
expectedValue: {
|
|
fontStyle: "italic",
|
|
fontStyleActual: "italic",
|
|
fontStyleActualFlat: "italic"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transform/rotate",
|
|
method: "radioChangeTransform",
|
|
valueIndex: 3,
|
|
styleName: "transform",
|
|
expectedValue: {
|
|
transformValueDynamic: "rotate(90deg)",
|
|
transformActual: "rotate(90deg)",
|
|
transformActualText: "rotate(90deg)",
|
|
transformActualImage: "rotate(90deg)",
|
|
transformActualFlat: "rotate(90deg)",
|
|
transformActualTextFlat: "rotate(90deg)",
|
|
transformActualImageFlat: "rotate(90deg)"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transform/transform-origin",
|
|
method: "radioChangeTransformOrigin",
|
|
valueIndex: 6,
|
|
styleName: "transform-origin",
|
|
expectedValue: {
|
|
transformOrigin: "10px 10px",
|
|
transformOriginActual: "10px 10px",
|
|
transformOriginActualText: "10px 10px",
|
|
transformOriginActualImage: "10px 10px",
|
|
transformOriginActualFlat: "10px 10px",
|
|
transformOriginActualTextFlat: "10px 10px",
|
|
transformOriginActualImageFlat: "10px 10px"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transform/translate",
|
|
method: "radioChangeTransform",
|
|
valueIndex: 4,
|
|
styleName: "transform",
|
|
expectedValue: {
|
|
transformValueDynamic: "translate(50px, 50px)",
|
|
transformActual: "translate(50px, 50px)",
|
|
transformActualText: "translate(50px, 50px)",
|
|
transformActualImage: "translate(50px, 50px)",
|
|
transformActualFlat: "translate(50px, 50px)",
|
|
transformActualTextFlat: "translate(50px, 50px)",
|
|
transformActualImageFlat: "translate(50px, 50px)"
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transition/transition-delay",
|
|
method: "radioChangeTransitionDelay",
|
|
valueIndex: 3,
|
|
styleName: "transition-delay",
|
|
expectedValue: {
|
|
transitionDelayActual: "1s",
|
|
transitionDelayActualText: "1s",
|
|
transitionDelayActualImage: "1s"
|
|
}
|
|
}
|
|
]
|
|
|
|
// dom1 和 dom2 断言存在差异或已知不稳定的页面
|
|
const splitCssTests = [
|
|
{
|
|
path: "/pages/CSS/layout/opacity",
|
|
method: "radioChangeOpacity",
|
|
valueIndex: 3,
|
|
styleName: "opacity",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
opacity: "0.5",
|
|
opacityActual: "0.5",
|
|
opacityActualText: "0.5",
|
|
opacityActualImage: "0.5",
|
|
opacityActualFlat: "0.5",
|
|
opacityActualTextFlat: "0.5",
|
|
opacityActualImageFlat: "0.5"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
opacity: "0.5",
|
|
opacityActual: "0.5",
|
|
opacityActualText: "0.5",
|
|
opacityActualImage: "0.5",
|
|
opacityActualFlat: "0.5",
|
|
opacityActualTextFlat: "0.5",
|
|
opacityActualImageFlat: "0.5"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/layout/z-index",
|
|
method: "radioChangeZIndex",
|
|
valueIndex: 4,
|
|
styleName: "z-index",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
zIndexActual: "10",
|
|
zIndexActualText: "10",
|
|
zIndexActualImage: "10"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
zIndexActual: "10",
|
|
zIndexActualText: "10",
|
|
zIndexActualImage: "10"
|
|
}
|
|
},
|
|
mp: {
|
|
expectedValue: {
|
|
zIndexActual: 10,
|
|
zIndexActualText: "10",
|
|
zIndexActualImage: "10"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/background/background-color",
|
|
method: "radioChangeBackgroundColor",
|
|
valueIndex: 3,
|
|
styleName: "background-color",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
backgroundColor: "#00f8",
|
|
backgroundColorActual: "rgba(0, 0, 255, 0.53)",
|
|
backgroundColorActualText: "rgba(0, 0, 255, 0.53)",
|
|
backgroundColorActualImage: "rgba(0, 0, 255, 0.53)",
|
|
backgroundColorActualFlat: "rgba(0, 0, 255, 0.53)",
|
|
backgroundColorActualTextFlat: "rgba(0, 0, 255, 0.53)",
|
|
backgroundColorActualImageFlat: "rgba(0, 0, 255, 0.53)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
backgroundColor: "#00f8",
|
|
backgroundColorActual: "#00f8",
|
|
backgroundColorActualText: "#00f8",
|
|
backgroundColorActualImage: "#00f8",
|
|
backgroundColorActualFlat: "#00f8",
|
|
backgroundColorActualTextFlat: "#00f8",
|
|
backgroundColorActualImageFlat: "#00f8"
|
|
}
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
backgroundColor: "#00f8",
|
|
backgroundColorActual: "rgba(0, 0, 255, 0.533)",
|
|
backgroundColorActualText: "rgba(0, 0, 255, 0.533)",
|
|
backgroundColorActualImage: "rgba(0, 0, 255, 0.533)",
|
|
backgroundColorActualFlat: "rgba(0, 0, 255, 0.533)",
|
|
backgroundColorActualTextFlat: "rgba(0, 0, 255, 0.533)",
|
|
backgroundColorActualImageFlat: "rgba(0, 0, 255, 0.533)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border",
|
|
method: "radioChangeBorder",
|
|
valueIndex: 3,
|
|
styleName: "border",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
border: "2px dashed blue",
|
|
borderActual: "2px dashed rgb(0, 0, 255)",
|
|
borderActualText: "2px dashed rgb(0, 0, 255)",
|
|
borderActualImage: "2px dashed rgb(0, 0, 255)",
|
|
borderActualFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderActualTextFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderActualImageFlat: "2px dashed rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
border: "2px dashed blue",
|
|
borderActual: "2px dashed blue",
|
|
borderActualText: "2px dashed blue",
|
|
borderActualImage: "2px dashed blue",
|
|
borderActualFlat: "2px dashed blue",
|
|
borderActualTextFlat: "2px dashed blue",
|
|
borderActualImageFlat: "2px dashed blue"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-radius",
|
|
method: "radioChangeBorderRadius",
|
|
valueIndex: 2,
|
|
styleName: "border-radius",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderRadius: "5px",
|
|
borderRadiusActualText: "5px",
|
|
borderRadiusActualImage: "5px",
|
|
borderRadiusActualFlat: "5px",
|
|
borderRadiusActualTextFlat: "5px",
|
|
borderRadiusActualImageFlat: "5px"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderRadius: "5px",
|
|
borderRadiusActualText: "5px",
|
|
borderRadiusActualImage: "5px",
|
|
borderRadiusActualFlat: "5px",
|
|
borderRadiusActualTextFlat: "5px",
|
|
borderRadiusActualImageFlat: "5px"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-color",
|
|
method: "radioChangeBorderColor",
|
|
valueIndex: 2,
|
|
styleName: "border-color",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderColor: "#0000ff",
|
|
borderColorActual: "rgb(0, 0, 255)",
|
|
borderColorActualText: "rgb(0, 0, 255)",
|
|
borderColorActualImage: "rgb(0, 0, 255)",
|
|
borderColorActualFlat: "rgb(0, 0, 255)",
|
|
borderColorActualTextFlat: "rgb(0, 0, 255)",
|
|
borderColorActualImageFlat: "rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderColor: "#0000ff",
|
|
borderColorActual: "#0000ff",
|
|
borderColorActualText: "#0000ff",
|
|
borderColorActualImage: "#0000ff",
|
|
borderColorActualFlat: "#0000ff",
|
|
borderColorActualTextFlat: "#0000ff",
|
|
borderColorActualImageFlat: "#0000ff"
|
|
}
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
borderColor: "#0000ff",
|
|
borderColorActual: "rgb(0, 0, 255)",
|
|
borderColorActualText: "rgb(0, 0, 255)",
|
|
borderColorActualImage: "rgb(0, 0, 255)",
|
|
borderColorActualFlat: "rgb(0, 0, 255)",
|
|
borderColorActualTextFlat: "rgb(0, 0, 255)",
|
|
borderColorActualImageFlat: "rgb(0, 0, 255)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-top",
|
|
method: "radioChangeBorderTop",
|
|
valueIndex: 3,
|
|
styleName: "border-top",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderTop: "2px dashed blue",
|
|
borderTopActual: "2px dashed rgb(0, 0, 255)",
|
|
borderTopActualText: "2px dashed rgb(0, 0, 255)",
|
|
borderTopActualImage: "2px dashed rgb(0, 0, 255)",
|
|
borderTopActualFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderTopActualTextFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderTopActualImageFlat: "2px dashed rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderTop: "2px dashed blue",
|
|
borderTopActual: "2px dashed blue",
|
|
borderTopActualText: "2px dashed blue",
|
|
borderTopActualImage: "2px dashed blue",
|
|
borderTopActualFlat: "2px dashed blue",
|
|
borderTopActualTextFlat: "2px dashed blue",
|
|
borderTopActualImageFlat: "2px dashed blue"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-bottom",
|
|
method: "radioChangeBorderBottom",
|
|
valueIndex: 3,
|
|
styleName: "border-bottom",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderBottom: "2px dashed blue",
|
|
borderBottomActual: "2px dashed rgb(0, 0, 255)",
|
|
borderBottomActualText: "2px dashed rgb(0, 0, 255)",
|
|
borderBottomActualImage: "2px dashed rgb(0, 0, 255)",
|
|
borderBottomActualFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderBottomActualTextFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderBottomActualImageFlat: "2px dashed rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderBottom: "2px dashed blue",
|
|
borderBottomActual: "2px dashed blue",
|
|
borderBottomActualText: "2px dashed blue",
|
|
borderBottomActualImage: "2px dashed blue",
|
|
borderBottomActualFlat: "2px dashed blue",
|
|
borderBottomActualTextFlat: "2px dashed blue",
|
|
borderBottomActualImageFlat: "2px dashed blue"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-left",
|
|
method: "radioChangeBorderLeft",
|
|
valueIndex: 3,
|
|
styleName: "border-left",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderLeft: "2px dashed blue",
|
|
borderLeftActual: "2px dashed rgb(0, 0, 255)",
|
|
borderLeftActualText: "2px dashed rgb(0, 0, 255)",
|
|
borderLeftActualImage: "2px dashed rgb(0, 0, 255)",
|
|
borderLeftActualFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderLeftActualTextFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderLeftActualImageFlat: "2px dashed rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderLeft: "2px dashed blue",
|
|
borderLeftActual: "2px dashed blue",
|
|
borderLeftActualText: "2px dashed blue",
|
|
borderLeftActualImage: "2px dashed blue",
|
|
borderLeftActualFlat: "2px dashed blue",
|
|
borderLeftActualTextFlat: "2px dashed blue",
|
|
borderLeftActualImageFlat: "2px dashed blue"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/border/border-right",
|
|
method: "radioChangeBorderRight",
|
|
valueIndex: 3,
|
|
styleName: "border-right",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
borderRight: "2px dashed blue",
|
|
borderRightActual: "2px dashed rgb(0, 0, 255)",
|
|
borderRightActualText: "2px dashed rgb(0, 0, 255)",
|
|
borderRightActualImage: "2px dashed rgb(0, 0, 255)",
|
|
borderRightActualFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderRightActualTextFlat: "2px dashed rgb(0, 0, 255)",
|
|
borderRightActualImageFlat: "2px dashed rgb(0, 0, 255)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
borderRight: "2px dashed blue",
|
|
borderRightActual: "2px dashed blue",
|
|
borderRightActualText: "2px dashed blue",
|
|
borderRightActualImage: "2px dashed blue",
|
|
borderRightActualFlat: "2px dashed blue",
|
|
borderRightActualTextFlat: "2px dashed blue",
|
|
borderRightActualImageFlat: "2px dashed blue"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/box-shadow/box-shadow",
|
|
method: "radioChangeBoxShadow",
|
|
valueIndex: 3,
|
|
styleName: "box-shadow",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
boxShadow: "5px 5px 5px black",
|
|
boxShadowActual: "5px 5px 5px rgb(0, 0, 0)",
|
|
boxShadowActualText: "5px 5px 5px rgb(0, 0, 0)",
|
|
boxShadowActualImage: "5px 5px 5px rgb(0, 0, 0)",
|
|
boxShadowActualFlat: "5px 5px 5px rgb(0, 0, 0)",
|
|
boxShadowActualTextFlat: "5px 5px 5px rgb(0, 0, 0)",
|
|
boxShadowActualImageFlat: "5px 5px 5px rgb(0, 0, 0)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
boxShadow: "5px 5px 5px black",
|
|
boxShadowActual: "5px 5px 5px black",
|
|
boxShadowActualText: "5px 5px 5px black",
|
|
boxShadowActualImage: "5px 5px 5px black",
|
|
boxShadowActualFlat: "5px 5px 5px black",
|
|
boxShadowActualTextFlat: "5px 5px 5px black",
|
|
boxShadowActualImageFlat: "5px 5px 5px black"
|
|
}
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
boxShadow: "5px 5px 5px black",
|
|
boxShadowActual: "black 5px 5px 5px",
|
|
boxShadowActualText: "black 5px 5px 5px",
|
|
boxShadowActualImage: "black 5px 5px 5px",
|
|
boxShadowActualFlat: "black 5px 5px 5px",
|
|
boxShadowActualTextFlat: "black 5px 5px 5px",
|
|
boxShadowActualImageFlat: "black 5px 5px 5px"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex-flow",
|
|
method: "radioChangeFlexFlow",
|
|
valueIndex: 2,
|
|
styleName: "flex-flow",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
flexFlow: "row wrap",
|
|
flexFlowActual: "row wrap",
|
|
flexFlowActualFlat: "row wrap"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
flexFlow: "row wrap",
|
|
flexFlowActual: "row wrap",
|
|
flexFlowActualFlat: "row wrap"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
flexFlow: "row wrap",
|
|
flexFlowActual: "wrap",
|
|
flexFlowActualFlat: "wrap"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/flex/flex",
|
|
method: "radioChangeFlex",
|
|
valueIndex: 2,
|
|
styleName: "flex",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
flexActual: "1 1 0%",
|
|
flexActualFlat: "1 1 0%",
|
|
flexActualText: "1 1 0%",
|
|
flexActualImage: "1 1 0%",
|
|
flexActualTextFlat: "1 1 0%",
|
|
flexActualImageFlat: "1 1 0%"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
flexActual: "1",
|
|
flexActualFlat: "1",
|
|
flexActualText: "1",
|
|
flexActualImage: "1",
|
|
flexActualTextFlat: "1",
|
|
flexActualImageFlat: "1"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
flexActual: "1 1 0%",
|
|
flexActualFlat: "1 1 0%",
|
|
flexActualText: "1 1 0%",
|
|
flexActualImage: "1 1 0%",
|
|
flexActualTextFlat: "1 1 0%",
|
|
flexActualImageFlat: "1 1 0%"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin-auto",
|
|
method: "radioChangeMargin",
|
|
valueIndex: 3,
|
|
styleName: "margin",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
margin: "20px",
|
|
marginActual: "20px",
|
|
marginActualText: "20px",
|
|
marginActualImage: "20px",
|
|
marginActualFlat: "20px",
|
|
marginActualTextFlat: "20px",
|
|
marginActualImageFlat: "20px"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
margin: "20px",
|
|
marginActual: "20px",
|
|
marginActualText: "20px",
|
|
marginActualImage: "20px",
|
|
marginActualFlat: "20px",
|
|
marginActualTextFlat: "20px",
|
|
marginActualImageFlat: "20px"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/margin/margin",
|
|
method: "radioChangeMargin",
|
|
valueIndex: 3,
|
|
styleName: "margin",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
margin: "20px",
|
|
marginActual: "20px",
|
|
marginActualText: "20px",
|
|
marginActualImage: "20px",
|
|
marginActualFlat: "20px",
|
|
marginActualTextFlat: "20px",
|
|
marginActualImageFlat: "20px",
|
|
marginActualScrollView: "20px"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
margin: "20px",
|
|
marginActual: "20px",
|
|
marginActualText: "20px",
|
|
marginActualImage: "20px",
|
|
marginActualFlat: "20px",
|
|
marginActualTextFlat: "20px",
|
|
marginActualImageFlat: "20px",
|
|
marginActualScrollView: "20px"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/padding/padding",
|
|
method: "radioChangePadding",
|
|
valueIndex: 3,
|
|
styleName: "padding",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
padding: "10px",
|
|
paddingActual: "10px",
|
|
paddingActualText: "10px",
|
|
paddingActualImage: "10px",
|
|
paddingActualFlat: "10px",
|
|
paddingActualTextFlat: "10px",
|
|
paddingActualImageFlat: "10px",
|
|
paddingActualScrollView: "10px"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
padding: "10px",
|
|
paddingActual: "10px",
|
|
paddingActualText: "10px",
|
|
paddingActualImage: "10px",
|
|
paddingActualFlat: "10px",
|
|
paddingActualTextFlat: "10px",
|
|
paddingActualImageFlat: "10px",
|
|
paddingActualScrollView: "10px"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/color",
|
|
method: "radioChangeColor",
|
|
valueIndex: 2,
|
|
styleName: "color",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
color: "#942192",
|
|
colorActual: "rgb(148, 33, 146)",
|
|
colorActualFlat: "rgb(148, 33, 146)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
color: "#942192",
|
|
colorActual: "#942192",
|
|
colorActualFlat: "#942192"
|
|
}
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
color: "#942192",
|
|
colorActual: "rgb(148, 33, 146)",
|
|
colorActualFlat: "rgb(148, 33, 146)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/text/text-shadow",
|
|
method: "radioChangeTextShadow",
|
|
valueIndex: 3,
|
|
styleName: "text-shadow",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
textShadow: "5px 5px #558abb",
|
|
textShadowActual: "5px 5px 0px rgb(85, 138, 187)",
|
|
textShadowActualFlat: "5px 5px 0px rgb(85, 138, 187)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
textShadow: "5px 5px #558abb",
|
|
textShadowActual: "5px 5px #558abb",
|
|
textShadowActualFlat: "5px 5px #558abb"
|
|
}
|
|
},
|
|
harmony: {
|
|
skipAssert: true
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
textShadow: "5px 5px #558abb",
|
|
textShadowActual: "rgb(85, 138, 187) 5px 5px",
|
|
textShadowActualFlat: "rgb(85, 138, 187) 5px 5px"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transform/scale",
|
|
method: "radioChangeTransform",
|
|
valueIndex: 2,
|
|
styleName: "transform",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
transformValueDynamic: "scale(0.5,0.5)",
|
|
transformActual: "scale(0.5, 0.5)",
|
|
transformActualText: "scale(0.5, 0.5)",
|
|
transformActualImage: "scale(0.5, 0.5)",
|
|
transformActualFlat: "scale(0.5, 0.5)",
|
|
transformActualTextFlat: "scale(0.5, 0.5)",
|
|
transformActualImageFlat: "scale(0.5, 0.5)"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
transformValueDynamic: "scale(0.5,0.5)",
|
|
transformActual: "scale(0.5,0.5)",
|
|
transformActualText: "scale(0.5,0.5)",
|
|
transformActualImage: "scale(0.5,0.5)",
|
|
transformActualFlat: "scale(0.5,0.5)",
|
|
transformActualTextFlat: "scale(0.5,0.5)",
|
|
transformActualImageFlat: "scale(0.5,0.5)"
|
|
}
|
|
},
|
|
web: {
|
|
expectedValue: {
|
|
transformValueDynamic: "scale(0.5,0.5)",
|
|
transformActual: "scale(0.5, 0.5)",
|
|
transformActualText: "scale(0.5, 0.5)",
|
|
transformActualImage: "scale(0.5, 0.5)",
|
|
transformActualFlat: "scale(0.5, 0.5)",
|
|
transformActualTextFlat: "scale(0.5, 0.5)",
|
|
transformActualImageFlat: "scale(0.5, 0.5)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
path: "/pages/CSS/transition/transition-timing-function",
|
|
method: "radioChangeTransitionTimingFunction",
|
|
valueIndex: 3,
|
|
styleName: "transition-timing-function",
|
|
expectdom2: {
|
|
expectedValue: {
|
|
transitionTimingFunctionActual: "ease-out",
|
|
transitionTimingFunctionActualText: "ease-out",
|
|
transitionTimingFunctionActualImage: "ease-out"
|
|
}
|
|
},
|
|
expectdom1: {
|
|
base: {
|
|
expectedValue: {
|
|
transitionTimingFunctionActual: "ease-out",
|
|
transitionTimingFunctionActualText: "ease-out",
|
|
transitionTimingFunctionActualImage: "ease-out"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
|
|
const cssTests = [...sharedCssTests, ...splitCssTests]
|
|
|
|
const getDom1Config = (testCase) => {
|
|
const dom1Config = testCase.expectdom1 ?? {}
|
|
const baseConfig = dom1Config.base ?? {
|
|
skipAssert: false,
|
|
expectedValue: {}
|
|
}
|
|
const platformConfig = isHarmony ?
|
|
dom1Config.harmony :
|
|
(currentPlatform === 'web' ?
|
|
dom1Config.web :
|
|
(currentPlatform === 'mp' ? dom1Config.mp : dom1Config.app))
|
|
return {
|
|
skipAssert: platformConfig?.skipAssert ?? baseConfig.skipAssert ?? false,
|
|
expectedValue: {
|
|
...(baseConfig.expectedValue ?? {}),
|
|
...(platformConfig?.expectedValue ?? {})
|
|
}
|
|
}
|
|
}
|
|
|
|
const getAssertConfig = (testCase) => {
|
|
if ('expectedValue' in testCase) {
|
|
return {
|
|
skipAssert: testCase.skipAssert ?? false,
|
|
expectedValue: testCase.expectedValue ?? {}
|
|
}
|
|
}
|
|
if (isDom2) {
|
|
const dom2Config = testCase.expectdom2 ?? {}
|
|
return {
|
|
skipAssert: dom2Config.skipAssert ?? false,
|
|
expectedValue: dom2Config.expectedValue ?? {}
|
|
}
|
|
}
|
|
return getDom1Config(testCase)
|
|
}
|
|
|
|
const stringifyLogData = (value) => {
|
|
try {
|
|
return JSON.stringify(value)
|
|
} catch (e) {
|
|
return String(value)
|
|
}
|
|
}
|
|
|
|
const mergeOverride = (testCase, override) => {
|
|
if ('expectedValue' in testCase || 'expectedValue' in override) {
|
|
return {
|
|
...testCase,
|
|
...override
|
|
}
|
|
}
|
|
return {
|
|
...testCase,
|
|
...override,
|
|
expectdom2: {
|
|
...(testCase.expectdom2 ?? {}),
|
|
...(override.expectdom2 ?? {})
|
|
},
|
|
expectdom1: {
|
|
...(testCase.expectdom1 ?? {}),
|
|
...(override.expectdom1 ?? {}),
|
|
base: {
|
|
...(testCase.expectdom1?.base ?? {}),
|
|
...(override.expectdom1?.base ?? {})
|
|
},
|
|
app: {
|
|
...(testCase.expectdom1?.app ?? {}),
|
|
...(override.expectdom1?.app ?? {})
|
|
},
|
|
web: {
|
|
...(testCase.expectdom1?.web ?? {}),
|
|
...(override.expectdom1?.web ?? {})
|
|
},
|
|
mp: {
|
|
...(testCase.expectdom1?.mp ?? {}),
|
|
...(override.expectdom1?.mp ?? {})
|
|
},
|
|
harmony: {
|
|
...(testCase.expectdom1?.harmony ?? {}),
|
|
...(override.expectdom1?.harmony ?? {})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
const overrideMap = TEST_OVERRIDE ?
|
|
Object.fromEntries(TEST_OVERRIDE.map(o => [o.path, o])) :
|
|
null
|
|
const overridePaths = overrideMap ? Object.keys(overrideMap) : null
|
|
|
|
const filterPath = process.env.TEST_PATH;
|
|
const filteredTests = (filterPath ?
|
|
cssTests.filter(t => t.path === filterPath) :
|
|
overridePaths ?
|
|
cssTests.filter(t => overridePaths.includes(t.path)) :
|
|
cssTests
|
|
).map(t => overrideMap?.[t.path] ? mergeOverride(t, overrideMap[t.path]) : t);
|
|
|
|
const BATCH_SIZE = 15;
|
|
const cssTestBatches = [];
|
|
for (let i = 0; i < filteredTests.length; i += BATCH_SIZE) {
|
|
cssTestBatches.push(filteredTests.slice(i, i + BATCH_SIZE));
|
|
}
|
|
|
|
cssTestBatches.forEach((batch, batchIndex) => {
|
|
describe(`CSS setProperty compatible ${currentMode} Batch ${batchIndex + 1}`, () => {
|
|
beforeAll(async () => {
|
|
// console.log(`Starting CSS compatible ${currentMode} batch ${batchIndex + 1} with ${batch.length} tests`);
|
|
});
|
|
|
|
afterAll(async () => {
|
|
// console.log(`Finished CSS compatible ${currentMode} batch ${batchIndex + 1}`);
|
|
});
|
|
|
|
test.each(batch)("%s", async (testCase) => {
|
|
// console.log(`Testing: ${testCase.path}`);
|
|
|
|
const page = await program.reLaunch(testCase.path);
|
|
await page.waitFor(3000);
|
|
|
|
await page.callMethod(testCase.method, testCase.valueIndex);
|
|
await page.waitFor(100);
|
|
|
|
const image = await program.screenshot({
|
|
fullPage: true
|
|
});
|
|
expect(image).toSaveImageSnapshot({
|
|
customSnapshotIdentifier() {
|
|
return `__set-css__/${currentMode}/${testCase.path.replace(/\//g, "-").substring(1)}`
|
|
}
|
|
});
|
|
|
|
const assertConfig = getAssertConfig(testCase)
|
|
const afterData = await page.data('data');
|
|
const expectedValue = assertConfig.expectedValue ?? {}
|
|
console.log(`[getPropertyValue] ${testCase.path} (${currentMode}) ${stringifyLogData(afterData)}`);
|
|
|
|
if (!assertConfig.skipAssert) {
|
|
const errors = [];
|
|
const softExpect = (received, expected, key) => {
|
|
try {
|
|
expect(received).toBe(expected);
|
|
} catch (e) {
|
|
errors.push(` ${key}: expected "${expected}", received "${received}"`);
|
|
}
|
|
};
|
|
|
|
if (typeof expectedValue === 'object') {
|
|
for (const [key, val] of Object.entries(expectedValue)) {
|
|
softExpect(afterData[key], val, key);
|
|
}
|
|
} else {
|
|
const received = afterData[testCase.styleName + 'Actual'] ?? afterData[testCase.styleName];
|
|
softExpect(received, expectedValue, testCase.styleName);
|
|
}
|
|
|
|
if (errors.length > 0) {
|
|
throw new Error(`[ASSERT FAILED] ${testCase.path} (${currentMode})\n${errors.join("\n")}`);
|
|
}
|
|
}
|
|
|
|
await page.waitFor(500);
|
|
});
|
|
});
|
|
});
|
|
})
|
|
|