Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade tests to use react/jsx-runtime #28252

Merged
merged 1 commit into from
Feb 6, 2024

Commits on Feb 6, 2024

  1. Upgrade tests to use react/jsx-runtime

    Instead of createElement.
    
    We should have done this when we initially released jsx-runtime but better
    late than never. The general principle is that our tests should b
     written using the most up-to-date idioms that we recommend for users,
    except when explicitly testing an edge case or legacy behavior, like for
    backwards compatibility.
    
    Most of the diff is related to tweaking test output and isn't
    very interesting.
    
    I did have to workaround an issue related to component stacks. The
    component stack logic depends on shared state that lives in the React
    module. The problem is that most of our tests reset the React module
    state and re-require a fresh instance of React, React DOM, etc.
    However, the JSX runtime is not re-required because it's injected by
    the compiler as a static import. This means its copy of the shared state
    is no longer the same as the one used by React, causing any warning
    logged by the JSX runtime to not include a component stack. (This same
    issue also breaks string refs, but since we're removing those soon I'm
    not so concerned about that.) The solution I went with for now is to
    mock the JSX runtime with a proxy that re-requires the module on every
    function invocation. I don't love this but it will have to do for now.
    What we should really do is migrate our tests away from manually
    resetting the module state and use import syntax instead.
    acdlite committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    987f515 View commit details
    Browse the repository at this point in the history