@tamagui/react-native-web-lite
Version:
React Native for Web
748 lines (747 loc) • 25.5 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { render } from "@testing-library/react";
import "react";
import createElement from "..";
function getAttribute(container, attribute) {
return container.firstChild.getAttribute(attribute);
}
function getProperty(container, prop) {
return container.firstChild[prop];
}
describe("exports/createElement/index.js", function () {
test("renders different DOM elements", function () {
var {
container
} = render(createElement("span"));
expect(container.firstChild).toMatchSnapshot(), {
container
} = render(createElement("main")), expect(container.firstChild).toMatchSnapshot(), {
container
} = render(createElement("svg", {
children: createElement("image", {
href: "#href"
})
})), expect(container.firstChild).toMatchSnapshot();
}), describe('prop "accessibilityRole"', function () {
test("string component type", function () {
var {
container
} = render(createElement("span", {
accessibilityRole: "link"
}));
expect(container.firstChild.nodeName).toBe("SPAN");
}), test("function component type", function () {
var Custom = function () {
return /* @__PURE__ */_jsx("div", {});
},
{
container
} = render(createElement(Custom, {
accessibilityRole: "link"
}));
expect(container.firstChild.nodeName).toBe("DIV");
});
}), describe("accessibility props", function () {
test("accessibilityActiveDescendant", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityActiveDescendant: null
}));
expect(getAttribute(isEmpty, "aria-activedescendant")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityActiveDescendant: "abc"
}));
expect(getAttribute(hasValue, "aria-activedescendant")).toBe("abc");
}), test("accessibilityAtomic", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityAtomic: null
}));
expect(getAttribute(isEmpty, "aria-atomic")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityAtomic: !0
}));
expect(getAttribute(hasValue, "aria-atomic")).toBe("true");
}), test("accessibilityAutoComplete", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityAutoComplete: null
}));
expect(getAttribute(isEmpty, "aria-autocomplete")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityAutoComplete: !0
}));
expect(getAttribute(hasValue, "aria-autocomplete")).toBe("true");
}), test("accessibilityBusy", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityBusy: null
}));
expect(getAttribute(isEmpty, "aria-busy")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityBusy: !0
}));
expect(getAttribute(hasValue, "aria-busy")).toBe("true");
}), test("accessibilityChecked", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityChecked: null
}));
expect(getAttribute(isEmpty, "aria-checked")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityChecked: !0
}));
expect(getAttribute(hasValue, "aria-checked")).toBe("true");
}), test("accessibilityColumnCount", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityColumnCount: null
}));
expect(getAttribute(isEmpty, "aria-colcount")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityColumnCount: 5
}));
expect(getAttribute(hasValue, "aria-colcount")).toBe("5");
}), test("accessibilityColumnIndex", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityColumnIndex: null
}));
expect(getAttribute(isEmpty, "aria-colindex")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityColumnIndex: 5
}));
expect(getAttribute(hasValue, "aria-colindex")).toBe("5");
}), test("accessibilityColumnSpan", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityColumnSpan: null
}));
expect(getAttribute(isEmpty, "aria-colspan")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityColumnSpan: 5
}));
expect(getAttribute(hasValue, "aria-colspan")).toBe("5");
}), test("accessibilityControls", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityControls: null
}));
expect(getAttribute(isEmpty, "aria-controls")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityControls: "abc"
}));
expect(getAttribute(hasValue, "aria-controls")).toBe("abc");
var {
container: hasMultipleValues
} = render(createElement("div", {
accessibilityControls: ["abc", "def"]
}));
expect(getAttribute(hasMultipleValues, "aria-controls")).toBe("abc def");
}), test("accessibilityCurrent", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityCurrent: null
}));
expect(getAttribute(isEmpty, "aria-current")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityCurrent: "page"
}));
expect(getAttribute(hasValue, "aria-current")).toBe("page");
}), test("accessibilityDescribedBy", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityDescribedBy: null
}));
expect(getAttribute(isEmpty, "aria-describedby")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityDescribedBy: "abc"
}));
expect(getAttribute(hasValue, "aria-describedby")).toBe("abc");
var {
container: hasMultipleValues
} = render(createElement("div", {
accessibilityDescribedBy: ["abc", "def"]
}));
expect(getAttribute(hasMultipleValues, "aria-describedby")).toBe("abc def");
}), test("accessibilityDetails", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityDetails: null
}));
expect(getAttribute(isEmpty, "aria-details")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityDetails: "abc"
}));
expect(getAttribute(hasValue, "aria-details")).toBe("abc");
}), test("accessibilityDisabled", function () {
var {
container: isEmpty
} = render(createElement("button", {
accessibilityDisabled: null
}));
expect(getAttribute(isEmpty, "aria-disabled")).toBeNull(), expect(getProperty(isEmpty, "disabled")).toBe(!1);
var {
container: hasValue
} = render(createElement("button", {
accessibilityDisabled: !0
}));
expect(getAttribute(hasValue, "aria-disabled")).toBe("true"), expect(getProperty(hasValue, "disabled")).toBe(!0);
}), test("accessibilityErrorMessage", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityErrorMessage: null
}));
expect(getAttribute(isEmpty, "aria-errormessage")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityErrorMessage: "abc"
}));
expect(getAttribute(hasValue, "aria-errormessage")).toBe("abc");
}), test("accessibilityExpanded", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityExpanded: null
}));
expect(getAttribute(isEmpty, "aria-expanded")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityExpanded: !0
}));
expect(getAttribute(hasValue, "aria-expanded")).toBe("true");
}), test("accessibilityFlowTo", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityFlowTo: null
}));
expect(getAttribute(isEmpty, "aria-flowto")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityFlowTo: "abc"
}));
expect(getAttribute(hasValue, "aria-flowto")).toBe("abc");
var {
container: hasMultipleValues
} = render(createElement("div", {
accessibilityFlowTo: ["abc", "def"]
}));
expect(getAttribute(hasMultipleValues, "aria-flowto")).toBe("abc def");
}), test("accessibilityHasPopup", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityHasPopup: null
}));
expect(getAttribute(isEmpty, "aria-haspopup")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityHasPopup: !0
}));
expect(getAttribute(hasValue, "aria-haspopup")).toBe("true");
}), test("accessibilityHidden", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityHidden: null
}));
expect(getAttribute(isEmpty, "aria-hidden")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityHidden: !0
}));
expect(getAttribute(hasValue, "aria-hidden")).toBe("true");
}), test("accessibilityInvalid", function () {
var {
container: isEmpty
} = render(createElement("input", {
accessibilityInvalid: null
}));
expect(getAttribute(isEmpty, "aria-invalid")).toBeNull();
var {
container: hasValue
} = render(createElement("input", {
accessibilityInvalid: !0
}));
expect(getAttribute(hasValue, "aria-invalid")).toBe("true");
}), test("accessibilityKeyShortcuts", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityKeyShortcuts: null
}));
expect(getAttribute(isEmpty, "aria-keyshortcuts")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityKeyShortcuts: ["ArrowUp", "Enter", "Space", "Alt+Shift+T"]
}));
expect(getAttribute(hasValue, "aria-keyshortcuts")).toBe("ArrowUp Enter Space Alt+Shift+T");
}), test("accessibilityLabel", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityLabel: null
}));
expect(getAttribute(isEmpty, "aria-label")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityLabel: "abc"
}));
expect(getAttribute(hasValue, "aria-label")).toBe("abc");
}), test("accessibilityLabelledBy", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityLabelledBy: null
}));
expect(getAttribute(isEmpty, "aria-labelledby")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityLabelledBy: "abc"
}));
expect(getAttribute(hasValue, "aria-labelledby")).toBe("abc");
var {
container: hasMultipleValues
} = render(createElement("div", {
accessibilityLabelledBy: ["abc", "def"]
}));
expect(getAttribute(hasMultipleValues, "aria-labelledby")).toBe("abc def");
}), test("accessibilityLevel", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityLevel: null
}));
expect(getAttribute(isEmpty, "aria-level")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityLevel: 3
}));
expect(getAttribute(hasValue, "aria-level")).toBe("3");
}), test("accessibilityLiveRegion", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityLiveRegion: null
}));
expect(getAttribute(isEmpty, "aria-live")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityLiveRegion: "polite"
}));
expect(getAttribute(hasValue, "aria-live")).toBe("polite");
}), test("accessibilityModal", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityModal: null
}));
expect(getAttribute(isEmpty, "aria-modal")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityModal: !0
}));
expect(getAttribute(hasValue, "aria-modal")).toBe("true");
}), test("accessibilityMultiline", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityMultiline: null
}));
expect(getAttribute(isEmpty, "aria-multiline")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityMultiline: !0
}));
expect(getAttribute(hasValue, "aria-multiline")).toBe("true");
}), test("accessibilityMultiSelectable", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityMultiSelectable: null
}));
expect(getAttribute(isEmpty, "aria-multiselectable")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityMultiSelectable: !0
}));
expect(getAttribute(hasValue, "aria-multiselectable")).toBe("true");
}), test("accessibilityOrientation", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityOrientation: null
}));
expect(getAttribute(isEmpty, "aria-orientation")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityOrientation: "vertical"
}));
expect(getAttribute(hasValue, "aria-orientation")).toBe("vertical");
}), test("accessibilityOwns", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityOwns: null
}));
expect(getAttribute(isEmpty, "aria-owns")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityOwns: "abc"
}));
expect(getAttribute(hasValue, "aria-owns")).toBe("abc");
var {
container: hasMultipleValues
} = render(createElement("div", {
accessibilityOwns: ["abc", "def"]
}));
expect(getAttribute(hasMultipleValues, "aria-owns")).toBe("abc def");
}), test("accessibilityPlaceholder", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityPlaceholder: null
}));
expect(getAttribute(isEmpty, "aria-placeholder")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityPlaceholder: "MM-DD-YYYY"
}));
expect(getAttribute(hasValue, "aria-placeholder")).toBe("MM-DD-YYYY");
}), test("accessibilityPosInSet", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityPosInSet: null
}));
expect(getAttribute(isEmpty, "aria-posinset")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityPosInSet: 3
}));
expect(getAttribute(hasValue, "aria-posinset")).toBe("3");
}), test("accessibilityPressed", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityPressed: null
}));
expect(getAttribute(isEmpty, "aria-pressed")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityPressed: !0
}));
expect(getAttribute(hasValue, "aria-pressed")).toBe("true");
}), test("accessibilityReadOnly", function () {
var {
container: isEmpty
} = render(createElement("input", {
accessibilityReadOnly: null
}));
expect(getAttribute(isEmpty, "aria-readonly")).toBeNull(), expect(getProperty(isEmpty, "readOnly")).toBe(!1);
var {
container: hasValue
} = render(createElement("input", {
accessibilityReadOnly: !0
}));
expect(getAttribute(hasValue, "aria-readonly")).toBe("true"), expect(getProperty(hasValue, "readOnly")).toBe(!0);
}), test("accessibilityRequired", function () {
var {
container: isEmpty
} = render(createElement("input", {
accessibilityRequired: null
}));
expect(getAttribute(isEmpty, "aria-required")).toBeNull(), expect(getProperty(isEmpty, "required")).toBe(!1);
var {
container: hasValue
} = render(createElement("input", {
accessibilityRequired: !0
}));
expect(getAttribute(hasValue, "aria-required")).toBe("true"), expect(getProperty(hasValue, "required")).toBe(!0);
}), test("accessibilityRole", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityRole: null
}));
expect(getAttribute(isEmpty, "role")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityRole: "button"
}));
expect(getAttribute(hasValue, "role")).toBe("button"), expect(getAttribute(hasValue, "tabIndex")).toBe("0");
var {
container: roleIsNone
} = render(createElement("div", {
accessibilityRole: "none"
}));
expect(getAttribute(roleIsNone, "role")).toBe("presentation");
}), test("accessibilityRoleDescription", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityRoleDescription: null
}));
expect(getAttribute(isEmpty, "aria-roledescription")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityRoleDescription: "abc"
}));
expect(getAttribute(hasValue, "aria-roledescription")).toBe("abc");
}), test("accessibilityRowCount", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityRowCount: null
}));
expect(getAttribute(isEmpty, "aria-rowcount")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityRowCount: 5
}));
expect(getAttribute(hasValue, "aria-rowcount")).toBe("5");
}), test("accessibilityRowIndex", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityRowIndex: null
}));
expect(getAttribute(isEmpty, "aria-rowindex")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityRowIndex: 5
}));
expect(getAttribute(hasValue, "aria-rowindex")).toBe("5");
}), test("accessibilityRowSpan", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityRowSpan: null
}));
expect(getAttribute(isEmpty, "aria-rowspan")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityRowSpan: 5
}));
expect(getAttribute(hasValue, "aria-rowspan")).toBe("5");
}), test("accessibilitySelected", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilitySelected: null
}));
expect(getAttribute(isEmpty, "aria-selected")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilitySelected: !0
}));
expect(getAttribute(hasValue, "aria-selected")).toBe("true");
}), test("accessibilitySetSize", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilitySetSize: null
}));
expect(getAttribute(isEmpty, "aria-setsize")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilitySetSize: 5
}));
expect(getAttribute(hasValue, "aria-setsize")).toBe("5");
}), test("accessibilitySort", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilitySort: null
}));
expect(getAttribute(isEmpty, "aria-sort")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilitySort: "ascending"
}));
expect(getAttribute(hasValue, "aria-sort")).toBe("ascending");
}), test("accessibilityValueMax", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityValueMax: null
}));
expect(getAttribute(isEmpty, "aria-valuemax")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityValueMax: 100
}));
expect(getAttribute(hasValue, "aria-valuemax")).toBe("100");
}), test("accessibilityValueMin", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityValueMin: null
}));
expect(getAttribute(isEmpty, "aria-valuemin")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityValueMin: 10
}));
expect(getAttribute(hasValue, "aria-valuemin")).toBe("10");
}), test("accessibilityValueNow", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityValueNow: null
}));
expect(getAttribute(isEmpty, "aria-valuenow")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityValueNow: 50
}));
expect(getAttribute(hasValue, "aria-valuenow")).toBe("50");
}), test("accessibilityValueText", function () {
var {
container: isEmpty
} = render(createElement("div", {
accessibilityValueText: null
}));
expect(getAttribute(isEmpty, "aria-valuetext")).toBeNull();
var {
container: hasValue
} = render(createElement("div", {
accessibilityValueText: "fifty"
}));
expect(getAttribute(hasValue, "aria-valuetext")).toBe("fifty");
}), test("dataSet", function () {
var {
container: hasValue
} = render(createElement("div", {
dataSet: {
one: "1",
two: "2",
camelCase: "camelCase",
msPrefix: "msPrefix"
}
}));
expect(hasValue.firstChild).toMatchInlineSnapshot(`
<div
data-camel-case="camelCase"
data-ms-prefix="msPrefix"
data-one="1"
data-two="2"
/>
`);
}), test("focusable", function () {
var {
container: isEmpty
} = render(createElement("div", {
focusable: null
}));
expect(getAttribute(isEmpty, "tabindex")).toBeNull();
var {
container: isTrue
} = render(createElement("div", {
focusable: !0
}));
expect(getAttribute(isTrue, "tabindex")).toBe("0");
var {
container: isFalseNativelyFocusable
} = render(createElement("button", {
focusable: !1
}));
expect(getAttribute(isFalseNativelyFocusable, "tabindex")).toBe("-1");
var {
container: isDisabledNativelyFocusable
} = render(createElement("button", {
accessibilityDisabled: !0,
focusable: !0
}));
expect(getAttribute(isDisabledNativelyFocusable, "tabindex")).toBe("-1");
var {
container: isTrueNativelyFocusable
} = render(createElement("button", {
focusable: !0
}));
expect(getAttribute(isTrueNativelyFocusable, "tabindex")).toBeNull();
var {
container: isFocusableRole
} = render(createElement("div", {
accessibilityRole: "button",
focusable: !0
}));
expect(getAttribute(isFocusableRole, "tabindex")).toBe("0");
var {
container: isFalseFocusableRole
} = render(createElement("div", {
accessibilityRole: "button",
focusable: !1
}));
expect(getAttribute(isFalseFocusableRole, "tabindex")).toBe("-1");
});
});
});
//# sourceMappingURL=index-test.native.js.map