Skip to content

Move test to compat for v11 #419

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

Merged
merged 1 commit into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 48 additions & 2 deletions test/compat/index.test.jsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,58 @@
import render from '../../src/index.js';
import { createElement } from 'preact/compat';
import { createElement as h, Component } from 'preact/compat';
import { expect } from 'chai';

describe('compat', () => {
it('should not duplicate class attribute when className is empty', async () => {
let rendered = render(createElement('div', { className: '' }));
let rendered = render(h('div', { className: '' }));
let expected = `<div></div>`;

expect(rendered).to.equal(expected);
});

it('should apply defaultProps to class components', () => {
class Test extends Component {
render(props) {
return <div {...props} />;
}
}
Test.defaultProps = {
foo: 'default foo',
bar: 'default bar'
};

expect(render(<Test />), 'defaults').to.equal(
'<div foo="default foo" bar="default bar"></div>'
);
expect(render(<Test bar="b" />), 'partial').to.equal(
'<div bar="b" foo="default foo"></div>'
);
expect(render(<Test foo="a" bar="b" />), 'overridden').to.equal(
'<div foo="a" bar="b"></div>'
);
expect(render(<Test foo={undefined} bar="b" />), 'overridden').to.equal(
'<div foo="default foo" bar="b"></div>'
);
});

it('should apply defaultProps to functional components', () => {
const Test = (props) => <div {...props} />;
Test.defaultProps = {
foo: 'default foo',
bar: 'default bar'
};

expect(render(<Test />), 'defaults').to.equal(
'<div foo="default foo" bar="default bar"></div>'
);
expect(render(<Test bar="b" />), 'partial').to.equal(
'<div bar="b" foo="default foo"></div>'
);
expect(render(<Test foo="a" bar="b" />), 'overridden').to.equal(
'<div foo="a" bar="b"></div>'
);
expect(render(<Test foo={undefined} bar="b" />), 'overridden').to.equal(
'<div foo="default foo" bar="b"></div>'
);
});
});
46 changes: 0 additions & 46 deletions test/render.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -394,27 +394,6 @@ describe('render', () => {
match({})
);
});

it('should apply defaultProps', () => {
const Test = (props) => <div {...props} />;
Test.defaultProps = {
foo: 'default foo',
bar: 'default bar'
};

expect(render(<Test />), 'defaults').to.equal(
'<div foo="default foo" bar="default bar"></div>'
);
expect(render(<Test bar="b" />), 'partial').to.equal(
'<div bar="b" foo="default foo"></div>'
);
expect(render(<Test foo="a" bar="b" />), 'overridden').to.equal(
'<div foo="a" bar="b"></div>'
);
expect(render(<Test foo={undefined} bar="b" />), 'overridden').to.equal(
'<div foo="default foo" bar="b"></div>'
);
});
});

describe('Classical Components', () => {
Expand Down Expand Up @@ -488,31 +467,6 @@ describe('render', () => {
);
});

it('should apply defaultProps', () => {
class Test extends Component {
render(props) {
return <div {...props} />;
}
}
Test.defaultProps = {
foo: 'default foo',
bar: 'default bar'
};

expect(render(<Test />), 'defaults').to.equal(
'<div foo="default foo" bar="default bar"></div>'
);
expect(render(<Test bar="b" />), 'partial').to.equal(
'<div bar="b" foo="default foo"></div>'
);
expect(render(<Test foo="a" bar="b" />), 'overridden').to.equal(
'<div foo="a" bar="b"></div>'
);
expect(render(<Test foo={undefined} bar="b" />), 'overridden').to.equal(
'<div foo="default foo" bar="b"></div>'
);
});

it('should initialize state as an empty object', () => {
const fn = spy();
class Test extends Component {
Expand Down
Loading