/
layer.js
104 lines (83 loc) · 2.65 KB
/
layer.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
YUITest.TestCases.LayerJS = {
name: 'Tests for Interface/Layer.js',
testExistingLayer: function() {
var element = $C.document.id('existing_layer');
$Y.Assert.isNotNull(element);
$Y.Assert.isFalse(element.hasClass('layerjs'));
var layer = $C.LayerJS.singleton('existing_layer', { element: element });
$Y.Assert.isTrue(element.hasClass('layerjs'));
layer.show();
$Y.Assert.areSame('block', element.getStyle('display'));
element.fireEvent('click', {
target: element.getElement('.hide'),
preventDefault: function() {}
});
$Y.Assert.areSame('none', element.getStyle('display'));
},
testFetchUrl: function() {
// Set the expected result
new Request({
url: '/tests/mootools-plus/response_setter.php',
async: false,
data: 'session_key=layerjs_fetch_url&data=' + JSON.encode([{
type: 'LayerJS:update',
html: 'Data fetched.'
}])
}).send();
var layer = new $C.LayerJS({
url: '/tests/mootools-plus/responses.php?session_key=layerjs_fetch_url',
template: '<div class="layer-content"></div>',
onFinishFetching: function(widget, chain) {
this.resume(function() {
$Y.Assert.areSame(
'Data fetched.',
widget.element.getElement('.layer-content').get('html')
);
});
chain.run();
}.bind(this)
});
$Y.Assert.isNotNull(layer.element);
$Y.Assert.isNull(layer.element.getElement('.layer-content'));
layer.show();
this.wait(2000);
},
testSubmitForm: function() {
// Set the expected result
new Request({
url: '/tests/mootools-plus/response_setter.php',
async: false,
data: 'session_key=layerjs_submit_form&data=' + JSON.encode([{
type: 'LayerJS:update',
html: 'Data submitted.'
}])
}).send();
var wrapper = $C.document.id('layer_with_form');
var form = wrapper.getElement('form');
var layer = new $C.LayerJS({
element: wrapper,
onFinishPosting: function(widget, chain) {
this.resume(function() {
$Y.Assert.areSame(
'Data submitted.',
widget.element.getElement('.layer-content').get('html')
);
});
chain.run();
}.bind(this)
});
layer.hide();
$Y.Assert.isNotNull(layer.element);
$Y.Assert.isNotNull(layer.element.getElement('.layer-content'));
layer.submitForm(form);
this.wait(2000);
},
testUpdatingLayer: function() {
var layer = $C.LayerJS.singleton('existing_layer');
var content = layer.element.getElement('.content');
layer.show();
$Y.Assert.areSame('Update me.', content.get('html'));
layer.updateContent('Updated content');
$Y.Assert.areSame('Updated content', content.get('html'));
}
};