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