/** * Test translateFail method. * @covers Rentalhost\VanillaValidation\ValidationLocalize::translateFail * @covers Rentalhost\VanillaValidation\ValidationLocalize::maskKey * @covers Rentalhost\VanillaValidation\ValidationLocalize::configureLocale */ public function testTranslateFail() { $defaultLocale = Validation::option('locale'); Validation::option('locale', 'pt-BR'); $validation = new Validation(); $validation->field('username', '')->required(); $validationFails = $validation->validate()->getFails(); static::assertSame('o campo "username" é obrigatório', $validationFails[0]->getLocalized()); $validationFails = Validation::required()->validate('')->getFails(); static::assertSame('o campo é obrigatório', $validationFails[0]->getLocalized()); Validation::option('locale', ['unknow', 'pt-BR', 'en']); $validationFails = Validation::cpf()->validate('11122244405')->getFails(); static::assertSame('o campo deve ser um CPF válido', $validationFails[0]->getLocalized()); Validation::option('locale', $defaultLocale); }
/** * Configure translator locale. */ public static function configureLocale() { $localeOption = Validation::option('locale'); if (!is_array($localeOption)) { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ self::$translator->setLocale($localeOption); /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ self::$translator->setFallbackLocales([$localeOption]); } else { /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ self::$translator->setLocale(array_shift($localeOption)); /** @noinspection ExceptionsAnnotatingAndHandlingInspection */ self::$translator->setFallbackLocales($localeOption); } }
/** * Test locale. * @covers Rentalhost\VanillaValidation\Result\Fail::getLocalized */ public function testLocale() { $optionLocale = Validation::option('locale'); // Valid. Validation::option('locale', ['pt-BR']); $validation = Validation::required()->validate(''); static::assertCount(1, $validation->getFails()); $validationFail = $validation->getFails()[0]; static::assertSame('o campo é obrigatório', $validationFail->getLocalized()); Validation::option('locale', 'pt-BR'); static::assertSame('o campo é obrigatório', $validationFail->getLocalized()); Validation::option('locale', ['unknow', 'pt-BR']); static::assertSame('o campo é obrigatório', $validationFail->getLocalized()); // Fail. Validation::option('locale', ['unknow']); static::assertSame('fail:required', $validationFail->getLocalized()); Validation::option('locale', 'unknow'); static::assertSame('fail:required', $validationFail->getLocalized()); Validation::option('locale', $optionLocale); }
/** * Test option method. * @covers Rentalhost\VanillaValidation\Validation::option */ public function testOption() { $defaultLocale = Validation::option('locale'); static::assertNotEmpty($defaultLocale); Validation::option('locale', null); static::assertNull(Validation::option('locale')); Validation::option('locale', 'pt-BR'); static::assertSame('pt-BR', Validation::option('locale')); static::assertNull(Validation::option('unexistentOption')); Validation::option('unexistentOption', 'value'); static::assertNull(Validation::option('unexistentOption')); Validation::option('locale', $defaultLocale); }