/** * Formats query parameters for the API. * * @param array $parameters The parameters to format. * @return array */ private function formatQueryParameters(array $parameters) { $options = ['parameterMode' => $this->isAssoc($parameters) ? 'named' : 'positional', 'useLegacySql' => false]; foreach ($parameters as $name => $value) { $param = $this->mapper->toParameter($value); if ($options['parameterMode'] === 'named') { $param += ['name' => $name]; } $options['queryParameters'][] = $param; } return $options; }
/** * @dataProvider parameterValueProvider */ public function testMapsToParameter($value, $expected) { if (is_resource($value)) { rewind($value); } $mapper = new ValueMapper(false); $actual = $mapper->toParameter($value); $this->assertEquals($expected, $actual); }