1
+ var fixture = $u ( '#qunit-fixture' ) . pop ( ) ;
2
+
3
+ module ( 'non-zen' ) ;
4
+ test ( 'check basic append' , function ( ) {
5
+ var element ;
6
+
7
+ fixture . appendChild ( zenjungle ( [
8
+ [ 'span' , 'Lorem ipsum' ]
9
+ ] ) ) ;
10
+
11
+ element = $u ( 'span' , fixture ) . pop ( ) ;
12
+
13
+ equal ( 'SPAN' , element . tagName , 'element is span' )
14
+ equal ( 'Lorem ipsum' , element . innerHTML , 'element inner HTML equals "Lorem ipsum"' ) ;
15
+ } ) ;
16
+
17
+ test ( 'check append with properties' , function ( ) {
18
+ var element ;
19
+
20
+ fixture . appendChild ( zenjungle ( [
21
+ [ 'div' , {
22
+ 'class' : 'test-class' ,
23
+ 'id' : 'test-id'
24
+ } ]
25
+ ] ) )
26
+
27
+ element = $u ( 'div' , fixture ) . pop ( ) ;
28
+
29
+ equal ( 'test-class' , element . className , 'element class equals "test-class"' ) ;
30
+ equal ( 'test-id' , element . id , 'element id equals "test-id"' ) ;
31
+ } ) ;
32
+
33
+ test ( 'check nested elements' , function ( ) {
34
+
35
+ fixture . appendChild ( zenjungle ( [
36
+ [ 'div' , [
37
+ [ 'ul' , [
38
+ [ 'li' , 'test #1' ] ,
39
+ [ 'li' , 'test #2' ] ,
40
+ [ 'li' , { 'class' : 'test' } , 'test #3' ] ,
41
+ [ 'li' , 'test #4' ] ,
42
+ ] ] ,
43
+ [ 'span' ]
44
+ ] ]
45
+ ] ) ) ;
46
+
47
+ equal ( true , $u ( 'div > ul' , fixture ) . length , 'UL is DIVs direct child' ) ;
48
+ equal ( true , $u ( 'div > span' , fixture ) . length , 'SPAN is DIVs direct child' ) ;
49
+ equal ( false , $u ( 'div > li' ) . length , 'LIs are not direct childs of DIV' )
50
+ equal ( 4 , $u ( 'div > ul > li' , fixture ) . length , 'list has 4 elements' ) ;
51
+ equal ( 'test' , $u ( 'li' , fixture ) [ 2 ] . className , 'third LI has class' ) ;
52
+ } ) ;
53
+
54
+ test ( 'DOM elements mixin' , function ( ) {
55
+
56
+ fixture . appendChild ( zenjungle ( [
57
+ [ 'div' , [
58
+ document . createElement ( 'span' )
59
+ ] ]
60
+ ] ) ) ;
61
+
62
+ equal ( 1 , $u ( 'div > span' , fixture ) . length ) ;
63
+ } ) ;
64
+
65
+ test ( 'zenjungle mixins' , function ( ) {
66
+
67
+ fixture . appendChild ( zenjungle ( [
68
+ [ 'div' , [
69
+ zenjungle ( [
70
+ [ 'span' ]
71
+ ] )
72
+ ] ]
73
+ ] ) ) ;
74
+
75
+ equal ( 1 , $u ( 'div > span' , fixture ) . length ) ;
76
+ } ) ;
77
+
78
+ module ( 'zen' ) ;
79
+ test ( 'check element class' , function ( ) {
80
+
81
+ fixture . appendChild ( zenjungle ( [
82
+ [ 'div.test' ]
83
+ ] ) ) ;
84
+
85
+ equal ( 'test' , $u ( 'div' , fixture ) [ 0 ] . className ) ;
86
+ } ) ;
87
+
88
+ test ( 'check element id' , function ( ) {
89
+
90
+ fixture . appendChild ( zenjungle ( [
91
+ [ 'div#test' ]
92
+ ] ) ) ;
93
+
94
+ equal ( 'test' , $u ( 'div' , fixture ) [ 0 ] . id ) ;
95
+ } ) ;
96
+
97
+ test ( 'check attributes' , function ( ) {
98
+
99
+ fixture . appendChild ( zenjungle ( [
100
+ [ 'a[href=#fragment][class=test]' ]
101
+ ] ) ) ;
102
+
103
+ equal ( 'fragment' , $u ( 'a' , fixture ) [ 0 ] . href . split ( '#' ) [ 1 ] ) ;
104
+ equal ( 'test' , $u ( 'a' , fixture ) [ 0 ] . className ) ;
105
+ } ) ;
106
+
107
+ test ( 'mixed properties #1' , function ( ) {
108
+ var element ;
109
+
110
+ fixture . appendChild ( zenjungle ( [
111
+ [ 'input#id.class[type=text][value=some-text]' ]
112
+ ] ) ) ;
113
+
114
+ element = $u ( 'input' , fixture ) [ 0 ] ;
115
+
116
+ equal ( 'class' , element . className , 'class name equals "class"' ) ;
117
+ equal ( 'id' , element . id , 'id equals "id"' ) ;
118
+ equal ( 'text' , element . type , 'element type is "text"' ) ;
119
+ equal ( 'some-text' , element . value , 'element value is "some-text"' ) ;
120
+ } )
121
+
122
+ test ( 'mixed properties #2' , function ( ) {
123
+ var element ;
124
+
125
+ fixture . appendChild ( zenjungle ( [
126
+ [ 'input.class[type=text]#id[value=some-text]' ]
127
+ ] ) ) ;
128
+
129
+ element = $u ( 'input' , fixture ) [ 0 ] ;
130
+
131
+ equal ( 'class' , element . className , 'class name equals "class"' ) ;
132
+ equal ( 'id' , element . id , 'id equals "id"' ) ;
133
+ equal ( 'text' , element . type , 'element type is "text"' ) ;
134
+ equal ( 'some-text' , element . value , 'element value is "some-text"' ) ;
135
+ } )
0 commit comments