| Index: shell/src/MatchesCommand.cpp |
| =================================================================== |
| --- a/shell/src/MatchesCommand.cpp |
| +++ b/shell/src/MatchesCommand.cpp |
| @@ -10,29 +10,34 @@ MatchesCommand::MatchesCommand(AdblockPl |
| void MatchesCommand::operator()(const std::string& arguments) |
| { |
| std::istringstream argumentStream(arguments); |
| std::string url; |
| argumentStream >> url; |
| std::string contentType; |
| argumentStream >> contentType; |
| - if (!url.size() || !contentType.size()) |
| + std::string documentUrl; |
| + argumentStream >> documentUrl; |
| + if (!url.size() || !contentType.size() || !documentUrl.size()) |
| { |
| ShowUsage(); |
| return; |
| } |
| - if (filterEngine.Matches(url, contentType)) |
| - std::cout << "Match" << std::endl; |
| + AdblockPlus::Filter* match = filterEngine.Matches(url, contentType, documentUrl); |
| + if (!match) |
| + std::cout << "No match" << std::endl; |
| + else if (match->GetProperty("type", "") == "exception") |
| + std::cout << "Whitelisted" << std::endl; |
| else |
| - std::cout << "No match" << std::endl; |
| + std::cout << "Blocked" << std::endl; |
| } |
| std::string MatchesCommand::GetDescription() const |
| { |
| return "Returns the first filter that matches the supplied URL"; |
| } |
| std::string MatchesCommand::GetUsage() const |
| { |
| - return name + " URL CONTENT_TYPE"; |
| + return name + " URL CONTENT_TYPE DOCUMENT_URL"; |
| } |