mirror of
https://github.com/prymitive/karma
synced 2026-05-11 03:46:48 +00:00
61 lines
2.1 KiB
JavaScript
61 lines
2.1 KiB
JavaScript
import { EmptyAPIResponse } from "__mocks__/Fetch";
|
|
import { DefaultsBase64 } from "__mocks__/Defaults";
|
|
|
|
it("renders without crashing", () => {
|
|
jest.spyOn(document, "getElementById").mockImplementationOnce(() => {
|
|
return {
|
|
innerHTML: `<div id="defaults">${DefaultsBase64}</div>`
|
|
};
|
|
});
|
|
const response = EmptyAPIResponse();
|
|
response.filters = [];
|
|
fetch.mockResponse(JSON.stringify(response));
|
|
const Index = require("./index.tsx");
|
|
expect(Index).toBeTruthy();
|
|
});
|
|
|
|
describe("console", () => {
|
|
it("console.error() throws an error", () => {
|
|
expect(() => {
|
|
console.error("foo");
|
|
}).toThrowError("message=foo args=");
|
|
});
|
|
|
|
it("console.warn() throws an error", () => {
|
|
expect(() => {
|
|
console.warn("foo", "bar");
|
|
}).toThrowError("message=foo args=bar");
|
|
});
|
|
|
|
it("console.info() throws an error", () => {
|
|
expect(() => {
|
|
console.info("foo", "bar", "abc");
|
|
}).toThrowError("message=foo args=bar,abc");
|
|
});
|
|
|
|
it("console.log() throws an error", () => {
|
|
expect(() => {
|
|
console.log("foo bar");
|
|
}).toThrowError("message=foo bar args=");
|
|
});
|
|
|
|
it("console.trace() throws an error", () => {
|
|
expect(() => {
|
|
console.trace();
|
|
}).toThrowError("message=undefined args=");
|
|
});
|
|
|
|
it("console.warn() with React deprecation warning doesn't throw any error", () => {
|
|
// https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#new-deprecations
|
|
const msg = [
|
|
"Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.",
|
|
"* Move code with side effects to componentDidMount, and set initial state in the constructor.",
|
|
"* Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.",
|
|
"Please update the following components: foo"
|
|
].join("\n");
|
|
expect(() => {
|
|
console.warn(msg);
|
|
}).not.toThrow();
|
|
});
|
|
});
|