Skip to content
This repository was archived by the owner on Nov 8, 2024. It is now read-only.

Commit d532560

Browse files
committed
Merge branch 'release/0.2.0' into production
2 parents 9f0ae06 + 0050086 commit d532560

File tree

71 files changed

+2048
-414
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2048
-414
lines changed

.travis.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,62 @@ matrix:
1414
- env:
1515
- WebDriver_Platform="Windows 10"
1616
- WebDriver_BrowserName="Chrome"
17+
- WebDriver_BrowserVersion="56.0"
18+
- env:
19+
- WebDriver_Platform="Windows 10"
20+
- WebDriver_BrowserName="Chrome"
21+
- WebDriver_BrowserVersion="latest"
1722
- env:
1823
- WebDriver_Platform="Windows 10"
1924
- WebDriver_BrowserName="Firefox"
25+
- WebDriver_BrowserVersion="53.0"
2026
- env:
2127
- WebDriver_Platform="Windows 10"
28+
- WebDriver_BrowserName="Firefox"
29+
- WebDriver_BrowserVersion="latest"
30+
- env:
31+
- WebDriver_Platform="Windows 7"
32+
- WebDriver_BrowserName="Internet Explorer"
33+
- WebDriver_BrowserVersion="9.0"
34+
- env:
35+
- WebDriver_Platform="Windows 7"
2236
- WebDriver_BrowserName="Internet Explorer"
37+
- WebDriver_BrowserVersion="10.0"
38+
- env:
39+
- WebDriver_Platform="Windows 7"
40+
- WebDriver_BrowserName="Internet Explorer"
41+
- WebDriver_BrowserVersion="11.0"
42+
- env:
43+
- WebDriver_Platform="Windows 10"
44+
- WebDriver_BrowserName="MicrosoftEdge"
45+
- WebDriver_BrowserVersion="14.14393"
2346
- env:
2447
- WebDriver_Platform="Windows 10"
2548
- WebDriver_BrowserName="MicrosoftEdge"
49+
- WebDriver_BrowserVersion="15.15063"
50+
- env:
51+
- WebDriver_Platform="Windows 10"
52+
- WebDriver_BrowserName="MicrosoftEdge"
53+
- WebDriver_BrowserVersion="16.16299"
54+
- env:
55+
- WebDriver_Platform="Windows 10"
56+
- WebDriver_BrowserName="MicrosoftEdge"
57+
- WebDriver_BrowserVersion="latest"
2658
- env:
2759
- WebDriver_Platform="OS X 10.11"
2860
- WebDriver_BrowserName="Safari"
2961
- WebDriver_BrowserVersion="10.0"
62+
- env:
63+
- WebDriver_Platform="macOS 10.12"
64+
- WebDriver_BrowserName="Safari"
65+
- WebDriver_BrowserVersion="10.1"
66+
- env:
67+
- WebDriver_Platform="macOS 10.13"
68+
- WebDriver_BrowserName="Safari"
69+
- WebDriver_BrowserVersion="11.0"
70+
- env:
71+
- WebDriver_BrowserName="Safari"
72+
- WebDriver_BrowserVersion="latest"
3073

3174
install: Tools/Travis.install.sh
3275

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using Ploeh.AutoFixture;
3+
using Ploeh.AutoFixture.AutoMoq;
4+
using Ploeh.AutoFixture.NUnit3;
5+
6+
namespace CSF.Screenplay.Selenium.Tests
7+
{
8+
public class AutoMoqDataAttribute : AutoDataAttribute
9+
{
10+
public AutoMoqDataAttribute() : base(new Fixture().Customize(new AutoMoqCustomization()))
11+
{
12+
}
13+
}
14+
}
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6+
<ProjectGuid>{87454F03-FBB3-4506-9055-551297445891}</ProjectGuid>
7+
<OutputType>Library</OutputType>
8+
<RootNamespace>CSF.Screenplay.Selenium.Tests</RootNamespace>
9+
<AssemblyName>CSF.Screenplay.Selenium.BrowserFlags.Tests</AssemblyName>
10+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
11+
<ReleaseVersion>0.2.0-alpha</ReleaseVersion>
12+
</PropertyGroup>
13+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
14+
<DebugSymbols>true</DebugSymbols>
15+
<DebugType>full</DebugType>
16+
<Optimize>false</Optimize>
17+
<OutputPath>bin\Debug</OutputPath>
18+
<DefineConstants>DEBUG;</DefineConstants>
19+
<ErrorReport>prompt</ErrorReport>
20+
<WarningLevel>4</WarningLevel>
21+
</PropertyGroup>
22+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
23+
<Optimize>true</Optimize>
24+
<OutputPath>bin\Release</OutputPath>
25+
<ErrorReport>prompt</ErrorReport>
26+
<WarningLevel>4</WarningLevel>
27+
</PropertyGroup>
28+
<ItemGroup>
29+
<Reference Include="System" />
30+
<Reference Include="nunit.framework">
31+
<HintPath>..\packages\NUnit.3.7.1\lib\net45\nunit.framework.dll</HintPath>
32+
</Reference>
33+
<Reference Include="Ploeh.AutoFixture">
34+
<HintPath>..\packages\AutoFixture.3.50.3\lib\net40\Ploeh.AutoFixture.dll</HintPath>
35+
</Reference>
36+
<Reference Include="Ploeh.AutoFixture.AutoMoq">
37+
<HintPath>..\packages\AutoFixture.AutoMoq.3.50.3\lib\net40\Ploeh.AutoFixture.AutoMoq.dll</HintPath>
38+
</Reference>
39+
<Reference Include="Ploeh.AutoFixture.NUnit3">
40+
<HintPath>..\packages\AutoFixture.NUnit3.3.50.3\lib\net40\Ploeh.AutoFixture.NUnit3.dll</HintPath>
41+
</Reference>
42+
<Reference Include="Castle.Core">
43+
<HintPath>..\packages\Castle.Core.4.0.0\lib\net45\Castle.Core.dll</HintPath>
44+
</Reference>
45+
<Reference Include="Moq">
46+
<HintPath>..\packages\Moq.4.7.25\lib\net45\Moq.dll</HintPath>
47+
</Reference>
48+
<Reference Include="CSF.Configuration">
49+
<HintPath>..\packages\CSF.Configuration.1.1.0\lib\net45\CSF.Configuration.dll</HintPath>
50+
</Reference>
51+
<Reference Include="Newtonsoft.Json">
52+
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
53+
</Reference>
54+
<Reference Include="WebDriver">
55+
<HintPath>..\packages\Selenium.WebDriver.3.4.0\lib\net40\WebDriver.dll</HintPath>
56+
</Reference>
57+
<Reference Include="System.Drawing" />
58+
<Reference Include="CSF.WebDriverExtras">
59+
<HintPath>..\packages\CSF.WebDriverExtras.0.5.0-beta\lib\net45\CSF.WebDriverExtras.dll</HintPath>
60+
</Reference>
61+
</ItemGroup>
62+
<ItemGroup>
63+
<None Include="packages.config" />
64+
<None Include="InvalidFlagsDefinition.json" />
65+
</ItemGroup>
66+
<ItemGroup>
67+
<EmbeddedResource Include="FooBrowser.flags.json">
68+
<LogicalName>FooBrowser.flags.json</LogicalName>
69+
</EmbeddedResource>
70+
</ItemGroup>
71+
<ItemGroup>
72+
<Compile Include="AutoMoqDataAttribute.cs" />
73+
<Compile Include="GetBrowserFlagsDefinitionsTests.cs" />
74+
</ItemGroup>
75+
<ItemGroup>
76+
<ProjectReference Include="..\CSF.Screenplay.Selenium.BrowserFlags\CSF.Screenplay.Selenium.BrowserFlags.csproj">
77+
<Project>{0665F99E-DB05-4208-BCF1-137EF914CBF5}</Project>
78+
<Name>CSF.Screenplay.Selenium.BrowserFlags</Name>
79+
</ProjectReference>
80+
</ItemGroup>
81+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
82+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[
2+
{
3+
"browserName": "FooBrowser",
4+
"flags": [
5+
"SampleFlag1",
6+
],
7+
},
8+
]
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
using System.IO;
2+
using System.Linq;
3+
using System.Reflection;
4+
using CSF.WebDriverExtras.Flags;
5+
using Moq;
6+
using NUnit.Framework;
7+
8+
namespace CSF.Screenplay.Selenium.Tests
9+
{
10+
[TestFixture,Parallelizable(ParallelScope.All)]
11+
public class GetBrowserFlagsDefinitionsTests
12+
{
13+
[Test,AutoMoqData]
14+
public void GetDefinitions_from_test_assembly_returns_one_definition(IReadsFlagsDefinitions definitionReader,
15+
FlagsDefinition def)
16+
{
17+
// Arrange
18+
var testAssembly = Assembly.GetExecutingAssembly();
19+
Mock.Get(definitionReader)
20+
.Setup(x => x.GetFlagsDefinitions(It.IsAny<Stream>()))
21+
.Returns(new [] { def });
22+
var sut = new GetBrowserFlagsDefinitions(definitionReader);
23+
24+
// Act
25+
var result = sut.GetDefinitions(testAssembly);
26+
27+
// Assert
28+
Assert.That(result, Has.Length.EqualTo(1));
29+
}
30+
31+
[Test,AutoMoqData]
32+
public void GetDefinitions_from_test_assembly_uses_definition_reader(IReadsFlagsDefinitions definitionReader,
33+
FlagsDefinition def)
34+
{
35+
// Arrange
36+
var testAssembly = Assembly.GetExecutingAssembly();
37+
Mock.Get(definitionReader)
38+
.Setup(x => x.GetFlagsDefinitions(It.IsAny<Stream>()))
39+
.Returns(new [] { def });
40+
var sut = new GetBrowserFlagsDefinitions(definitionReader);
41+
42+
// Act
43+
var result = sut.GetDefinitions(testAssembly);
44+
45+
// Assert
46+
Mock.Get(definitionReader)
47+
.Verify(x => x.GetFlagsDefinitions(It.IsAny<Stream>()), Times.Once);
48+
}
49+
50+
[Test,Category("Integration")]
51+
public void GetDefinitions_integration_test_only_finds_one_definition()
52+
{
53+
// Arrange
54+
var testAssembly = Assembly.GetExecutingAssembly();
55+
var sut = new GetBrowserFlagsDefinitions();
56+
57+
// Act
58+
var result = sut.GetDefinitions(testAssembly);
59+
60+
// Assert
61+
Assert.That(result, Has.Length.EqualTo(1));
62+
}
63+
64+
[Test,Category("Integration")]
65+
public void GetDefinitions_integration_test_finds_definition_for_FooBrowser()
66+
{
67+
// Arrange
68+
var testAssembly = Assembly.GetExecutingAssembly();
69+
var sut = new GetBrowserFlagsDefinitions();
70+
71+
// Act
72+
var result = sut.GetDefinitions(testAssembly).Single();
73+
74+
// Assert
75+
Assert.That(result.BrowserNames.First(), Is.EqualTo("FooBrowser"));
76+
}
77+
78+
[Test,Category("Integration")]
79+
public void FromDefinitionsAssembly_integration_test_returns_more_than_two_flags_definitions()
80+
{
81+
// Act
82+
var result = GetBrowserFlagsDefinitions.FromDefinitionsAssembly();
83+
84+
// Assert
85+
Assert.That(result, Is.Not.Null);
86+
Assert.That(result, Has.Length.GreaterThan(2));
87+
}
88+
}
89+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[
2+
{
3+
"browserName": "BarBrowser",
4+
"flags": [
5+
"SampleFlag1",
6+
],
7+
},
8+
]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<package id="AutoFixture" version="3.50.3" targetFramework="net45" />
4+
<package id="AutoFixture.AutoMoq" version="3.50.3" targetFramework="net45" />
5+
<package id="AutoFixture.NUnit3" version="3.50.3" targetFramework="net45" />
6+
<package id="Castle.Core" version="4.0.0" targetFramework="net45" />
7+
<package id="CSF.Configuration" version="1.1.0" targetFramework="net45" />
8+
<package id="CSF.WebDriverExtras" version="0.5.0-beta" targetFramework="net45" />
9+
<package id="Moq" version="4.7.25" targetFramework="net45" />
10+
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net45" />
11+
<package id="NUnit" version="3.7.1" targetFramework="net45" />
12+
<package id="Selenium.WebDriver" version="3.4.0" targetFramework="net45" />
13+
</packages>
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6+
<ProjectGuid>{0665F99E-DB05-4208-BCF1-137EF914CBF5}</ProjectGuid>
7+
<OutputType>Library</OutputType>
8+
<RootNamespace>CSF.Screenplay.Selenium</RootNamespace>
9+
<AssemblyName>CSF.Screenplay.Selenium.BrowserFlags</AssemblyName>
10+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
11+
<ReleaseVersion>0.2.0-alpha</ReleaseVersion>
12+
</PropertyGroup>
13+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
14+
<DebugSymbols>true</DebugSymbols>
15+
<DebugType>full</DebugType>
16+
<Optimize>false</Optimize>
17+
<OutputPath>bin\Debug</OutputPath>
18+
<DefineConstants>DEBUG;</DefineConstants>
19+
<ErrorReport>prompt</ErrorReport>
20+
<WarningLevel>4</WarningLevel>
21+
<DocumentationFile>bin\Debug\CSF.Screenplay.Selenium.BrowserFlags.xml</DocumentationFile>
22+
<ConsolePause>false</ConsolePause>
23+
</PropertyGroup>
24+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
25+
<Optimize>true</Optimize>
26+
<OutputPath>bin\Release</OutputPath>
27+
<ErrorReport>prompt</ErrorReport>
28+
<WarningLevel>4</WarningLevel>
29+
<DocumentationFile>bin\Release\CSF.Screenplay.Selenium.BrowserFlags.xml</DocumentationFile>
30+
<ConsolePause>false</ConsolePause>
31+
</PropertyGroup>
32+
<ItemGroup>
33+
<Reference Include="System" />
34+
<Reference Include="CSF.Configuration">
35+
<HintPath>..\packages\CSF.Configuration.1.1.0\lib\net45\CSF.Configuration.dll</HintPath>
36+
</Reference>
37+
<Reference Include="Newtonsoft.Json">
38+
<HintPath>..\packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
39+
</Reference>
40+
<Reference Include="WebDriver">
41+
<HintPath>..\packages\Selenium.WebDriver.3.4.0\lib\net40\WebDriver.dll</HintPath>
42+
</Reference>
43+
<Reference Include="System.Drawing" />
44+
<Reference Include="CSF.WebDriverExtras">
45+
<HintPath>..\packages\CSF.WebDriverExtras.0.5.0-beta\lib\net45\CSF.WebDriverExtras.dll</HintPath>
46+
</Reference>
47+
</ItemGroup>
48+
<ItemGroup>
49+
<Compile Include="Properties\AssemblyInfo.cs" />
50+
<Compile Include="Flags.cs" />
51+
<Compile Include="Flags.Browser.cs" />
52+
<Compile Include="Flags.HtmlElements.cs" />
53+
<Compile Include="GetBrowserFlagsDefinitions.cs" />
54+
</ItemGroup>
55+
<ItemGroup>
56+
<None Include="packages.config" />
57+
<None Include="CSF.Screenplay.Selenium.BrowserFlags.nuspec" />
58+
</ItemGroup>
59+
<ItemGroup>
60+
<Folder Include="Definitions\" />
61+
</ItemGroup>
62+
<ItemGroup>
63+
<EmbeddedResource Include="Definitions\AppleSafari.flags.json">
64+
<LogicalName>AppleSafari.flags.json</LogicalName>
65+
</EmbeddedResource>
66+
<EmbeddedResource Include="Definitions\GoogleChrome.flags.json">
67+
<LogicalName>GoogleChrome.flags.json</LogicalName>
68+
</EmbeddedResource>
69+
<EmbeddedResource Include="Definitions\InternetExplorer.flags.json">
70+
<LogicalName>InternetExplorer.flags.json</LogicalName>
71+
</EmbeddedResource>
72+
<EmbeddedResource Include="Definitions\MicrosoftEdge.flags.json">
73+
<LogicalName>MicrosoftEdge.flags.json</LogicalName>
74+
</EmbeddedResource>
75+
<EmbeddedResource Include="Definitions\MozillaFirefox.flags.json">
76+
<LogicalName>MozillaFirefox.flags.json</LogicalName>
77+
</EmbeddedResource>
78+
</ItemGroup>
79+
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
80+
</Project>
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<package>
3+
<metadata>
4+
<id>CSF.Screenplay.Selenium.BrowserFlags</id>
5+
<version>0.2.0-alpha</version>
6+
<title>CSF.Screenplay.Selenium.BrowserFlags</title>
7+
<authors>CSF Software Ltd</authors>
8+
<licenseUrl>https://opensource.org/licenses/MIT</licenseUrl>
9+
<projectUrl>https://github.com/csf-dev/CSF.Screenplay.Selenium</projectUrl>
10+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
11+
<description>An assembly containing 'browser flags definitions' for CSF.Screenplay.Selenium. This indicates the quirks and behaviours of various popular web browsers which are compatible with Selenium WebDriver.</description>
12+
<copyright>Copyright 2018</copyright>
13+
<dependencies>
14+
<dependency id="CSF.WebDriverExtras" version="0.5.0-beta" />
15+
</dependencies>
16+
</metadata>
17+
<files>
18+
<file src="bin/Release/CSF.Screenplay.Selenium.BrowserFlags.dll" target="lib/net45" />
19+
<file src="bin/Release/CSF.Screenplay.Selenium.BrowserFlags.xml" target="lib/net45" />
20+
</files>
21+
</package>

0 commit comments

Comments
 (0)