@@ -13,13 +13,38 @@ module.exports = {
13
13
14
14
"test: php folding with alternative syntax" : function ( ) {
15
15
var session = new EditSession ( [
16
- '<?php' , 'function checkNumber($number)' , '{' , ' switch ($number) {' , ' case 0:' ,
17
- ' echo "Number is zero again";' , ' if ($number == 0):' ,
18
- ' echo "Number is zero";' , ' elseif ($number > 0):' ,
19
- ' echo "Number is positive";' , ' else:' ,
20
- ' echo "Number is negative";' , 'endif;' , ' break;' , ' default:' ,
21
- ' echo "Number is not zero";' , ' }' , 'foreach (array(1, 2, 3) as $num):' ,
22
- ' echo "Num: $num";' , ' endforeach;' , '}' , '?>'
16
+ '<?php' ,
17
+ 'function checkNumber($number)' ,
18
+ '{' ,
19
+ ' switch ($number) {' ,
20
+ ' case 0:' ,
21
+ ' echo "Number is zero again";' ,
22
+ ' if ($number == 0):' ,
23
+ ' echo "Number is zero";' ,
24
+ ' elseif ($number > 0):' ,
25
+ ' echo "Number is positive";' ,
26
+ ' else:' ,
27
+ ' echo "Number is negative";' ,
28
+ 'endif;' ,
29
+ ' break;' ,
30
+ ' default:' ,
31
+ ' echo "Number is not zero";' ,
32
+ ' }' , 'foreach (array(1, 2, 3) as $num):' ,
33
+ ' echo "Num: $num";' ,
34
+ ' endforeach;' ,
35
+ '}' ,
36
+ '?>' ,
37
+ '' ,
38
+ '<script>' ,
39
+ ' function test() {' ,
40
+ ' ' ,
41
+ ' }' ,
42
+ '</script>' ,
43
+ '<style>' ,
44
+ ' div {' ,
45
+ ' color: red;' ,
46
+ ' }' ,
47
+ '</style>'
23
48
] ) ;
24
49
25
50
session . setFoldStyle ( "markbeginend" ) ;
@@ -41,6 +66,18 @@ module.exports = {
41
66
assert . equal ( session . getFoldWidget ( 17 ) , "start" ) ;
42
67
assert . equal ( session . getFoldWidget ( 19 ) , "end" ) ;
43
68
assert . equal ( session . getFoldWidget ( 20 ) , "end" ) ;
69
+ assert . equal ( session . getFoldWidget ( 21 ) , "" ) ;
70
+ assert . equal ( session . getFoldWidget ( 22 ) , "" ) ;
71
+ assert . equal ( session . getFoldWidget ( 23 ) , "start" ) ;
72
+ assert . equal ( session . getFoldWidget ( 24 ) , "start" ) ;
73
+ assert . equal ( session . getFoldWidget ( 25 ) , "" ) ;
74
+ assert . equal ( session . getFoldWidget ( 26 ) , "end" ) ;
75
+ assert . equal ( session . getFoldWidget ( 27 ) , "end" ) ;
76
+ assert . equal ( session . getFoldWidget ( 28 ) , "start" ) ;
77
+ assert . equal ( session . getFoldWidget ( 29 ) , "start" ) ;
78
+ assert . equal ( session . getFoldWidget ( 30 ) , "" ) ;
79
+ assert . equal ( session . getFoldWidget ( 31 ) , "end" ) ;
80
+ assert . equal ( session . getFoldWidget ( 32 ) , "end" ) ;
44
81
45
82
assert . range ( session . getFoldWidgetRange ( 2 ) , 2 , 1 , 20 , 0 ) ; // Range for the function's foldable section
46
83
assert . range ( session . getFoldWidgetRange ( 3 ) , 3 , 21 , 16 , 7 ) ; // Range for the 'switch' statement
@@ -50,6 +87,14 @@ module.exports = {
50
87
assert . range ( session . getFoldWidgetRange ( 12 ) , 10 , 16 , 12 , 0 ) ; // Range for the 'endif' line
51
88
assert . range ( session . getFoldWidgetRange ( 17 ) , 17 , 33 , 19 , 3 ) ;
52
89
assert . range ( session . getFoldWidgetRange ( 19 ) , 17 , 33 , 19 , 3 ) ;
90
+ assert . range ( session . getFoldWidgetRange ( 23 ) , 23 , 8 , 27 , 0 ) ; // Range for script tag
91
+ assert . range ( session . getFoldWidgetRange ( 24 ) , 24 , 21 , 26 , 4 ) ; // Range for cstyle { } block
92
+ assert . range ( session . getFoldWidgetRange ( 26 ) , 24 , 21 , 26 , 4 ) ; // Range for closing cstyle { } block
93
+ assert . range ( session . getFoldWidgetRange ( 27 ) , 23 , 8 , 27 , 0 ) ; // Range for closing script tag
94
+ assert . range ( session . getFoldWidgetRange ( 28 ) , 28 , 7 , 32 , 0 ) ; // Range for openning style tag
95
+ assert . range ( session . getFoldWidgetRange ( 29 ) , 29 , 9 , 31 , 4 ) ; // Range for cstyle { } block
96
+ assert . range ( session . getFoldWidgetRange ( 31 ) , 29 , 9 , 31 , 4 ) ; // Range for closing cstyle { } block
97
+ assert . range ( session . getFoldWidgetRange ( 32 ) , 28 , 7 , 32 , 0 ) ; // Range for closing style tag
53
98
}
54
99
} ;
55
100
0 commit comments