Skip to content

Commit 48d055c

Browse files
Tests: Use ES6 class syntax for inheritance in calendarFixtures.js (#32769)
Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: r-farkhutdinov <[email protected]>
1 parent e73dae3 commit 48d055c

File tree

1 file changed

+77
-80
lines changed

1 file changed

+77
-80
lines changed
Lines changed: 77 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,88 @@
11
import $ from 'jquery';
2-
import { noop } from 'core/utils/common';
3-
import Class from 'core/class';
4-
import Views from '__internal/ui/calendar/calendar.views';
52

63
const TEXTEDITOR_INPUT_SELECTOR = '.dx-texteditor-input';
74

85
window.DevExpress = window.DevExpress || {};
6+
DevExpress.ui = DevExpress.ui || {};
7+
DevExpress.ui.testing = DevExpress.ui.testing || {};
98

10-
$.extend(true, DevExpress.ui = DevExpress.ui || {}, {
11-
testing: {
12-
BaseCalendarFixture: Class.inherit({
13-
extractArray: function(elements, delegate) {
14-
return $.map($.makeArray(elements), delegate);
15-
},
16-
extractInnerHTMLArray: function(elements) {
17-
return this.extractArray(elements, function(element, index) {
18-
return element.innerHTML;
19-
});
20-
},
21-
extractInnerTextArray: function(elements) {
22-
return this.extractArray(elements, function(element, index) {
23-
return $(element).text();
24-
});
25-
},
26-
extractClassArray: function(elements) {
27-
return this.extractArray(elements, function(element, index) {
28-
return element.getAttribute('class') || '';
29-
});
30-
},
31-
typeIntoInput: function(dateString, input) {
32-
const keyPress = $.Event('keypress');
33-
let i;
34-
for(i = 0; i < dateString.length; ++i) {
35-
keyPress.key = dateString[i];
36-
input.val(input.val() + dateString[i]);
37-
input.trigger(keyPress);
38-
}
39-
}
40-
}),
41-
MockMonthView: Views['month'].inherit({
42-
renderHeader: noop,
43-
renderBody: noop
44-
})
9+
class BaseCalendarFixture {
10+
extractArray(elements, delegate) {
11+
return $.map($.makeArray(elements), delegate);
4512
}
46-
});
4713

48-
$.extend(true, DevExpress.ui, {
49-
testing: {
50-
CalendarFixture: DevExpress.ui.testing.BaseCalendarFixture.inherit({
51-
ctor: function(options) {
52-
this.rootElement = $('<div id=\'calendar\'></div>');
53-
this.rootElement.appendTo('body');
54-
this.calendar = $('#calendar')
55-
.dxCalendar($.extend({ monthViewType: DevExpress.ui.testing.MockMonthView }, options))
56-
.dxCalendar('instance');
57-
this.navigatorLinks = {
58-
'prevYear': this.rootElement.find('.dx-calendar-navigator-previous-year'),
59-
'prevView': this.rootElement.find('.dx-calendar-navigator-previous-view'),
60-
'nextYear': this.rootElement.find('.dx-calendar-navigator-next-year'),
61-
'nextView': this.rootElement.find('.dx-calendar-navigator-next-view')
62-
};
63-
},
64-
dispose: function() {
65-
this.rootElement.remove();
66-
this.calendar = null;
67-
}
68-
}),
14+
extractInnerHTMLArray(elements) {
15+
return this.extractArray(elements, function(element) {
16+
return element.innerHTML;
17+
});
18+
}
19+
20+
extractInnerTextArray(elements) {
21+
return this.extractArray(elements, function(element) {
22+
return $(element).text();
23+
});
24+
}
25+
26+
extractClassArray(elements) {
27+
return this.extractArray(elements, function(element) {
28+
return element.getAttribute('class') || '';
29+
});
30+
}
31+
32+
typeIntoInput(dateString, input) {
33+
const keyPress = $.Event('keypress');
34+
for(let i = 0; i < dateString.length; ++i) {
35+
keyPress.key = dateString[i];
36+
input.val(input.val() + dateString[i]);
37+
input.trigger(keyPress);
38+
}
39+
}
40+
}
6941

70-
DateBoxFixture: DevExpress.ui.testing.BaseCalendarFixture.inherit({
71-
ctor: function(element, options) {
72-
this.format = 'shortdate';
73-
this.rootElement = $(element);
42+
class CalendarFixture extends BaseCalendarFixture {
43+
constructor(options) {
44+
super();
45+
this.rootElement = $('<div id=\'calendar\'></div>');
46+
this.rootElement.appendTo('body');
47+
this.calendar = $('#calendar')
48+
.dxCalendar(options)
49+
.dxCalendar('instance');
50+
this.navigatorLinks = {
51+
'prevYear': this.rootElement.find('.dx-calendar-navigator-previous-year'),
52+
'prevView': this.rootElement.find('.dx-calendar-navigator-previous-view'),
53+
'nextYear': this.rootElement.find('.dx-calendar-navigator-next-year'),
54+
'nextView': this.rootElement.find('.dx-calendar-navigator-next-view')
55+
};
56+
}
57+
58+
dispose() {
59+
this.rootElement.remove();
60+
this.calendar = null;
61+
}
62+
}
63+
64+
class DateBoxFixture extends BaseCalendarFixture {
65+
constructor(element, options) {
66+
super();
67+
this.format = 'shortdate';
68+
this.rootElement = $(element);
7469

75-
this.dateBox = this.rootElement
76-
.dxDateBox($.extend(true, {
77-
pickerType: 'calendar',
78-
displayFormat: this.format,
79-
calendarOptions: { monthViewType: DevExpress.ui.testing.MockMonthView }
80-
}, options))
81-
.dxDateBox('instance');
82-
this.input = this.rootElement.find(TEXTEDITOR_INPUT_SELECTOR);
83-
},
84-
dispose: function() {
85-
this.rootElement.empty();
86-
$.cleanData(this.rootElement);
87-
this.dateBox = null;
88-
}
89-
})
70+
this.dateBox = this.rootElement
71+
.dxDateBox($.extend(true, {
72+
pickerType: 'calendar',
73+
displayFormat: this.format,
74+
}, options))
75+
.dxDateBox('instance');
76+
this.input = this.rootElement.find(TEXTEDITOR_INPUT_SELECTOR);
9077
}
91-
});
78+
79+
dispose() {
80+
this.rootElement.empty();
81+
$.cleanData(this.rootElement);
82+
this.dateBox = null;
83+
}
84+
}
85+
86+
DevExpress.ui.testing.BaseCalendarFixture = BaseCalendarFixture;
87+
DevExpress.ui.testing.CalendarFixture = CalendarFixture;
88+
DevExpress.ui.testing.DateBoxFixture = DateBoxFixture;

0 commit comments

Comments
 (0)