@@ -121,3 +121,48 @@ describe('getComputedProperties', () => {
121
121
assert . ok ( computedProperties [ 0 ] . value )
122
122
} )
123
123
} )
124
+
125
+ describe ( 'getStaticPropertyName' , ( ) => {
126
+ let node
127
+
128
+ const parse = function ( code ) {
129
+ return babelEslint . parse ( code ) . body [ 0 ] . declarations [ 0 ] . init
130
+ }
131
+
132
+ it ( 'should parse property expression with identifier' , ( ) => {
133
+ node = parse ( `const test = { computed: { } }` )
134
+
135
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] )
136
+ assert . ok ( parsed === 'computed' )
137
+ } )
138
+ it ( 'should parse property expression with literal' , ( ) => {
139
+ node = parse ( `const test = { ['computed'] () {} }` )
140
+
141
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] )
142
+ assert . ok ( parsed === 'computed' )
143
+ } )
144
+ it ( 'should parse property expression with template literal' , ( ) => {
145
+ node = parse ( `const test = { [\`computed\`] () {} }` )
146
+
147
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] )
148
+ assert . ok ( parsed === 'computed' )
149
+ } )
150
+ it ( 'should parse identifier' , ( ) => {
151
+ node = parse ( `const test = { computed: { } }` )
152
+
153
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] . key )
154
+ assert . ok ( parsed === 'computed' )
155
+ } )
156
+ it ( 'should parse literal' , ( ) => {
157
+ node = parse ( `const test = { ['computed'] () {} }` )
158
+
159
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] . key )
160
+ assert . ok ( parsed === 'computed' )
161
+ } )
162
+ it ( 'should parse template literal' , ( ) => {
163
+ node = parse ( `const test = { [\`computed\`] () {} }` )
164
+
165
+ const parsed = utils . getStaticPropertyName ( node . properties [ 0 ] . key )
166
+ assert . ok ( parsed === 'computed' )
167
+ } )
168
+ } )
0 commit comments