예제 #1
0
        public async void SendAsync_WhenConfigurationHasCurrency_ShouldSendCurrencyHeader()
        {
            const string expectedCurrencyHeaderValue = "EUR";
            var          localizationProvider        = new FakeLocalizationProvider {
                CurrencyCode = expectedCurrencyHeaderValue
            };
            var request             = new HttpRequestMessage();
            var localizationHandler = CreateLocalizationHandler(localizationProvider);

            await new HttpMessageInvoker(localizationHandler).SendAsync(request, CancellationToken.None);

            IEnumerable <string> currencyValues;

            Assert.True(request.Headers.TryGetValues("Accept-Currency", out currencyValues));
            Assert.Equal(expectedCurrencyHeaderValue, currencyValues.Single());
        }
예제 #2
0
        public async void SendAsync_WhenConfigurationHasLanguage_ShouldSendLanguageHeader()
        {
            const string expectedLanguageHeaderValue = "en-gb;q=0.8";
            var          localizationProvider        = new FakeLocalizationProvider {
                LanguageCode = expectedLanguageHeaderValue
            };
            var request             = new HttpRequestMessage();
            var localizationHandler = CreateLocalizationHandler(localizationProvider);

            await new HttpMessageInvoker(localizationHandler).SendAsync(request, CancellationToken.None);

            var expectedLanguage = StringWithQualityHeaderValue.Parse(expectedLanguageHeaderValue);

            Assert.Equal(expectedLanguage.Value, request.Headers.AcceptLanguage.Single().Value);
            Assert.Equal(expectedLanguage.Quality, request.Headers.AcceptLanguage.Single().Quality);
        }