Skip to content
This repository was archived by the owner on Sep 14, 2021. It is now read-only.

Commit 63a7fc0

Browse files
authored
Enable and fix some more lints (#29)
Rename analysis_options
1 parent d6df9e0 commit 63a7fc0

File tree

5 files changed

+98
-33
lines changed

5 files changed

+98
-33
lines changed

.analysis_options

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

analysis_options.yaml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
analyzer:
2+
strong-mode: true
3+
errors:
4+
unused_element: error
5+
unused_import: error
6+
unused_local_variable: error
7+
dead_code: error
8+
linter:
9+
rules:
10+
#- always_declare_return_types
11+
#- always_specify_types
12+
#- annotate_overrides
13+
#- avoid_as
14+
- avoid_empty_else
15+
- avoid_init_to_null
16+
- avoid_null_checks_in_equality_operators
17+
#- avoid_return_types_on_setters
18+
- await_only_futures
19+
- camel_case_types
20+
- cancel_subscriptions
21+
#- close_sinks
22+
#- comment_references
23+
#- constant_identifier_names
24+
- control_flow_in_finally
25+
- directives_ordering
26+
- empty_catches
27+
- empty_constructor_bodies
28+
- empty_statements
29+
- hash_and_equals
30+
- implementation_imports
31+
- iterable_contains_unrelated_type
32+
- library_names
33+
- library_prefixes
34+
- list_remove_unrelated_type
35+
#- non_constant_identifier_names
36+
#- one_member_abstracts
37+
#- only_throw_errors
38+
- overridden_fields
39+
- package_api_docs
40+
- package_names
41+
- package_prefixed_library_names
42+
- prefer_final_fields
43+
- prefer_is_not_empty
44+
#- public_member_api_docs
45+
- slash_for_doc_comments
46+
#- sort_constructors_first
47+
#- sort_unnamed_constructors_first
48+
- super_goes_last
49+
- test_types_in_equals
50+
- throw_in_finally
51+
#- type_annotate_public_apis
52+
- type_init_formals
53+
#- unawaited_futures
54+
- unnecessary_brace_in_string_interps
55+
#- unnecessary_getters_setters
56+
- unrelated_type_equality_checks
57+
- valid_regexps

lib/src/material_popup_demo/material_popup_demo.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ import 'package:angular_components/angular_components.dart';
1313
MaterialButtonComponent,
1414
MaterialPopupComponent,
1515
PopupSourceDirective,
16-
defaultPopupSizeProvider,
16+
DefaultPopupSizeProvider,
1717
],
1818
providers: const [
1919
popupBindings,
20-
defaultPopupSizeProvider,
20+
DefaultPopupSizeProvider,
2121
],
2222
)
2323
class MaterialPopupDemoComponent {
@@ -39,4 +39,4 @@ PopupSizeProvider createPopupSizeProvider() {
3939
@Directive(selector: '[defaultPopupSizeProvider]', providers: const [
4040
const Provider(PopupSizeProvider, useFactory: createPopupSizeProvider)
4141
])
42-
class defaultPopupSizeProvider {}
42+
class DefaultPopupSizeProvider {}

lib/src/material_select_demo/material_select_demo.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ class MaterialSelectDemoComponent {
7070
const Language('de', 'German')
7171
];
7272

73-
static List<OptionGroup<Language>> _languagesGroups = <OptionGroup<Language>>[
73+
static final List<OptionGroup<Language>> _languagesGroups =
74+
<OptionGroup<Language>>[
7475
new OptionGroup<Language>.withLabel(const <Language>[
7576
const Language('en-US', 'US English'),
7677
const Language('fr-CA', 'Canadian English'),
@@ -89,21 +90,21 @@ class MaterialSelectDemoComponent {
8990
new OptionGroup<Language>.withLabel(const <Language>[], 'Pangaea')
9091
];
9192

92-
static List<RelativePosition> _popupPositionsAboveInput = const [
93+
static final List<RelativePosition> _popupPositionsAboveInput = const [
9394
RelativePosition.AdjacentTopLeft,
9495
RelativePosition.AdjacentTopRight
9596
];
96-
static List<RelativePosition> _popupPositionsBelowInput = const [
97+
static final List<RelativePosition> _popupPositionsBelowInput = const [
9798
RelativePosition.AdjacentBottomLeft,
9899
RelativePosition.AdjacentBottomRight
99100
];
100101

101-
static ItemRenderer<Language> _displayNameRenderer =
102+
static final ItemRenderer<Language> _displayNameRenderer =
102103
(HasUIDisplayName item) => item.uiDisplayName;
103104

104105
// Specifying an itemRenderer avoids the selected item from knowing how to
105106
// display itself.
106-
static ItemRenderer<Language> _itemRenderer =
107+
static final ItemRenderer<Language> _itemRenderer =
107108
new CachingItemRenderer<Language>(
108109
(language) => "${language.label} (${language.code})");
109110

tool/sanity_check.dart

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,8 @@ Future testButton(Future<Null> ensureBodyContains(String text),
118118
Future testMaxCharInput(WebDriver driver) async {
119119
print("Testing input.");
120120

121-
Stream<WebElement> inputs =
122-
await driver.findElements(const By.tagName("input"));
123121
WebElement maxCharInput;
124-
await for (var input in inputs) {
122+
await for (var input in driver.findElements(const By.tagName("input"))) {
125123
if (await input.attributes["aria-label"] == "Max 5 chars") {
126124
maxCharInput = input;
127125
break;
@@ -174,18 +172,20 @@ Future testDialog(
174172

175173
var dialogText = "Lorem ipsum dolor sit amet";
176174

177-
var buttons = await driver.findElements(const By.tagName("material-button"));
175+
var buttons =
176+
await driver.findElements(const By.tagName("material-button")).toList();
178177

179178
await ensureBodyDoesNotContain(dialogText);
180-
for (var button in await buttons.toList()) {
179+
for (var button in buttons) {
181180
if ((await button.text) == "OPEN BASIC") {
182181
await button.click();
183182
break;
184183
}
185184
}
186185
await ensureBodyContains(dialogText);
187-
buttons = await driver.findElements(const By.tagName("material-button"));
188-
for (var button in await buttons.toList()) {
186+
buttons =
187+
await driver.findElements(const By.tagName("material-button")).toList();
188+
for (var button in buttons) {
189189
if ((await button.text) == "CLOSE") {
190190
await button.click();
191191
break;
@@ -202,10 +202,11 @@ Future testPopup(
202202

203203
var popupText = "Hello, I am a pop up!";
204204

205-
var buttons = await driver.findElements(const By.tagName("material-button"));
205+
var buttons =
206+
await driver.findElements(const By.tagName("material-button")).toList();
206207

207208
await ensureBodyDoesNotContain(popupText);
208-
for (var button in await buttons.toList()) {
209+
for (var button in buttons) {
209210
if ((await button.text) == "OPEN POPUP") {
210211
await button.click();
211212
break;
@@ -235,10 +236,11 @@ Future testTooltip(
235236

236237
var tooltipText = "Saves the document";
237238

238-
var buttons = await driver.findElements(const By.tagName("material-button"));
239+
var buttons =
240+
await driver.findElements(const By.tagName("material-button")).toList();
239241

240242
await ensureBodyDoesNotContain(tooltipText);
241-
for (var button in await buttons.toList()) {
243+
for (var button in buttons) {
242244
if ((await button.text) == "SAVE") {
243245
await driver.mouse.moveTo(element: button);
244246
break;
@@ -272,9 +274,10 @@ Future testList(
272274
await driver.findElements(const By.className("colorchanger")).first;
273275
await ensureElementColor(colorText, colorInitial);
274276

275-
var listItems =
276-
await driver.findElements(const By.tagName("material-list-item"));
277-
for (var listItem in await listItems.toList()) {
277+
var listItems = await driver
278+
.findElements(const By.tagName("material-list-item"))
279+
.toList();
280+
for (var listItem in listItems) {
278281
if ((await listItem.text).contains("Green")) {
279282
await listItem.click();
280283
break;
@@ -292,14 +295,18 @@ Future testSelect(
292295
var expectedSelection = "Selected Protocol: HTTPS";
293296
await ensureBodyDoesNotContain(expectedSelection);
294297

295-
var selectOptions =
296-
await driver.findElements(const By.tagName("material-select-item"));
297-
for (var selectOption in await selectOptions.toList()) {
298+
var selectOptions = await driver
299+
.findElements(const By.tagName("material-select-item"))
300+
.toList();
301+
for (var selectOption in selectOptions) {
298302
if ((await selectOption.text).contains("HTTPS")) {
299303
await selectOption.click();
300304
break;
301305
}
302306
}
307+
308+
await new Future.delayed(const Duration(milliseconds: 500));
309+
303310
await ensureBodyContains(expectedSelection);
304311
}
305312

@@ -312,18 +319,20 @@ Future testTree(
312319
var expectedSelection = "Selected Value: Lady and the Tramp";
313320
await ensureBodyDoesNotContain(expectedSelection);
314321

315-
var treeItems =
316-
await driver.findElements(const By.className("material-tree-item"));
317-
for (var treeItem in await treeItems.toList()) {
322+
var treeItems = await driver
323+
.findElements(const By.className("material-tree-item"))
324+
.toList();
325+
for (var treeItem in treeItems) {
318326
if ((await treeItem.text).contains("Animated Feature Films")) {
319327
await treeItem.click();
320328
break;
321329
}
322330
}
323331

324-
treeItems =
325-
await driver.findElements(const By.className("material-tree-item"));
326-
for (var treeItem in await treeItems.toList()) {
332+
treeItems = await driver
333+
.findElements(const By.className("material-tree-item"))
334+
.toList();
335+
for (var treeItem in treeItems) {
327336
if ((await treeItem.text).contains("Lady and the Tramp")) {
328337
await treeItem.click();
329338
break;

0 commit comments

Comments
 (0)