mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix CPU spike when opening PodDetails from MonacoEditor (#5642)
(cherry picked from commit 95ed0dda1b)
This commit is contained in:
parent
d18bf11410
commit
76d707d257
@ -0,0 +1,134 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`<DrawerParamToggler /> after clicking the toggle after clicking the toggle again renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerParamToggler"
|
||||
>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div
|
||||
class="param-label"
|
||||
>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
class="param-link"
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span
|
||||
class="param-link-text"
|
||||
>
|
||||
Show
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_down"
|
||||
>
|
||||
arrow_drop_down
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="param-content"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`<DrawerParamToggler /> after clicking the toggle renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerParamToggler"
|
||||
>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div
|
||||
class="param-label"
|
||||
>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
class="param-link"
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span
|
||||
class="param-link-text"
|
||||
>
|
||||
Hide
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_up"
|
||||
>
|
||||
arrow_drop_up
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="param-content open"
|
||||
>
|
||||
<div
|
||||
data-testid="drawer-child"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
|
||||
exports[`<DrawerParamToggler /> renders 1`] = `
|
||||
<body>
|
||||
<div>
|
||||
<div
|
||||
class="DrawerParamToggler"
|
||||
>
|
||||
<div
|
||||
class="flex gaps align-center params"
|
||||
>
|
||||
<div
|
||||
class="param-label"
|
||||
>
|
||||
Foo
|
||||
</div>
|
||||
<div
|
||||
class="param-link"
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span
|
||||
class="param-link-text"
|
||||
>
|
||||
Show
|
||||
</span>
|
||||
<i
|
||||
class="Icon material focusable"
|
||||
>
|
||||
<span
|
||||
class="icon"
|
||||
data-icon-name="arrow_drop_down"
|
||||
>
|
||||
arrow_drop_down
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="param-content"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
`;
|
||||
59
src/renderer/components/drawer/drawer-param-toggler.test.tsx
Normal file
59
src/renderer/components/drawer/drawer-param-toggler.test.tsx
Normal file
@ -0,0 +1,59 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
|
||||
import type { RenderResult } from "@testing-library/react";
|
||||
import { render } from "@testing-library/react";
|
||||
import React from "react";
|
||||
import { DrawerParamToggler } from "./drawer-param-toggler";
|
||||
|
||||
describe("<DrawerParamToggler />", () => {
|
||||
let result: RenderResult;
|
||||
|
||||
beforeEach(() => {
|
||||
result = render((
|
||||
<DrawerParamToggler
|
||||
label="Foo"
|
||||
>
|
||||
<div data-testid="drawer-child"></div>
|
||||
</DrawerParamToggler>
|
||||
));
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not render children by default", () => {
|
||||
expect(result.queryByTestId("drawer-child")).toBeNull();
|
||||
});
|
||||
|
||||
describe("after clicking the toggle", () => {
|
||||
beforeEach(() => {
|
||||
result.getByTestId("drawer-param-toggler").click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("renders children", () => {
|
||||
expect(result.queryByTestId("drawer-child")).not.toBeNull();
|
||||
});
|
||||
|
||||
describe("after clicking the toggle again", () => {
|
||||
beforeEach(() => {
|
||||
result.getByTestId("drawer-param-toggler").click();
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
expect(result.baseElement).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it("does not children", () => {
|
||||
expect(result.queryByTestId("drawer-child")).toBeNull();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
@ -33,13 +33,17 @@ export class DrawerParamToggler extends React.Component<DrawerParamTogglerProps,
|
||||
<div className="DrawerParamToggler">
|
||||
<div className="flex gaps align-center params">
|
||||
<div className="param-label">{label}</div>
|
||||
<div className="param-link" onClick={this.toggle}>
|
||||
<div
|
||||
className="param-link"
|
||||
onClick={this.toggle}
|
||||
data-testid="drawer-param-toggler"
|
||||
>
|
||||
<span className="param-link-text">{link}</span>
|
||||
<Icon material={icon}/>
|
||||
</div>
|
||||
</div>
|
||||
<div className={cssNames("param-content", { open })}>
|
||||
{children}
|
||||
{open && children}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user