Skip to content

Commit 1a8f631

Browse files
committed
Updated JS tests
1 parent 00da455 commit 1a8f631

File tree

9 files changed

+71
-308
lines changed

9 files changed

+71
-308
lines changed

src/AngleSharp.Scripting.JavaScript.Tests/AngleSharp.Scripting.JavaScript.Tests.csproj

Lines changed: 10 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88
<AppDesignerFolder>Properties</AppDesignerFolder>
99
<RootNamespace>AngleSharp.Scripting.JavaScript.Tests</RootNamespace>
1010
<AssemblyName>AngleSharp.Scripting.JavaScript.Tests</AssemblyName>
11+
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
1112
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
1213
<FileAlignment>512</FileAlignment>
13-
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
1414
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
1515
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
1616
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
1717
<IsCodedUITest>False</IsCodedUITest>
1818
<TestProjectType>UnitTest</TestProjectType>
19-
<TargetFrameworkProfile />
2019
</PropertyGroup>
2120
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
2221
<DebugSymbols>true</DebugSymbols>
@@ -36,37 +35,18 @@
3635
<WarningLevel>4</WarningLevel>
3736
</PropertyGroup>
3837
<ItemGroup>
39-
<Reference Include="AngleSharp, Version=0.9.7.86, Culture=neutral, PublicKeyToken=e83494dcdc6d31ea, processorArchitecture=MSIL">
40-
<HintPath>..\packages\AngleSharp.0.9.7\lib\net45\AngleSharp.dll</HintPath>
41-
<Private>True</Private>
42-
</Reference>
43-
<Reference Include="Jint, Version=2.7.1.0, Culture=neutral, PublicKeyToken=2e92ba9c8d81157f, processorArchitecture=MSIL">
44-
<HintPath>..\packages\Jint.2.8\lib\portable-net40+sl50+win+WindowsPhoneApp81+wp80\Jint.dll</HintPath>
45-
<Private>True</Private>
46-
</Reference>
47-
<Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
48-
<SpecificVersion>False</SpecificVersion>
49-
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
50-
<Private>False</Private>
51-
</Reference>
52-
<Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
53-
<SpecificVersion>False</SpecificVersion>
54-
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
55-
<Private>False</Private>
56-
</Reference>
38+
<Reference Include="Microsoft.CSharp" />
5739
<Reference Include="nunit.framework, Version=3.4.1.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
5840
<HintPath>..\packages\NUnit.3.4.1\lib\net45\nunit.framework.dll</HintPath>
5941
<Private>True</Private>
6042
</Reference>
61-
<Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
62-
<SpecificVersion>False</SpecificVersion>
63-
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
64-
<Private>False</Private>
43+
<Reference Include="AngleSharp, Version=0.9.7.82, Culture=neutral, PublicKeyToken=e83494dcdc6d31ea, processorArchitecture=MSIL">
44+
<HintPath>..\packages\AngleSharp.0.9.7\lib\portable-windows8+net45+windowsphone8+wpa+monoandroid+monotouch\AngleSharp.dll</HintPath>
45+
<Private>True</Private>
6546
</Reference>
66-
<Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
67-
<SpecificVersion>False</SpecificVersion>
68-
<HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
69-
<Private>False</Private>
47+
<Reference Include="Jint, Version=2.7.1.0, Culture=neutral, PublicKeyToken=2e92ba9c8d81157f, processorArchitecture=MSIL">
48+
<HintPath>..\packages\Jint.2.8\lib\portable-net40+sl50+win+WindowsPhoneApp81+wp80\Jint.dll</HintPath>
49+
<Private>True</Private>
7050
</Reference>
7151
<Reference Include="System" />
7252
</ItemGroup>
@@ -80,29 +60,21 @@
8060
</Choose>
8161
<ItemGroup>
8262
<Compile Include="ComponentTests.cs" />
63+
<Compile Include="Constants.cs" />
8364
<Compile Include="FireEventTests.cs" />
84-
<Compile Include="GeneratorTests.cs" />
8565
<Compile Include="Helpers.cs" />
8666
<Compile Include="IntegrationTests.cs" />
8767
<Compile Include="InteractionTests.cs" />
8868
<Compile Include="JqueryTests.cs" />
69+
<Compile Include="Mocks\ConsoleLogger.cs" />
8970
<Compile Include="Mocks\DelayedRequester.cs" />
9071
<Compile Include="PageTests.cs" />
9172
<Compile Include="Properties\AssemblyInfo.cs" />
9273
<Compile Include="PseudoPropertiesTests.cs" />
9374
<Compile Include="ScriptEvalTests.cs" />
9475
<Compile Include="ScriptingTests.cs" />
95-
<Compile Include="Sources.Designer.cs">
96-
<AutoGen>True</AutoGen>
97-
<DesignTime>True</DesignTime>
98-
<DependentUpon>Sources.resx</DependentUpon>
99-
</Compile>
10076
</ItemGroup>
10177
<ItemGroup>
102-
<ProjectReference Include="..\AngleSharp.Scripting.JavaScript.Generator\AngleSharp.Scripting.JavaScript.Generator.csproj">
103-
<Project>{2bebf4ad-1660-43a6-b452-109716f42fa6}</Project>
104-
<Name>AngleSharp.Scripting.JavaScript.Generator</Name>
105-
</ProjectReference>
10678
<ProjectReference Include="..\AngleSharp.Scripting.JavaScript\AngleSharp.Scripting.JavaScript.csproj">
10779
<Project>{4ed5a0b3-ae7a-40b6-bbac-ff408d6c6bc3}</Project>
10880
<Name>AngleSharp.Scripting.JavaScript</Name>
@@ -111,12 +83,6 @@
11183
<ItemGroup>
11284
<None Include="packages.config" />
11385
</ItemGroup>
114-
<ItemGroup>
115-
<EmbeddedResource Include="Sources.resx">
116-
<Generator>ResXFileCodeGenerator</Generator>
117-
<LastGenOutput>Sources.Designer.cs</LastGenOutput>
118-
</EmbeddedResource>
119-
</ItemGroup>
12086
<Choose>
12187
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
12288
<ItemGroup>

src/AngleSharp.Scripting.JavaScript.Tests/Constants.cs

Lines changed: 17 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
namespace AngleSharp.Scripting.JavaScript.Tests
22
{
3+
using Mocks;
34
using NUnit.Framework;
45
using System;
56
using System.Collections.Generic;
6-
using System.IO;
77
using System.Net.NetworkInformation;
8-
using System.Text;
98
using System.Threading.Tasks;
109

1110
static class Helpers
1211
{
1312
public static async Task<String> EvalScriptAsync(this String source)
1413
{
15-
var cfg = Configuration.Default.WithJavaScript();
16-
var stdOut = Console.Out;
17-
var output = new StringBuilder();
18-
Console.SetOut(new StringWriter(output));
14+
var console = new ConsoleLogger();
15+
var cfg = Configuration.Default.WithJavaScript().WithConsoleLogger(context => console);
1916
var html = "<!doctype html><script>console.log(" + source + ")</script>";
2017
await BrowsingContext.New(cfg).OpenAsync(m => m.Content(html));
21-
Console.SetOut(stdOut);
22-
return output.ToString().Trim();
18+
return console.Content.ToString().Trim();
2319
}
2420

2521
public static async Task<String> EvalScriptsAsync(this IEnumerable<String> sources)
@@ -33,46 +29,13 @@ public static async Task<String> EvalScriptsAsync(this IEnumerable<String> sourc
3329

3430
public static Boolean IsNetworkAvailable()
3531
{
36-
if (IsNetworkAvailable(0))
32+
if (NetworkInterface.GetIsNetworkAvailable())
3733
{
3834
return true;
3935
}
4036

4137
Assert.Inconclusive("No network has been detected. Test skipped.");
4238
return false;
4339
}
44-
45-
public static Boolean IsNetworkAvailable(Int64 minimumSpeed)
46-
{
47-
if (NetworkInterface.GetIsNetworkAvailable())
48-
{
49-
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
50-
{
51-
// discard because of standard reasons
52-
if ((ni.OperationalStatus != OperationalStatus.Up) ||
53-
(ni.NetworkInterfaceType == NetworkInterfaceType.Loopback) ||
54-
(ni.NetworkInterfaceType == NetworkInterfaceType.Tunnel))
55-
continue;
56-
57-
// this allow to filter modems, serial, etc.
58-
// I use 10000000 as a minimum speed for most cases
59-
if (ni.Speed < minimumSpeed)
60-
continue;
61-
62-
// discard virtual cards (virtual box, virtual pc, etc.)
63-
if ((ni.Description.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0) ||
64-
(ni.Name.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0))
65-
continue;
66-
67-
// discard "Microsoft Loopback Adapter", it will not show as NetworkInterfaceType.Loopback but as Ethernet Card.
68-
if (ni.Description.Equals("Microsoft Loopback Adapter", StringComparison.OrdinalIgnoreCase))
69-
continue;
70-
71-
return true;
72-
}
73-
}
74-
75-
return false;
76-
}
7740
}
7841
}

src/AngleSharp.Scripting.JavaScript.Tests/JqueryTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class JqueryTests
1313
public static Task<String> EvaluateScriptWithJqueryAsync(params String[] sources)
1414
{
1515
var list = new List<String>(sources);
16-
list.Insert(0, Sources.Jquery);
16+
list.Insert(0, Constants.Jquery2_1_4);
1717
return list.EvalScriptsAsync();
1818
}
1919

@@ -63,7 +63,7 @@ public async Task JqueryWithAjaxToDelayedResponse()
6363
var message = "Hi!";
6464
var req = new DelayedRequester(10, message);
6565
var cfg = Configuration.Default.WithJavaScript().WithDefaultLoader(requesters: new[] { req });
66-
var sources = new [] { Sources.Jquery, @"
66+
var sources = new [] { Constants.Jquery2_1_4, @"
6767
$.ajax('http://example.com/', {
6868
success: function (data, status, xhr) {
6969
var res = document.querySelector('#result');
@@ -84,7 +84,7 @@ public async Task JqueryWithAjaxToDelayedResponse()
8484
[Test]
8585
public async Task JqueryVersionOne()
8686
{
87-
var result = await (new [] { Sources.Jquery1, SetResult("$.toString()") }).EvalScriptsAsync();
87+
var result = await (new [] { Constants.Jquery1_11_2, SetResult("$.toString()") }).EvalScriptsAsync();
8888
Assert.AreNotEqual("", result);
8989
}
9090
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
namespace AngleSharp.Scripting.JavaScript.Tests.Mocks
2+
{
3+
using AngleSharp.Scripting.JavaScript.Services;
4+
using System;
5+
using System.Text;
6+
7+
sealed class ConsoleLogger : IConsoleLogger
8+
{
9+
private readonly StringBuilder _sb;
10+
11+
public ConsoleLogger()
12+
: this(new StringBuilder())
13+
{
14+
}
15+
16+
public ConsoleLogger(StringBuilder sb)
17+
{
18+
_sb = sb;
19+
}
20+
21+
public StringBuilder Content
22+
{
23+
get { return _sb; }
24+
}
25+
26+
public void Log(Object[] values)
27+
{
28+
foreach (var value in values)
29+
{
30+
_sb.AppendLine((value ?? "null").ToString());
31+
}
32+
}
33+
}
34+
}

src/AngleSharp.Scripting.JavaScript.Tests/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@
1010
[assembly: AssemblyTrademark("")]
1111
[assembly: AssemblyCulture("")]
1212
[assembly: ComVisible(false)]
13-
[assembly: Guid("863a9ca5-a39b-42a9-967f-301d5fb8e630")]
1413
[assembly: AssemblyVersion("1.0.0.0")]
1514
[assembly: AssemblyFileVersion("1.0.0.0")]

src/AngleSharp.Scripting.JavaScript.Tests/Sources.Designer.cs

Lines changed: 0 additions & 83 deletions
This file was deleted.

0 commit comments

Comments
 (0)