Add example and add more tests and fixed function

This commit is contained in:
Sambo Chea 2021-03-24 14:17:47 +07:00
parent 33b6355bcf
commit 549cc6bddd
2 changed files with 11 additions and 2 deletions

View File

@ -1,5 +1,6 @@
import 'package:configurable/dotenv_configuration_provider.dart'; import 'package:configurable/dotenv_configuration_provider.dart';
import 'package:configurable/simple_configuration_provider.dart'; import 'package:configurable/simple_configuration_provider.dart';
import 'package:configurable/system_config.dart';
void main() { void main() {
var key = 'app.name'; var key = 'app.name';
@ -7,9 +8,16 @@ void main() {
// in-memory provider (built-in) // in-memory provider (built-in)
var simpleProvider = SimpleConfigurationProvider(); var simpleProvider = SimpleConfigurationProvider();
SystemConfig.setProvider(simpleProvider);
var result1 = SystemConfig.getOrNull(key, defaultValue: value);
// output: CUBETIQ Solution
print(result1);
// dotenv provider (from file .env) // dotenv provider (from file .env)
var dotenvProvider = DotenvConfigurationProvider(); var dotenvProvider = DotenvConfigurationProvider();
SystemConfig.setProvider(dotenvProvider);
var result2 = SystemConfig.getOrNull('HOME');
// output: user's home directory
print(result2);
} }

View File

@ -1,4 +1,4 @@
import 'package:configurable/configurable.dart' show getConfigOrNull; import 'package:configurable/configurable.dart' show getConfigOrNull, hasConfigkey;
import 'package:configurable/dotenv_configuration_provider.dart'; import 'package:configurable/dotenv_configuration_provider.dart';
import 'package:configurable/system_config.dart'; import 'package:configurable/system_config.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
@ -33,6 +33,7 @@ void main() {
var result = getConfigOrNull(key, defaultValue: value); var result = getConfigOrNull(key, defaultValue: value);
expect(value, equals(result)); expect(value, equals(result));
expect(true, equals(hasConfigkey(key)));
expect(value, equals(getConfigOrNull(key))); expect(value, equals(getConfigOrNull(key)));
}); });
} }