UNPKG

@tamagui/react-native-web-lite

Version:
748 lines (747 loc) 25.5 kB
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