7 Commits

Author SHA1 Message Date
Tommy Parnell
a80ec08760 this works and is updated woot 2016-11-14 15:19:16 -05:00
Tommy Parnell
b4c3914e73 does this really work 2016-11-14 15:00:21 -05:00
Tommy Parnell
176659d0cb dont double test 2016-11-12 16:05:20 -05:00
Tommy Parnell
ad60fd47d9 try build instead 2016-11-12 15:59:14 -05:00
Tommy Parnell
3c3641a4f5 try publish instead of build 2016-11-12 15:57:22 -05:00
Tommy Parnell
d7fc6865c1 add 462 2016-11-12 15:51:32 -05:00
Tommy Parnell
1911b4a3e7 object serialization yo 2016-11-12 15:09:41 -05:00
6 changed files with 69 additions and 23 deletions

View File

@@ -6,6 +6,6 @@ if($env:APPVEYOR_REPO_TAG -eq "true")
nuget install OpenCover -Version 4.6.519 -OutputDirectory tools
nuget install coveralls.net -Version 0.7.0 -OutputDirectory tools
.\tools\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:" test "".\src\UriBuilder.Fluent.UnitTests"" -f net461" -register:user -filter:"+[UriBuilder*]* -[*Tests]*" -returntargetcode -output:opencover_results.xml
.\tools\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:" test "".\src\UriBuilder.Fluent.UnitTests"" -f net462" -register:user -filter:"+[UriBuilder*]* -[*Tests]*" -returntargetcode -output:opencover_results.xml
.\tools\coveralls.net.0.7.0\tools\csmacnz.Coveralls.exe --opencover -i .\opencover_results.xml

View File

@@ -12,15 +12,16 @@ init:
before_build:
- ps: invoke-webrequest https://go.microsoft.com/fwlink/?LinkID=827524 -OutFile core.exe
- ps: .\core.exe /install /quiet /norestart
- ps: iwr -Uri https://download.microsoft.com/download/E/F/D/EFD52638-B804-4865-BB57-47F4B9C80269/NDP462-DevPack-KB3151934-ENU.exe -OutFile net452.exe
- ps: start-process .\net452.exe -Wait '/install /quiet /norestart'
build_script:
- ps: dotnet restore
- ps: dotnet build -c Release .\src\UriBuilder.Fluent
- ps: dotnet build -c Release .\src\UriBuilder.Fluent.UnitTests
- ps: dotnet publish -c Release .\src\UriBuilder.Fluent.UnitTests
test_script:
- ps: dotnet test -c Release .\src\UriBuilder.Fluent.UnitTests
- ps: .\Coverage.ps1
- ps: .\update-projectjson.ps1
- ps: dotnet restore

View File

@@ -116,6 +116,16 @@ namespace FluentUriBuilder.Tests
.WithParameter("supgf", "no22");
Assert.Equal("http://awesome.com/?awesome=yodawg&supg=no2&supgf=no22", url.Uri.ToString());
}
[Fact]
public void TestSerializedParameters()
{
var url = new UriBuilder("http://awesome.com")
.WithSerializedObject(new {yo="dawg"});
Assert.Equal("http://awesome.com/?yo=dawg", url.Uri.ToString());
url = new UriBuilder("http://awesome.com")
.WithSerializedObject(new {yo=""});
Assert.Equal("http://awesome.com/?yo", url.Uri.ToString());
}
[Fact]
public void AddDictOfParams()

View File

@@ -9,7 +9,8 @@
},
"frameworks": {
"net461": {},
"net462": {
},
"netcoreapp1.0": {
"dependencies": {
"Microsoft.NETCore.App": {

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
@@ -17,6 +18,7 @@ namespace System
/// <returns></returns>
public static UriBuilder WithParameter(this UriBuilder bld, string key, params string[] values) => bld.WithParameter(key, valuesEnum: values);
public static UriBuilder WithParameter(this UriBuilder bld, string key, object value) => bld.WithParameter(key, new object[1] { value });
/// <summary>
/// Appends query strings from dictionary
/// </summary>
@@ -138,5 +140,20 @@ namespace System
bld.Scheme = predicate ? "https" : "http";
return bld;
}
#if (netstandard15)
public static UriBuilder WithSerializedObject(this UriBuilder bld, object serialize)
{
var types = serialize.GetType().GetTypeInfo().GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.GetProperty);
foreach(var type in types)
{
bld.WithParameter(type.Name, type.GetValue(serialize, null));
}
return bld;
}
#endif
}
}

View File

@@ -1,31 +1,48 @@
{
"version": "1.0.0-*",
"packOptions": {
"owners": [
"Tommy Parnell"
],
"projectUrl": "https://github.com/TerribleDev/UriBuilder.Fluent",
"summary": "Fluent extensions for UriBuilder",
"tags": [
"Url building",
"Uri",
"Uri building",
"fluent",
"extension"
]
"owners": [
"Tommy Parnell"
],
"repository": {
"url": "https://github.com/TerribleDev/UriBuilder.Fluent"
},
"summary": "Fluent extensions for UriBuilder",
"tags": [
"Url building",
"Uri",
"Uri building",
"fluent",
"extension"
]
},
"authors": [
"Tommy Parnell"
"Tommy Parnell"
],
"frameworks": {
"netstandard1.1": {
"imports": "dnxcore50",
"dependencies": {
"NETStandard.Library": "1.6.0"
"buildOptions": {
"define": [ "netstandard11" ]
},
"dependencies": {
"NETStandard.Library": "1.6.0"
}
},
"net40": {
"imports": "dnxcore50"
"netstandard1.5": {
"dependencies": {
"NETStandard.Library": "1.6.0"
},
"buildOptions": {
"define": [ "netstandard15" ]
}
},
"net45":{
"buildOptions": {
"define": [ "netstandard15" ]
},
"frameworkAssemblies": {
"System.Runtime":"4.0.0"
}
}
}
}
}