@@ -48,40 +48,98 @@ protected function getForm($name = 'name')
48
48
return $ this ->getBuilder ($ name )->getForm ();
49
49
}
50
50
51
+ /**
52
+ * @group legacy
53
+ */
51
54
public function testPreSetDataResizesForm ()
52
55
{
53
56
$ this ->form ->add ($ this ->getForm ('0 ' ));
54
57
$ this ->form ->add ($ this ->getForm ('1 ' ));
55
58
56
59
$ data = [1 => 'string ' , 2 => 'string ' ];
57
60
$ event = new FormEvent ($ this ->form , $ data );
58
- $ listener = new ResizeFormListener (TextType::class, ['attr ' => ['maxlength ' => 10 ]], false , false );
61
+ $ listener = new class (TextType::class, ['attr ' => ['maxlength ' => 10 ]], false , false ) extends ResizeFormListener {
62
+ public function preSetData (FormEvent $ event )
63
+ {
64
+ parent ::preSetData ($ event );
65
+ }
66
+ };
59
67
$ listener ->preSetData ($ event );
60
68
61
69
$ this ->assertFalse ($ this ->form ->has ('0 ' ));
62
70
$ this ->assertTrue ($ this ->form ->has ('1 ' ));
63
71
$ this ->assertTrue ($ this ->form ->has ('2 ' ));
64
72
}
65
73
74
+ public function testPostSetDataResizesForm ()
75
+ {
76
+ $ this ->form ->add ($ this ->getForm ('0 ' ));
77
+ $ this ->form ->add ($ this ->getForm ('1 ' ));
78
+
79
+ $ data = [1 => 'string ' , 2 => 'string ' ];
80
+ $ event = new FormEvent ($ this ->form , $ data );
81
+ $ listener = new ResizeFormListener (TextType::class, ['attr ' => ['maxlength ' => 10 ]], false , false );
82
+ $ listener ->postSetData ($ event );
83
+
84
+ $ this ->assertFalse ($ this ->form ->has ('0 ' ));
85
+ $ this ->assertTrue ($ this ->form ->has ('1 ' ));
86
+ $ this ->assertTrue ($ this ->form ->has ('2 ' ));
87
+ }
88
+
89
+ /**
90
+ * @group legacy
91
+ */
66
92
public function testPreSetDataRequiresArrayOrTraversable ()
67
93
{
68
94
$ this ->expectException (UnexpectedTypeException::class);
69
95
$ data = 'no array or traversable ' ;
70
96
$ event = new FormEvent ($ this ->form , $ data );
71
- $ listener = new ResizeFormListener ('text ' , [], false , false );
97
+ $ listener = new class ('text ' , [], false , false ) extends ResizeFormListener {
98
+ public function preSetData (FormEvent $ event )
99
+ {
100
+ parent ::preSetData ($ event );
101
+ }
102
+ };
72
103
$ listener ->preSetData ($ event );
73
104
}
74
105
106
+ public function testPostSetDataRequiresArrayOrTraversable ()
107
+ {
108
+ $ this ->expectException (UnexpectedTypeException::class);
109
+ $ data = 'no array or traversable ' ;
110
+ $ event = new FormEvent ($ this ->form , $ data );
111
+ $ listener = new ResizeFormListener ('text ' , [], false , false );
112
+ $ listener ->postSetData ($ event );
113
+ }
114
+
115
+ /**
116
+ * @group legacy
117
+ */
75
118
public function testPreSetDataDealsWithNullData ()
76
119
{
77
120
$ data = null ;
78
121
$ event = new FormEvent ($ this ->form , $ data );
79
- $ listener = new ResizeFormListener (TextType::class, [], false , false );
122
+ $ listener = new class (TextType::class, [], false , false ) extends ResizeFormListener {
123
+ public function preSetData (FormEvent $ event )
124
+ {
125
+ parent ::preSetData ($ event );
126
+ }
127
+ };
80
128
$ listener ->preSetData ($ event );
81
129
82
130
$ this ->assertSame (0 , $ this ->form ->count ());
83
131
}
84
132
133
+ public function testPostSetDataDealsWithNullData ()
134
+ {
135
+ $ data = null ;
136
+ $ event = new FormEvent ($ this ->form , $ data );
137
+ $ listener = new ResizeFormListener (TextType::class, [], false , false );
138
+ $ listener ->postSetData ($ event );
139
+
140
+ $ this ->assertSame (0 , $ this ->form ->count ());
141
+ }
142
+
85
143
public function testPreSubmitResizesUpIfAllowAdd ()
86
144
{
87
145
$ this ->form ->add ($ this ->getForm ('0 ' ));
0 commit comments