Skip to content

Commit c2d5e57

Browse files
srawlinsCommit Queue
authored andcommitted
analyzer_testing: deprecate 'package:js'-related APIs.
This includes MockPackagesMixin.addJs and PubPackageResolutionTest.addJsPackageDep. package:js is discontinued. We don't need to keep mocking it. Change-Id: I71e44ee1a4c79f71bb8fa76e972f71dc64d8f56c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/460520 Commit-Queue: Samuel Rawlins <[email protected]> Reviewed-by: Konstantin Shcheglov <[email protected]>
1 parent 2692a11 commit c2d5e57

File tree

9 files changed

+58
-32
lines changed

9 files changed

+58
-32
lines changed

pkg/analyzer/test/src/dart/resolution/context_collection_resolution.dart

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,6 @@ class PubPackageResolutionTest extends ContextResolutionTest
367367
bool angularMeta = false,
368368
bool ffi = false,
369369
bool flutter = false,
370-
bool js = false,
371370
bool meta = false,
372371
}) {
373372
config = config.copy();
@@ -396,11 +395,6 @@ class PubPackageResolutionTest extends ContextResolutionTest
396395
config.add(name: 'flutter', rootPath: flutterPath);
397396
}
398397

399-
if (js) {
400-
var jsPath = addJs().parent.path;
401-
config.add(name: 'js', rootPath: jsPath);
402-
}
403-
404398
if (meta || flutter) {
405399
var metaPath = addMeta().parent.path;
406400
config.add(name: 'meta', rootPath: metaPath);

pkg/analyzer_testing/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
analysis options file used in testing specifies a `true` value for
55
`propagate-linter-exceptions`. This ensures that when tests are run,
66
exceptions that occur while processing lint rules will cause the test to fail.
7+
- Deprecate `MockPackagesMixin.addJs` and
8+
`PubPackageResolutionTest.addJsPackageDep`. A mock js package can still be
9+
written with `PubPackageResolutionTest.newPackage`.
710
- Deprecate `PubPackageResolutionTest.addKernelPackageDep`. A mock kernel
811
package can still be written with `PubPackageResolutionTest.newPackage`.
912

pkg/analyzer_testing/api.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ package:analyzer_testing/mock_packages/mock_packages.dart:
2929
addFixnum (method: Folder Function())
3030
addFlutter (method: Folder Function())
3131
addFlutterTest (method: Folder Function())
32-
addJs (method: Folder Function())
32+
addJs (method: Folder Function(), deprecated)
3333
addKernel (method: Folder Function())
3434
addMeta (method: Folder Function())
3535
addPedantic (method: Folder Function())

pkg/analyzer_testing/lib/mock_packages/mock_packages.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,10 @@ mixin MockPackagesMixin {
112112
return packageFolder.getChildAssumingFolder('lib');
113113
}
114114

115+
@Deprecated(
116+
'The mock js package is deprecated; use '
117+
'`PubPackageResolutionTest.newPackage` to make a custom mock',
118+
)
115119
Folder addJs() {
116120
var packageFolder = _addFiles('js');
117121
return packageFolder.getChildAssumingFolder('lib');

pkg/analyzer_testing/lib/src/analysis_rule/pub_package_resolution.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,10 @@ class PubPackageResolutionTest with MockPackagesMixin, ResourceProviderMixin {
230230
/// Adds the 'js' package as a dependency to the package-under-test.
231231
///
232232
/// This allows various `package:js/` imports to resolve.
233+
@Deprecated(
234+
'The mock js package is deprecated; use '
235+
'`PubPackageResolutionTest.newPackage` to make a custom mock',
236+
)
233237
bool get addJsPackageDep => false;
234238

235239
/// Adds the 'kernel' package as a dependency to the package-under-test.

pkg/linter/test/rules/avoid_relative_lib_imports_test.dart

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,20 @@ void main() {
1515
@reflectiveTest
1616
class AvoidRelativeLibImportsTest extends LintRuleTest {
1717
@override
18-
bool get addJsPackageDep => true;
18+
String get lintRule => LintNames.avoid_relative_lib_imports;
1919

2020
@override
21-
String get lintRule => LintNames.avoid_relative_lib_imports;
21+
void setUp() {
22+
newPackage('foo').addFile('lib/foo.dart', r'''
23+
class Foo {}
24+
''');
25+
super.setUp();
26+
}
2227

2328
test_externalPackage() async {
2429
await assertNoDiagnostics(r'''
25-
/// This provides [JS].
26-
import 'package:js/js.dart';
30+
/// This provides [Foo].
31+
import 'package:foo/foo.dart';
2732
''');
2833
}
2934

pkg/linter/test/rules/directives_ordering_test.dart

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,18 @@ class DirectivesOrderingTest extends LintRuleTest {
7373
@override
7474
bool get addFlutterPackageDep => true;
7575

76-
@override
77-
bool get addJsPackageDep => true;
78-
7976
@override
8077
bool get addMetaPackageDep => true;
8178

8279
@override
8380
String get lintRule => LintNames.directives_ordering;
8481

82+
@override
83+
void setUp() {
84+
newPackage('foo').addFile('lib/foo.dart', '');
85+
super.setUp();
86+
}
87+
8588
test_dartDirectivesGoFirst_docImports() async {
8689
newFile('$testPackageLibPath/a.dart', '');
8790
await assertDiagnostics(
@@ -193,13 +196,13 @@ main() {}
193196
await assertDiagnostics(
194197
r'''
195198
/// @docImport 'dart:math';
196-
/// @docImport 'package:js/js.dart';
199+
/// @docImport 'package:foo/foo.dart';
197200
/// @docImport 'a.dart';
198201
/// @docImport 'package:meta/meta.dart';
199202
/// @docImport 'b.dart';
200203
library;
201204
''',
202-
[lint(98, 32)],
205+
[lint(100, 32)],
203206
);
204207
}
205208

@@ -210,12 +213,12 @@ library;
210213
r'''
211214
export 'dart:math';
212215
export 'a.dart';
213-
export 'package:js/js.dart';
216+
export 'package:foo/foo.dart';
214217
export 'package:meta/meta.dart';
215218
export 'b.dart';
216219
// ignore_for_file: unused_import
217220
''',
218-
[lint(37, 28), lint(66, 32)],
221+
[lint(37, 30), lint(68, 32)],
219222
);
220223
}
221224

@@ -225,13 +228,13 @@ export 'b.dart';
225228
await assertDiagnostics(
226229
r'''
227230
import 'dart:math';
228-
import 'package:js/js.dart';
231+
import 'package:foo/foo.dart';
229232
import 'a.dart';
230233
import 'package:meta/meta.dart';
231234
import 'b.dart';
232235
// ignore_for_file: unused_import
233236
''',
234-
[lint(66, 32)],
237+
[lint(68, 32)],
235238
);
236239
}
237240

@@ -291,10 +294,10 @@ part 'a.dart';
291294
r'''
292295
import 'package:meta/meta.dart';
293296
import 'a.dart';
294-
import 'package:js/js.dart';
297+
import 'package:foo/foo.dart';
295298
// ignore_for_file: unused_import
296299
''',
297-
[lint(50, 28)],
300+
[lint(50, 30)],
298301
);
299302
}
300303

@@ -365,15 +368,15 @@ import 'foo1.dart';
365368
newFile('$testPackageLibPath/c.dart', '');
366369
await assertDiagnostics(
367370
r'''
368-
export 'package:js/js.dart';
371+
export 'package:foo/foo.dart';
369372
export 'package:meta/meta.dart';
370373
export 'package:flutter/widgets.dart';
371374
372375
export 'package:test/a.dart';
373376
export 'package:test/c.dart';
374377
export 'package:test/b.dart';
375378
''',
376-
[lint(62, 38), lint(162, 29)],
379+
[lint(64, 38), lint(164, 29)],
377380
);
378381
}
379382

@@ -383,7 +386,7 @@ export 'package:test/b.dart';
383386
newFile('$testPackageLibPath/c.dart', '');
384387
await assertDiagnostics(
385388
r'''
386-
import 'package:js/js.dart';
389+
import 'package:foo/foo.dart';
387390
import 'package:meta/meta.dart';
388391
import 'package:flutter/widgets.dart';
389392
@@ -392,7 +395,7 @@ import 'package:test/c.dart';
392395
import 'package:test/b.dart';
393396
// ignore_for_file: unused_import
394397
''',
395-
[lint(62, 38), lint(162, 29)],
398+
[lint(64, 38), lint(164, 29)],
396399
);
397400
}
398401

pkg/linter/test/rules/invalid_runtime_check_with_js_interop_types_test.dart

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,18 @@ void main() {
1616
@reflectiveTest
1717
class InvalidRuntimeCheckWithJSInteropTypesTest extends LintRuleTest {
1818
@override
19-
bool get addJsPackageDep => true;
19+
String get lintRule => LintNames.invalid_runtime_check_with_js_interop_types;
2020

2121
@override
22-
String get lintRule => LintNames.invalid_runtime_check_with_js_interop_types;
22+
void setUp() {
23+
newPackage('js').addFile('lib/js.dart', r'''
24+
library js;
25+
26+
// ignore: EXPORT_INTERNAL_LIBRARY
27+
export 'dart:_js_annotations' show JS, staticInterop;
28+
''');
29+
super.setUp();
30+
}
2331

2432
test_baseTypesAs_dart_type_as_js_type() async {
2533
await _testCasts([_AsCast('int', 'JSNumber')]);

pkg/linter/test/rules/prefer_relative_imports_test.dart

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,20 @@ void main() {
1616
@reflectiveTest
1717
class PreferRelativeImportsTest extends LintRuleTest {
1818
@override
19-
bool get addJsPackageDep => true;
19+
String get lintRule => LintNames.prefer_relative_imports;
2020

2121
@override
22-
String get lintRule => LintNames.prefer_relative_imports;
22+
void setUp() {
23+
newPackage('foo').addFile('lib/foo.dart', r'''
24+
class Foo {}
25+
''');
26+
super.setUp();
27+
}
2328

2429
test_externalPackage() async {
2530
await assertNoDiagnostics(r'''
26-
/// This provides [JS].
27-
import 'package:js/js.dart';
31+
/// This provides [Foo].
32+
import 'package:foo/foo.dart';
2833
''');
2934
}
3035

0 commit comments

Comments
 (0)