Skip to content

Commit 00d0640

Browse files
committed
wip
1 parent af6f3d6 commit 00d0640

File tree

3 files changed

+34
-29
lines changed

3 files changed

+34
-29
lines changed

packages/text-field/test/visual/lumo/text-field.test.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import '@vaadin/vaadin-lumo-styles/test/autoload.js';
55
import '../common.js';
66
import '../../../theme/lumo/vaadin-text-field.js';
77

8-
const isRTL = document.dir === 'rtl';
8+
const DIR = document.dir;
99

1010
describe('text-field', () => {
1111
let div, element;
@@ -45,12 +45,12 @@ describe('text-field', () => {
4545
});
4646

4747
it('label', async () => {
48-
element.label = isRTL ? 'نام کالا' : 'Label';
48+
element.label = 'Label';
4949
await visualDiff(div, 'label');
5050
});
5151

5252
it('placeholder', async () => {
53-
element.placeholder = isRTL ? 'جایگزین' : 'Placeholder';
53+
element.placeholder = 'Placeholder';
5454
await visualDiff(div, 'placeholder');
5555
});
5656

@@ -60,7 +60,7 @@ describe('text-field', () => {
6060
});
6161

6262
it('required', async () => {
63-
element.label = isRTL ? 'نام کالا' : 'Label';
63+
element.label = 'Label';
6464
element.required = true;
6565
await visualDiff(div, 'required');
6666
});
@@ -70,16 +70,16 @@ describe('text-field', () => {
7070
await visualDiff(div, 'invalid');
7171
});
7272

73-
it('error message', async () => {
74-
element.label = isRTL ? 'نام کالا' : 'Label';
75-
element.errorMessage = 'خطا';
73+
it(`${DIR} error message`, async () => {
74+
element.label = DIR === 'ltr' ? 'Label' : 'نام کالا';
75+
element.errorMessage = DIR === 'ltr' ? 'This field is required' : 'خطا';
7676
element.required = true;
7777
element.validate();
78-
await visualDiff(div, 'error-message');
78+
await visualDiff(div, `${DIR}-error-message`);
7979
});
8080

8181
it('helper text', async () => {
82-
element.helperText = isRTL ? 'متن راهنما' : 'Helper text';
82+
element.helperText = 'Helper text';
8383
await visualDiff(div, 'helper-text');
8484
});
8585

@@ -89,23 +89,23 @@ describe('text-field', () => {
8989
await visualDiff(div, 'clear-button');
9090
});
9191

92-
it('prefix slot', async () => {
92+
it(`${DIR} prefix slot`, async () => {
9393
const span = document.createElement('span');
9494
span.setAttribute('slot', 'prefix');
9595
span.textContent = '$';
9696
element.appendChild(span);
97-
await visualDiff(div, 'prefix');
97+
await visualDiff(div, `${DIR}-prefix`);
9898
});
9999

100-
it('suffix slot', async () => {
100+
it(`${DIR} suffix slot`, async () => {
101101
const span = document.createElement('span');
102102
span.setAttribute('slot', 'suffix');
103-
span.textContent = isRTL ? 'تومان' : '$';
103+
span.textContent = '$';
104104
element.appendChild(span);
105-
await visualDiff(div, 'suffix');
105+
await visualDiff(div, `${DIR}-suffix`);
106106
});
107107

108-
(isRTL ? describe.skip : describe)('alignment', () => {
108+
describe('alignment', () => {
109109
let field;
110110

111111
beforeEach(() => {
@@ -130,7 +130,7 @@ describe('text-field', () => {
130130
});
131131
});
132132

133-
(isRTL ? describe.skip : describe)('borders enabled', () => {
133+
describe('borders enabled', () => {
134134
before(() => {
135135
document.documentElement.style.setProperty('--vaadin-input-field-border-width', '1px');
136136
});
@@ -159,7 +159,7 @@ describe('text-field', () => {
159159
});
160160
});
161161

162-
(isRTL ? describe.skip : describe)('focus', () => {
162+
describe('focus', () => {
163163
afterEach(async () => {
164164
await resetMouse();
165165
});

scripts/generateTests.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ packages
2121
})
2222
.forEach((testPath) => {
2323
const generatedLitTestPath = testPath.replace('.test.', '-lit.generated.test.');
24-
25-
if (!fs.existsSync(generatedLitTestPath)) {
26-
fs.symlinkSync(fs.realpathSync(testPath), generatedLitTestPath);
27-
}
24+
fs.symlinkSync(fs.realpathSync(testPath), generatedLitTestPath);
2825
});
2926

3027
// Generate RTL visual test files
@@ -33,12 +30,17 @@ packages
3330
return globSync(`packages/${pkg}/test/visual/**/*.test.{js,ts}`);
3431
})
3532
.filter((testPath) => {
36-
return !/(-rtl|-ltr)(\.generated)?\.test/u.test(testPath);
33+
if (/(-rtl|-ltr)(\.generated)?\.test/u.test(testPath)) {
34+
return false;
35+
}
36+
37+
if (!fs.readFileSync(testPath, 'utf-8').match(/^const DIR = document.dir/mu)) {
38+
return false;
39+
}
40+
41+
return true;
3742
})
3843
.forEach((testPath) => {
3944
const generatedRTLTestPath = testPath.replace('.test.', '-rtl.generated.test.');
40-
41-
if (!fs.existsSync(generatedRTLTestPath)) {
42-
fs.symlinkSync(fs.realpathSync(testPath), generatedRTLTestPath);
43-
}
45+
fs.symlinkSync(fs.realpathSync(testPath), generatedRTLTestPath);
4446
});

web-dev-server.config.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,12 @@ export function generatedRTLVisualTestsPlugin() {
3232
name: 'generated-rtl-visual-tests',
3333
transform(context) {
3434
if (context.url.includes('-rtl.generated.test.')) {
35-
return {
36-
body: `document.documentElement.setAttribute('dir', 'rtl');\n${context.body}`,
37-
};
35+
let { body } = context;
36+
37+
body = `document.documentElement.setAttribute('dir', 'rtl');\n${body}`;
38+
body = body.replace(/it(\(.+DIR)/gu, 'it.only$1');
39+
40+
return { body };
3841
}
3942
},
4043
};

0 commit comments

Comments
 (0)