source_gen_test 0.1.0+4

Build Status Pub Package Version

Make it easy to test Generators derived from package:source_gen by annotating test files.

@ShouldGenerate(
  r'''
const TestClass1NameLength = 10;

const TestClass1NameLowerCase = testclass1;
''',
  configurations: ['default', 'no-prefix-required'],
)
@ShouldThrow(
  'Uh...',
  configurations: ['vague'],
  element: false,
)
@TestAnnotation()
class TestClass1 {}

Other helpers are also provided.

0.1.0+4 #

  • Support the latest package:analyzer.

0.1.0+3 #

  • Support the latest package:analyzer.

0.1.0+2 #

  • Fix generateForElement for fields.

0.1.0+1 #

  • Fix and improve errors thrown when generators are not used.

0.1.0 #

  • First release.

example/example.dart

import 'dart:async';

import 'package:source_gen_test/src/build_log_tracking.dart';
import 'package:source_gen_test/src/init_library_reader.dart';
import 'package:source_gen_test/src/test_annotated_classes.dart';

import 'example_generator.dart';
import 'src/example_annotation.dart';

Future<void> main() async {
  final reader = await initializeLibraryReaderForDirectory(
      'example/src', 'example_test_src.dart');

  initializeBuildLogTracking();
  testAnnotatedElements<ExampleAnnotation>(
    reader,
    const ExampleGenerator(),
    additionalGenerators: const {
      'no-prefix-required': ExampleGenerator(requireTestClassPrefix: false)
    },
  );
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  source_gen_test: ^0.1.0+4

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:source_gen_test/source_gen_test.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
37
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
68
Learn more about scoring.

We analyzed this package on Jul 22, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19

Platforms

Detected platforms: other

Primary library: package:source_gen_test/source_gen_test.dart with components: io, build, mirrors.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
analyzer >=0.33.3 <0.38.0 0.37.0
build >=0.12.6 <2.0.0 1.1.5
build_test ^0.10.0 0.10.8
dart_style ^1.2.0 1.2.9
meta ^1.0.2 1.1.7
path ^1.3.2 1.6.2
source_gen ^0.9.4 0.9.4+3
test ^1.3.3 1.6.5
Transitive dependencies
args 1.5.2
async 2.3.0
boolean_selector 1.0.5
build_config 0.4.1
build_resolvers 1.0.6
charcode 1.1.2
checked_yaml 1.0.1
collection 1.14.11
convert 2.1.1
crypto 2.0.6
csslib 0.16.1
front_end 0.1.20
glob 1.1.7
graphs 0.2.0
html 0.14.0+2
http 0.12.0+2
http_multi_server 2.1.0
http_parser 3.1.3
io 0.3.3
js 0.6.1+1
json_annotation 2.4.0
kernel 0.3.20
logging 0.11.3+2
matcher 0.12.5
mime 0.9.6+3
multi_server_socket 1.0.2
node_preamble 1.4.5
package_config 1.0.5
package_resolver 1.0.10
pool 1.4.0
pub_semver 1.4.2
pubspec_parse 0.1.4
shelf 0.7.5
shelf_packages_handler 1.0.4
shelf_static 0.2.8
shelf_web_socket 0.2.3
source_map_stack_trace 1.1.5
source_maps 0.10.8
source_span 1.5.5
stack_trace 1.9.3
stream_channel 2.0.0
stream_transform 0.0.19
string_scanner 1.0.4
term_glyph 1.1.0
test_api 0.2.6
test_core 0.2.7
typed_data 1.1.6
vm_service_lib 3.22.2
watcher 0.9.7+12
web_socket_channel 1.0.14
yaml 2.1.16
Dev dependencies
pedantic ^1.0.0 1.8.0+1

Admin