From dadd235b66f6d5372081c7339b1bb752df181921 Mon Sep 17 00:00:00 2001 From: Aleksey Kulikov Date: Fri, 18 Jun 2021 17:36:44 +0300 Subject: [PATCH] test: organize tests into groups --- lib/src/bindings/config.dart | 6 +-- lib/src/config.dart | 12 ++--- test/config_test.dart | 88 ++++++++++++++++++++---------------- 3 files changed, 58 insertions(+), 48 deletions(-) diff --git a/lib/src/bindings/config.dart b/lib/src/bindings/config.dart index f3e4825..10d0ec8 100644 --- a/lib/src/bindings/config.dart +++ b/lib/src/bindings/config.dart @@ -204,7 +204,7 @@ Map getEntries(Pointer cfg) { /// (usually the local one). /// /// Throws a [LibGit2Error] if error occured. -void deleteVariable(Pointer cfg, String variable) { +void deleteEntry(Pointer cfg, String variable) { final name = variable.toNativeUtf8().cast(); final error = libgit2.git_config_delete_entry(cfg, name); calloc.free(name); @@ -218,7 +218,7 @@ void deleteVariable(Pointer cfg, String variable) { /// /// If regexp is present, then the iterator will only iterate over all /// values which match the pattern. -List getMultivar( +List getMultivarValue( Pointer cfg, String variable, String? regexp, @@ -252,7 +252,7 @@ List getMultivar( /// highest level (usually the local one). /// /// The regular expression is applied case-sensitively on the value. -void setMultivar( +void setMultivarValue( Pointer cfg, String variable, String regexp, diff --git a/lib/src/config.dart b/lib/src/config.dart index 934840c..94df69d 100644 --- a/lib/src/config.dart +++ b/lib/src/config.dart @@ -138,9 +138,9 @@ class Config { /// (usually the local one). /// /// Throws a [LibGit2Error] if error occured. - void deleteVariable(String variable) { + void deleteEntry(String variable) { try { - config.deleteVariable(configPointer.value, variable); + config.deleteEntry(configPointer.value, variable); } catch (e) { rethrow; } @@ -150,8 +150,8 @@ class Config { /// /// If [regexp] is present, then the iterator will only iterate over all /// values which match the pattern. - List getMultivar(String variable, {String? regexp}) { - return config.getMultivar(configPointer.value, variable, regexp); + List getMultivarValue(String variable, {String? regexp}) { + return config.getMultivarValue(configPointer.value, variable, regexp); } /// Sets the [value] of a multivar [variable] in the config file with the @@ -159,8 +159,8 @@ class Config { /// /// The [regexp] is applied case-sensitively on the value. /// Empty [regexp] sets [value] for all values of a multivar [variable] - void setMultivar(String variable, String regexp, String value) { - config.setMultivar(configPointer.value, variable, regexp, value); + void setMultivarValue(String variable, String regexp, String value) { + config.setMultivarValue(configPointer.value, variable, regexp, value); } /// Releases memory allocated for config object. diff --git a/test/config_test.dart b/test/config_test.dart index afed6ec..8f84b0d 100644 --- a/test/config_test.dart +++ b/test/config_test.dart @@ -78,50 +78,60 @@ void main() { }); }); - test('deletes variable', () { - config.deleteVariable('core.bare'); - final entries = config.getEntries(); - expect(entries['core.bare'], isNull); + group('deleteEntry()', () { + test('successfully deletes entry', () { + config.deleteEntry('core.bare'); + final entries = config.getEntries(); + expect(entries['core.bare'], isNull); + }); + + test('throws on deleting non existing variable', () { + expect( + () => config.deleteEntry('not.there'), + throwsA(isA()), + ); + }); }); - test('throws on deleting non existing variable', () { - expect( - () => config.deleteVariable('not.there'), - throwsA(isA()), - ); + group('getMultivarValue()', () { + test('returns values of multivar', () { + expect( + config.getMultivarValue('core.gitproxy'), + [ + 'proxy-command for kernel.org', + 'default-proxy', + ], + ); + }); + + test('returns values of multivar for provided regexp', () { + expect( + config.getMultivarValue('core.gitproxy', regexp: 'for kernel.org\$'), + ['proxy-command for kernel.org'], + ); + }); + + test('returns empty list if multivar not found', () { + expect(config.getMultivarValue('not.there'), equals([])); + }); }); - test('returns values of multivar', () { - expect( - config.getMultivar('core.gitproxy'), - [ - 'proxy-command for kernel.org', - 'default-proxy', - ], - ); - }); + group('setMultivarValue()', () { + test('sets value of multivar', () { + config.setMultivarValue('core.gitproxy', 'default', 'updated'); + final multivarValues = config.getMultivarValue('core.gitproxy'); + expect(multivarValues, isNot(contains('default-proxy'))); + expect(multivarValues, contains('updated')); + }); - test('returns values of multivar with regexp', () { - expect( - config.getMultivar('core.gitproxy', regexp: 'for kernel.org\$'), - ['proxy-command for kernel.org'], - ); - }); - - test('sets value of multivar', () { - config.setMultivar('core.gitproxy', 'default', 'updated'); - final multivarValues = config.getMultivar('core.gitproxy'); - expect(multivarValues, isNot(contains('default-proxy'))); - expect(multivarValues, contains('updated')); - }); - - test('sets value for all multivar values when regexp is empty', () { - config.setMultivar('core.gitproxy', '', 'updated'); - final multivarValues = config.getMultivar('core.gitproxy'); - expect(multivarValues, isNot(contains('default-proxy'))); - expect(multivarValues, isNot(contains('proxy-command for kernel.org'))); - expect(multivarValues, contains('updated')); - expect(multivarValues.length, equals(2)); + test('sets value for all multivar values when regexp is empty', () { + config.setMultivarValue('core.gitproxy', '', 'updated'); + final multivarValues = config.getMultivarValue('core.gitproxy'); + expect(multivarValues, isNot(contains('default-proxy'))); + expect(multivarValues, isNot(contains('proxy-command for kernel.org'))); + expect(multivarValues, contains('updated')); + expect(multivarValues.length, equals(2)); + }); }); }); ;