Skip to content

Commit

Permalink
[material-ui][Divider] Enable borderStyle enhancement in divider with…
Browse files Browse the repository at this point in the history
… children (#42715)
  • Loading branch information
anuujj authored Jul 24, 2024
1 parent 02fde66 commit 4a64dae
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
4 changes: 4 additions & 0 deletions packages/mui-material/src/Divider/Divider.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ const DividerRoot = styled('div', {
whiteSpace: 'nowrap',
textAlign: 'center',
border: 0,
borderTopStyle: 'solid',
borderLeftStyle: 'solid',
'&::before, &::after': {
content: '""',
alignSelf: 'center',
Expand All @@ -149,6 +151,7 @@ const DividerRoot = styled('div', {
'&::before, &::after': {
width: '100%',
borderTop: `thin solid ${(theme.vars || theme).palette.divider}`,
borderTopStyle: 'inherit',
},
},
},
Expand All @@ -159,6 +162,7 @@ const DividerRoot = styled('div', {
'&::before, &::after': {
height: '100%',
borderLeft: `thin solid ${(theme.vars || theme).palette.divider}`,
borderLeftStyle: 'inherit',
},
},
},
Expand Down
35 changes: 35 additions & 0 deletions packages/mui-material/src/Divider/Divider.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as React from 'react';
import { expect } from 'chai';
import { createRenderer } from '@mui/internal-test-utils';
import { styled } from '@mui/material/styles';
import Divider, { dividerClasses as classes } from '@mui/material/Divider';
import describeConformance from '../../test/describeConformance';

Expand Down Expand Up @@ -83,6 +84,40 @@ describe('<Divider />', () => {
expect(container.querySelectorAll(`.${classes.textAlignLeft}`).length).to.equal(0);
});
});

describe('custom border style', function test() {
before(function beforeHook() {
if (/jsdom/.test(window.navigator.userAgent)) {
this.skip();
}
});

const StyledDivider = styled(Divider)(() => ({
borderStyle: 'dashed',
}));

it('should set the dashed border-left-style in before and after pseudo-elements when orientation is vertical', () => {
const { container } = render(<StyledDivider orientation="vertical">content</StyledDivider>);
expect(
getComputedStyle(container.firstChild, '::before').getPropertyValue('border-left-style'),
).to.equal('dashed');
expect(
getComputedStyle(container.firstChild, '::after').getPropertyValue('border-left-style'),
).to.equal('dashed');
});

it('should set the dashed border-top-style in before and after pseudo-elements when orientation is horizontal', () => {
const { container } = render(
<StyledDivider orientation="horizontal">content</StyledDivider>,
);
expect(
getComputedStyle(container.firstChild, '::before').getPropertyValue('border-top-style'),
).to.equal('dashed');
expect(
getComputedStyle(container.firstChild, '::after').getPropertyValue('border-top-style'),
).to.equal('dashed');
});
});
});

describe('prop: variant', () => {
Expand Down

0 comments on commit 4a64dae

Please sign in to comment.