@@ -44,10 +44,24 @@ public function testMiddlewareCanBeSortedByPriority()
44
44
$ this ->assertEquals ([], (new SortedMiddleware (['First ' ], []))->all ());
45
45
$ this ->assertEquals (['First ' ], (new SortedMiddleware (['First ' ], ['First ' ]))->all ());
46
46
$ this ->assertEquals (['First ' , 'Second ' ], (new SortedMiddleware (['First ' , 'Second ' ], ['Second ' , 'First ' ]))->all ());
47
+ }
47
48
49
+ public function testItDoesNotMoveNonStringValues ()
50
+ {
48
51
$ closure = function () {
49
- //
52
+ return ' foo ' ;
50
53
};
54
+
55
+ $ closure2 = function () {
56
+ return 'bar ' ;
57
+ };
58
+
59
+ $ this ->assertEquals ([2 , 1 ], (new SortedMiddleware ([1 , 2 ], [2 , 1 ]))->all ());
51
60
$ this ->assertEquals (['Second ' , $ closure ], (new SortedMiddleware (['First ' , 'Second ' ], ['Second ' , $ closure ]))->all ());
61
+ $ this ->assertEquals (['a ' , 'b ' , $ closure ], (new SortedMiddleware (['a ' , 'b ' ], ['b ' , $ closure , 'a ' ]))->all ());
62
+ $ this ->assertEquals ([$ closure2 , 'a ' , 'b ' , $ closure , 'foo ' ], (new SortedMiddleware (['a ' , 'b ' ], [$ closure2 , 'b ' , $ closure , 'a ' , 'foo ' ]))->all ());
63
+ $ this ->assertEquals ([$ closure , 'a ' , 'b ' , $ closure2 , 'foo ' ], (new SortedMiddleware (['a ' , 'b ' ], [$ closure , 'b ' , $ closure2 , 'foo ' , 'a ' ]))->all ());
64
+ $ this ->assertEquals (['a ' , $ closure , 'b ' , $ closure2 , 'foo ' ], (new SortedMiddleware (['a ' , 'b ' ], ['a ' , $ closure , 'b ' , $ closure2 , 'foo ' ]))->all ());
65
+ $ this ->assertEquals ([$ closure , $ closure2 , 'foo ' , 'a ' ], (new SortedMiddleware (['a ' , 'b ' ], [$ closure , $ closure2 , 'foo ' , 'a ' ]))->all ());
52
66
}
53
67
}
0 commit comments