@@ -23,6 +23,7 @@ protected function buildMatchers(Parser $parser, Backtrace $backtrace) : Matcher
23
23
{
24
24
$ scalarMatchers = $ this ->buildScalarMatchers ($ parser , $ backtrace );
25
25
$ arrayMatcher = $ this ->buildArrayMatcher ($ scalarMatchers , $ parser , $ backtrace );
26
+ $ orMatcher = $ this ->buildOrMatcher ([$ scalarMatchers , $ arrayMatcher ], $ backtrace );
26
27
27
28
// Matchers are registered in order of matching
28
29
// 1) all scalars
@@ -39,7 +40,7 @@ protected function buildMatchers(Parser $parser, Backtrace $backtrace) : Matcher
39
40
new Matcher \JsonMatcher ($ arrayMatcher , $ backtrace ),
40
41
new Matcher \XmlMatcher ($ arrayMatcher , $ backtrace ),
41
42
$ arrayMatcher ,
42
- new Matcher \ OrMatcher ( $ backtrace , $ scalarMatchers ) ,
43
+ $ orMatcher ,
43
44
new Matcher \TextMatcher ($ scalarMatchers , $ backtrace , $ parser ),
44
45
]
45
46
);
@@ -88,7 +89,19 @@ protected function buildScalarMatchers(Parser $parser, Backtrace $backtrace) : M
88
89
);
89
90
}
90
91
91
- protected function buildParser (Backtrace $ backtrace ) : Parser
92
+ private function buildOrMatcher (array $ orMatchers , Backtrace $ backtrace ) : Matcher \OrMatcher
93
+ {
94
+ return new Matcher \OrMatcher (
95
+ $ backtrace ,
96
+ new Matcher \ChainMatcher (
97
+ 'or ' ,
98
+ $ backtrace ,
99
+ $ orMatchers
100
+ )
101
+ );
102
+ }
103
+
104
+ private function buildParser (Backtrace $ backtrace ) : Parser
92
105
{
93
106
return new Parser (new Lexer (), new Parser \ExpanderInitializer ($ backtrace ));
94
107
}
0 commit comments