@@ -50,6 +50,74 @@ void main() {
50
50
expect (configuration.invokeCustomEntrypoint, isFalse);
51
51
});
52
52
53
+ test ('invokeCustomInit is true when init exists in main.dart' , () {
54
+ final tempDirectory = createTempDir (
55
+ directories: ['routes' ],
56
+ files: ['main.dart' ],
57
+ );
58
+
59
+ File (path.join (tempDirectory.path, 'main.dart' )).writeAsStringSync ('''
60
+ Future<void> init(InternetAddress ip, int port) async {}
61
+ ''' );
62
+
63
+ final configuration = buildRouteConfiguration (tempDirectory);
64
+ expect (configuration.invokeCustomEntrypoint, isTrue);
65
+ });
66
+
67
+ test ('invokeCustomInit is true when init with FutureOr exists in main.dart' ,
68
+ () {
69
+ final tempDirectory = createTempDir (
70
+ directories: ['routes' ],
71
+ files: ['main.dart' ],
72
+ );
73
+
74
+ File (path.join (tempDirectory.path, 'main.dart' )).writeAsStringSync ('''
75
+ FutureOr<void> init(InternetAddress ip, int port) async {}
76
+ ''' );
77
+
78
+ final configuration = buildRouteConfiguration (tempDirectory);
79
+ expect (configuration.invokeCustomEntrypoint, isTrue);
80
+ });
81
+
82
+ test (
83
+ '''invokeCustomInit is true when init with different parameter names exists in main.dart''' ,
84
+ () {
85
+ final tempDirectory = createTempDir (
86
+ directories: ['routes' ],
87
+ files: ['main.dart' ],
88
+ );
89
+
90
+ File (path.join (tempDirectory.path, 'main.dart' )).writeAsStringSync ('''
91
+ Future<void> init(InternetAddress hello, int world) async {}
92
+ ''' );
93
+
94
+ final configuration = buildRouteConfiguration (tempDirectory);
95
+ expect (configuration.invokeCustomEntrypoint, isTrue);
96
+ });
97
+
98
+ test (
99
+ '''invokeCustomInit is true when init with bad spacing exists in main.dart''' ,
100
+ () {
101
+ final tempDirectory = createTempDir (
102
+ directories: ['routes' ],
103
+ files: ['main.dart' ],
104
+ );
105
+
106
+ File (path.join (tempDirectory.path, 'main.dart' )).writeAsStringSync ('''
107
+ Future<void>init(InternetAddress ip,int port)async{}
108
+ ''' );
109
+
110
+ final configuration = buildRouteConfiguration (tempDirectory);
111
+ expect (configuration.invokeCustomEntrypoint, isTrue);
112
+ });
113
+
114
+ test ('invokeCustomEntrypoint is false when main.dart does not exist' , () {
115
+ final configuration = buildRouteConfiguration (
116
+ createTempDir (directories: ['routes' ]),
117
+ );
118
+ expect (configuration.invokeCustomInit, isFalse);
119
+ });
120
+
53
121
test ('includes global middleware when it exists' , () {
54
122
final configuration = buildRouteConfiguration (
55
123
createTempDir (files: ['routes/_middleware.dart' ]),
0 commit comments