Skip to content

Commit 894bd52

Browse files
committed
Added default render device
1 parent e93e2bb commit 894bd52

17 files changed

+176
-178
lines changed

src/AngleSharp.Css.Tests/Mocks/MockRenderDevice.cs

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

src/AngleSharp.Css.Tests/Rules/CssMediaFeatures.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ public void CssMediaFeatureValidatorFactory()
3232
public void CssMediaWidthValidation()
3333
{
3434
var validate = CreateValidator(FeatureNames.Width, "100px");
35-
var valid = validate(new MockRenderDevice { ViewPortWidth = 100, ViewPortHeight = 0 });
36-
var invalid = validate(new MockRenderDevice { ViewPortWidth = 0, ViewPortHeight = 0 });
35+
var valid = validate(new DefaultRenderDevice { ViewPortWidth = 100, ViewPortHeight = 0 });
36+
var invalid = validate(new DefaultRenderDevice { ViewPortWidth = 0, ViewPortHeight = 0 });
3737
Assert.IsTrue(valid);
3838
Assert.IsFalse(invalid);
3939
}
@@ -42,8 +42,8 @@ public void CssMediaWidthValidation()
4242
public void CssMediaMaxHeightValidation()
4343
{
4444
var validate = CreateValidator(FeatureNames.MaxHeight, "100px");
45-
var valid = validate(new MockRenderDevice { ViewPortWidth = 0, ViewPortHeight = 99 });
46-
var invalid = validate(new MockRenderDevice { ViewPortWidth = 0, ViewPortHeight = 101 });
45+
var valid = validate(new DefaultRenderDevice { ViewPortWidth = 0, ViewPortHeight = 99 });
46+
var invalid = validate(new DefaultRenderDevice { ViewPortWidth = 0, ViewPortHeight = 101 });
4747
Assert.IsTrue(valid);
4848
Assert.IsFalse(invalid);
4949
}
@@ -52,8 +52,8 @@ public void CssMediaMaxHeightValidation()
5252
public void CssMediaMinDeviceWidthValidation()
5353
{
5454
var validate = CreateValidator(FeatureNames.MinDeviceWidth, "100px");
55-
var valid = validate(new MockRenderDevice { DeviceWidth = 100, DeviceHeight = 0 });
56-
var invalid = validate(new MockRenderDevice { DeviceWidth = 99, DeviceHeight = 0 });
55+
var valid = validate(new DefaultRenderDevice { DeviceWidth = 100, DeviceHeight = 0 });
56+
var invalid = validate(new DefaultRenderDevice { DeviceWidth = 99, DeviceHeight = 0 });
5757
Assert.IsTrue(valid);
5858
Assert.IsFalse(invalid);
5959
}
@@ -62,8 +62,8 @@ public void CssMediaMinDeviceWidthValidation()
6262
public void CssMediaAspectRatio()
6363
{
6464
var validate = CreateValidator(FeatureNames.AspectRatio, "1/1");
65-
var valid = validate(new MockRenderDevice { ViewPortWidth = 100, ViewPortHeight = 100 });
66-
var invalid = validate(new MockRenderDevice { ViewPortWidth = 16, ViewPortHeight = 9 });
65+
var valid = validate(new DefaultRenderDevice { ViewPortWidth = 100, ViewPortHeight = 100 });
66+
var invalid = validate(new DefaultRenderDevice { ViewPortWidth = 16, ViewPortHeight = 9 });
6767
Assert.IsTrue(valid);
6868
Assert.IsFalse(invalid);
6969
}

src/AngleSharp.Css.Tests/Rules/CssSupports.cs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace AngleSharp.Css.Tests.Rules
1+
namespace AngleSharp.Css.Tests.Rules
22
{
33
using AngleSharp.Css.Dom;
44
using AngleSharp.Css.Tests.Mocks;
@@ -13,7 +13,7 @@ public void SupportsEmptyRule()
1313
{
1414
var source = @"@supports () { }";
1515
var sheet = ParseStyleSheet(source);
16-
var device = new MockRenderDevice { Context = sheet.Context };
16+
var device = new DefaultRenderDevice();
1717
Assert.AreEqual(1, sheet.Rules.Length);
1818
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
1919
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -26,7 +26,7 @@ public void SupportsBackgroundColorRedRule()
2626
{
2727
var source = @"@supports (background-color: red) { }";
2828
var sheet = ParseStyleSheet(source);
29-
var device = new MockRenderDevice { Context = sheet.Context };
29+
var device = new DefaultRenderDevice();
3030
Assert.AreEqual(1, sheet.Rules.Length);
3131
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
3232
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -39,7 +39,7 @@ public void SupportsBackgroundColorRedAndColorBlueRule()
3939
{
4040
var source = @"@supports ((background-color: red) and (color: blue)) { }";
4141
var sheet = ParseStyleSheet(source);
42-
var device = new MockRenderDevice { Context = sheet.Context };
42+
var device = new DefaultRenderDevice();
4343
Assert.AreEqual(1, sheet.Rules.Length);
4444
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
4545
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -52,7 +52,7 @@ public void SupportsNotUnsupportedDeclarationRule()
5252
{
5353
var source = @"@supports (not (background-transparency: half)) { }";
5454
var sheet = ParseStyleSheet(source);
55-
var device = new MockRenderDevice { Context = sheet.Context };
55+
var device = new DefaultRenderDevice();
5656
Assert.AreEqual(1, sheet.Rules.Length);
5757
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
5858
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -65,7 +65,7 @@ public void SupportsUnsupportedDeclarationRule()
6565
{
6666
var source = @"@supports ((background-transparency: zero)) { }";
6767
var sheet = ParseStyleSheet(source);
68-
var device = new MockRenderDevice { Context = sheet.Context };
68+
var device = new DefaultRenderDevice();
6969
Assert.AreEqual(1, sheet.Rules.Length);
7070
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
7171
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -78,7 +78,7 @@ public void SupportsBackgroundRedWithImportantRule()
7878
{
7979
var source = @"@supports (background: red !important) { }";
8080
var sheet = ParseStyleSheet(source);
81-
var device = new MockRenderDevice { Context = sheet.Context };
81+
var device = new DefaultRenderDevice();
8282
Assert.AreEqual(1, sheet.Rules.Length);
8383
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
8484
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -91,7 +91,7 @@ public void SupportsPaddingTopOrPaddingLeftRule()
9191
{
9292
var source = @"@supports ((padding-TOP : 0) or (padding-left : 0)) { }";
9393
var sheet = ParseStyleSheet(source);
94-
var device = new MockRenderDevice { Context = sheet.Context };
94+
var device = new DefaultRenderDevice();
9595
Assert.AreEqual(1, sheet.Rules.Length);
9696
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
9797
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -104,7 +104,7 @@ public void SupportsPaddingTopOrPaddingLeftAndPaddingBottomOrPaddingRightRule()
104104
{
105105
var source = @"@supports (((padding-top: 0) or (padding-left: 0)) and ((padding-bottom: 0) or (padding-right: 0))) { }";
106106
var sheet = ParseStyleSheet(source);
107-
var device = new MockRenderDevice { Context = sheet.Context };
107+
var device = new DefaultRenderDevice();
108108
Assert.AreEqual(1, sheet.Rules.Length);
109109
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
110110
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -117,7 +117,7 @@ public void SupportsDisplayFlexWithImportantRule()
117117
{
118118
var source = @"@supports (display: flex !important) { }";
119119
var sheet = ParseStyleSheet(source);
120-
var device = new MockRenderDevice { Context = sheet.Context };
120+
var device = new DefaultRenderDevice();
121121
Assert.AreEqual(1, sheet.Rules.Length);
122122
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
123123
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -138,7 +138,7 @@ public void SupportsDisplayFlexMultipleBracketsRule()
138138
{
139139
var source = @"@supports ((display: flex)) { }";
140140
var sheet = ParseStyleSheet(source);
141-
var device = new MockRenderDevice { Context = sheet.Context };
141+
var device = new DefaultRenderDevice();
142142
Assert.AreEqual(1, sheet.Rules.Length);
143143
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
144144
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -153,7 +153,7 @@ public void SupportsTransitionOrAnimationNameAndTransformFrontBracketRule()
153153
(animation-name: foo)) and
154154
(transform: rotate(10deg)) { }";
155155
var sheet = ParseStyleSheet(source);
156-
var device = new MockRenderDevice { Context = sheet.Context };
156+
var device = new DefaultRenderDevice();
157157
Assert.AreEqual(1, sheet.Rules.Length);
158158
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
159159
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -168,7 +168,7 @@ public void SupportsTransitionOrAnimationNameAndTransformBackBracketRule()
168168
((animation-name: foo) and
169169
(transform: rotate(10deg))) { }";
170170
var sheet = ParseStyleSheet(source);
171-
var device = new MockRenderDevice { Context = sheet.Context };
171+
var device = new DefaultRenderDevice();
172172
Assert.AreEqual(1, sheet.Rules.Length);
173173
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
174174
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -184,7 +184,7 @@ public void SupportsShadowVendorPrefixesRule()
184184
( -webkit-box-shadow: 0 0 2px black ) or
185185
( -o-box-shadow: 0 0 2px black ) { }";
186186
var sheet = ParseStyleSheet(source);
187-
var device = new MockRenderDevice { Context = sheet.Context };
187+
var device = new DefaultRenderDevice();
188188
Assert.AreEqual(1, sheet.Rules.Length);
189189
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
190190
var supports = sheet.Rules[0] as CssSupportsRule;
@@ -201,7 +201,7 @@ public void SupportsNegatedDisplayFlexRuleWithDeclarations()
201201
#article { width: 75%; }
202202
}";
203203
var sheet = ParseStyleSheet(source);
204-
var device = new MockRenderDevice { Context = sheet.Context };
204+
var device = new DefaultRenderDevice();
205205
Assert.AreEqual(1, sheet.Rules.Length);
206206
Assert.IsInstanceOf<CssSupportsRule>(sheet.Rules[0]);
207207
var supports = sheet.Rules[0] as CssSupportsRule;

src/AngleSharp.Css/AngleSharp.Css.nuget.targets

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

src/AngleSharp.Css/BrowsingContextExtensions.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,8 @@ public static class BrowsingContextExtensions
2020
/// <param name="address">The address of the resource.</param>
2121
/// <param name="element">The hosting element.</param>
2222
/// <returns>The async task.</returns>
23-
public static Task<IStyleSheet> OpenStyleSheetAsync(this IBrowsingContext context, Url address, IElement element)
24-
{
25-
return context.OpenStyleSheetAsync(address, element, CancellationToken.None);
26-
}
23+
public static Task<IStyleSheet> OpenStyleSheetAsync(this IBrowsingContext context, Url address, IElement element) =>
24+
context.OpenStyleSheetAsync(address, element, CancellationToken.None);
2725

2826
/// <summary>
2927
/// Loads a stylesheet resource via its URL.

src/AngleSharp.Css/Constants/CssKeywords.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,17 @@ public static class CssKeywords
126126
/// The break-all keyword.
127127
/// </summary>
128128
public static readonly String BreakWord = "break-word";
129+
129130
/// <summary>
130131
/// The important keyword.
131132
/// </summary>
132133
public static readonly String Important = "important";
133134

135+
/// <summary>
136+
/// The !important keyword.
137+
/// </summary>
138+
public static readonly String BangImportant = "!important";
139+
134140
/// <summary>
135141
/// The inherit keyword.
136142
/// </summary>

src/AngleSharp.Css/CssValueExtensions.cs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,14 @@ public static Double AsPixel(this ICssValue value)
3232

3333
public static Int32 AsInteger(this ICssValue value)
3434
{
35-
return (Int32)value.AsNumber();
35+
return (int)value.AsNumber();
3636
}
3737

38-
public static Boolean AsBoolean(this ICssValue value)
39-
{
40-
return false;
41-
}
38+
public static Boolean AsBoolean(this ICssValue value) => false;
4239

4340
public static T AsEnum<T>(this ICssValue value)
44-
where T : struct, IComparable
45-
{
46-
return default(T);
47-
}
41+
where T : struct, IComparable => default(T);
4842

49-
public static Boolean Is(this ICssValue value, String keyword)
50-
{
51-
return false;
52-
}
43+
public static Boolean Is(this ICssValue value, String keyword) => false;
5344
}
5445
}

src/AngleSharp.Css/DefaultDocumentFunctionFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace AngleSharp.Css
1+
namespace AngleSharp.Css
22
{
33
using AngleSharp.Css.Dom;
44
using System;
@@ -21,7 +21,7 @@ public class DefaultDocumentFunctionFactory : IDocumentFunctionFactory
2121
{ FunctionNames.Url, str => new UrlFunction(str) },
2222
{ FunctionNames.Domain, str => new DomainFunction(str) },
2323
{ FunctionNames.UrlPrefix, str => new UrlPrefixFunction(str) },
24-
{ FunctionNames.Regexp, str => new RegexpFunction(str) }
24+
{ FunctionNames.Regexp, str => new RegexpFunction(str) },
2525
};
2626

2727
/// <summary>

src/AngleSharp.Css/DefaultFeatureValidatorFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace AngleSharp.Css
1+
namespace AngleSharp.Css
22
{
33
using AngleSharp.Css.FeatureValidators;
44
using System;
@@ -56,7 +56,7 @@ public class DefaultFeatureValidatorFactory : IFeatureValidatorFactory
5656
{ FeatureNames.UpdateFrequency, () => new UpdateFrequencyFeatureValidator() },
5757
{ FeatureNames.Scripting, () => new ScanFeatureValidator() },
5858
{ FeatureNames.Pointer, () => new PointerFeatureValidator() },
59-
{ FeatureNames.Hover, () => new HoverFeatureValidator() }
59+
{ FeatureNames.Hover, () => new HoverFeatureValidator() },
6060
};
6161

6262
/// <summary>

src/AngleSharp.Css/DefaultPseudoElementFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace AngleSharp.Css
1+
namespace AngleSharp.Css
22
{
33
using AngleSharp.Css.Dom;
44
using AngleSharp.Dom;
@@ -21,7 +21,7 @@ public class DefaultPseudoElementFactory : IPseudoElementFactory
2121
{
2222
{ PseudoElementNames.Before, element => new PseudoElement(element, PseudoElementNames.Before) },
2323
{ PseudoElementNames.After, element => new PseudoElement(element, PseudoElementNames.After) },
24-
{ PseudoElementNames.Slotted, element => new PseudoElement(element, PseudoElementNames.Slotted) }
24+
{ PseudoElementNames.Slotted, element => new PseudoElement(element, PseudoElementNames.Slotted) },
2525
};
2626

2727
/// <summary>

0 commit comments

Comments
 (0)