Converts rule (array) to query string to be used as an argument for git log.
public static createGitLogQueryFromRule ( $rawRule ) : string | ||
$rawRule | array | |
리턴 | string |
public function shouldUpdate(WP_REST_Request $request) { global $versionPressContainer; /** @var GitRepository $repository */ $repository = $versionPressContainer->resolve(VersionPressServices::GIT_REPOSITORY); $latestCommit = $request['latestCommit']; $query = urldecode(stripslashes($request['query'])); $rules = QueryLanguageUtils::createRulesFromQueries([$query]); $gitLogQuery = !empty($rules) ? QueryLanguageUtils::createGitLogQueryFromRule($rules[0]) : ''; $repoLatestCommit = $repository->getLastCommitHash($gitLogQuery); return new WP_REST_Response(["update" => $repository->wasCreatedAfter($repoLatestCommit, $latestCommit), "cleanWorkingDirectory" => $repository->isCleanWorkingDirectory()]); }
/** * @test * @dataProvider rulesAndGitLogQueryProvider */ public function queryLanguageUtilsGeneratesCorrectGitLogQuery($rules, $expectedQuery) { $query = QueryLanguageUtils::createGitLogQueryFromRule($rules); // Perform case insensitive match $this->assertEquals($expectedQuery, $query, '', 0, 10, false, true); }