File tree Expand file tree Collapse file tree 2 files changed +48
-7
lines changed
packages/babel-sugar-event Expand file tree Collapse file tree 2 files changed +48
-7
lines changed Original file line number Diff line number Diff line change @@ -180,12 +180,9 @@ export default function (babel) {
180
180
genModifierCode . push (
181
181
genGuard (
182
182
keyModifiers
183
- . filter ( keyModifier => ! modifiers [ keyModifier ] )
183
+ . filter ( keyModifier => ! modifiers . includes ( keyModifier ) )
184
184
. map ( keyModifier => genEventExpression ( keyModifier + 'Key' ) )
185
- . reduce ( ( acc , item ) => {
186
- if ( acc ) return or ( acc , item )
187
- return acc
188
- } ) ,
185
+ . reduce ( ( acc , item ) => acc ? or ( acc , item ) : item ) ,
189
186
) ,
190
187
)
191
188
} else {
@@ -201,7 +198,7 @@ export default function (babel) {
201
198
code . concat ( genModifierCode )
202
199
}
203
200
204
- code . concat (
201
+ code . push (
205
202
t . returnStatement ( genCallExpression ( expression , [ t . identifier ( '$event' ) ] ) )
206
203
)
207
204
Original file line number Diff line number Diff line change 1
- // Nick will take care of this.
1
+ import test from 'ava'
2
+ import {
3
+ transform
4
+ } from '@babel/core'
5
+ import plugin from '../dist/plugin.testing'
6
+
7
+ const transpile = src =>
8
+ new Promise ( ( resolve , reject ) => {
9
+ transform (
10
+ src , {
11
+ plugins : [ plugin ] ,
12
+ } ,
13
+ ( err , result ) => {
14
+ if ( err ) {
15
+ return reject ( err )
16
+ }
17
+ resolve ( result . code )
18
+ } ,
19
+ )
20
+ } )
21
+
22
+ const tests = [ {
23
+ name : 'HTML tag' ,
24
+ from : `render(h => <div v-on:click={event => event.ok}>test</div>)` ,
25
+ to : `render(h => h("div", ["test"]));` ,
26
+ } ]
27
+
28
+ tests . forEach ( ( {
29
+ name,
30
+ from,
31
+ to
32
+ } ) => test ( name , async t => t . is ( await transpile ( from ) , to ) ) )
33
+
34
+ test ( 'JSXElement attribute value throws error' , t =>
35
+ new Promise ( resolve => {
36
+ transpile ( `render(h => <a key=<b/> />)` )
37
+ . then ( ( ) => {
38
+ t . fail ( )
39
+ resolve ( )
40
+ } )
41
+ . catch ( e => {
42
+ t . is ( e . message , 'getAttributes (attribute value): JSXElement is not supported' )
43
+ resolve ( )
44
+ } )
45
+ } ) )
You can’t perform that action at this time.
0 commit comments