diff --git a/melos.yaml b/melos.yaml index f034109..a311fc5 100644 --- a/melos.yaml +++ b/melos.yaml @@ -15,6 +15,24 @@ scripts: lint:all: run: melos run analyze && melos run format description: Run all static analysis checks. + + test:all: + run: | + melos run test --no-select + description: | + Run all tests available. + + test: + run: | + melos exec -c 6 --fail-fast -- \ + "flutter test --no-pub --no-test-assets" + description: Run `flutter test` for a specific package. + select-package: + dir-exists: + - test + ignore: + - "*web*" + - "*example*" analyze: run: | diff --git a/packages/native_crypto/example/lib/pages/benchmark_page.dart b/packages/native_crypto/example/lib/pages/benchmark_page.dart index ad1074f..6396152 100644 --- a/packages/native_crypto/example/lib/pages/benchmark_page.dart +++ b/packages/native_crypto/example/lib/pages/benchmark_page.dart @@ -91,8 +91,8 @@ class BenchmarkPage extends ConsumerWidget { after = DateTime.now(); benchmark = after.millisecondsSinceEpoch - before.millisecondsSinceEpoch; - benchmarkStatus - .appendln('[Benchmark] ${size}MiB => Decryption took $benchmark ms'); + benchmarkStatus.appendln( + '[Benchmark] ${size}MiB => Decryption took $benchmark ms'); csvLine.write(';$benchmark'); } csv += csvLine.toString() + '\n'; diff --git a/packages/native_crypto/example/lib/pages/cipher_page.dart b/packages/native_crypto/example/lib/pages/cipher_page.dart index 81b3fc4..b0843c7 100644 --- a/packages/native_crypto/example/lib/pages/cipher_page.dart +++ b/packages/native_crypto/example/lib/pages/cipher_page.dart @@ -3,7 +3,7 @@ // ----- // File: cipher_page.dart // Created Date: 28/12/2021 13:33:15 -// Last Modified: 26/05/2022 21:07:54 +// Last Modified: 27/05/2022 16:42:10 // ----- // Copyright (c) 2021 @@ -60,8 +60,6 @@ class CipherPage extends ConsumerWidget { cipherText = CipherTextWrapper.fromBytes( _altered, ivLength: AESMode.gcm.ivLength, - messageLength: - _altered.length - (AESMode.gcm.ivLength + AESMode.gcm.tagLength), tagLength: AESMode.gcm.tagLength, ); encryptionStatus.print('String successfully encrypted:\n'); diff --git a/packages/native_crypto/lib/src/core/cipher_text.dart b/packages/native_crypto/lib/src/core/cipher_text.dart index 09cc4d6..6accd59 100644 --- a/packages/native_crypto/lib/src/core/cipher_text.dart +++ b/packages/native_crypto/lib/src/core/cipher_text.dart @@ -52,7 +52,7 @@ class CipherText extends ByteArray { CipherAlgorithm? cipherAlgorithm, }) { messageLength ??= bytes.length - ivLength - tagLength; - + if (ivLength.isNegative || messageLength.isNegative || tagLength.isNegative) { diff --git a/packages/native_crypto/lib/src/interfaces/cipher.dart b/packages/native_crypto/lib/src/interfaces/cipher.dart index 5d87661..58b0d4a 100644 --- a/packages/native_crypto/lib/src/interfaces/cipher.dart +++ b/packages/native_crypto/lib/src/interfaces/cipher.dart @@ -17,7 +17,7 @@ import 'package:native_crypto/src/utils/cipher_algorithm.dart'; /// In cryptography, a [Cipher] is an algorithm for performing encryption /// or decryption - a series of well-defined steps that can /// be followed as a procedure. -/// +/// /// This interface is implemented by all the ciphers in NativeCrypto. abstract class Cipher { static const int _bytesCountPerChunkDefault = 33554432; @@ -26,7 +26,7 @@ abstract class Cipher { /// Returns the default number of bytes per chunk. static int get defaultBytesCountPerChunk => _bytesCountPerChunkDefault; - /// Returns the size of a chunk of data + /// Returns the size of a chunk of data /// that can be processed by the [Cipher]. static int get bytesCountPerChunk => Cipher._bytesCountPerChunk; @@ -35,11 +35,10 @@ abstract class Cipher { static set bytesCountPerChunk(int bytesCount) { _bytesCountPerChunk = bytesCount; } - + /// Returns the standard algorithm for this [Cipher]. CipherAlgorithm get algorithm; - /// Encrypts the [data]. /// /// Takes [Uint8List] data as parameter. diff --git a/packages/native_crypto/lib/src/interfaces/keyderivation.dart b/packages/native_crypto/lib/src/interfaces/keyderivation.dart index ebc3841..ccdbb4b 100644 --- a/packages/native_crypto/lib/src/interfaces/keyderivation.dart +++ b/packages/native_crypto/lib/src/interfaces/keyderivation.dart @@ -11,8 +11,8 @@ import 'package:native_crypto/src/keys/secret_key.dart'; import 'package:native_crypto/src/utils/kdf_algorithm.dart'; /// Represents a Key Derivation Function (KDF) in NativeCrypto. -/// -/// [KeyDerivation] function is a function that takes some +/// +/// [KeyDerivation] function is a function that takes some /// parameters and returns a [SecretKey]. abstract class KeyDerivation { /// Returns the standard algorithm for this key derivation function diff --git a/packages/native_crypto/test/src/cipher_text_test.dart b/packages/native_crypto/test/src/cipher_text_test.dart index b466b55..16d98a5 100644 --- a/packages/native_crypto/test/src/cipher_text_test.dart +++ b/packages/native_crypto/test/src/cipher_text_test.dart @@ -157,7 +157,7 @@ void main() { expect(cipherText.cipherAlgorithm, CipherAlgorithm.aes); }); }); - + group('Lengths', () { test('get.ivLength returns the expected value', () { final CipherText cipherText = CipherText.fromBytes( diff --git a/packages/native_crypto_platform_interface/test/method_channel/method_channel_native_crypto_test.dart b/packages/native_crypto_platform_interface/test/method_channel/method_channel_native_crypto_test.dart index 5f59f97..28c01a1 100644 --- a/packages/native_crypto_platform_interface/test/method_channel/method_channel_native_crypto_test.dart +++ b/packages/native_crypto_platform_interface/test/method_channel/method_channel_native_crypto_test.dart @@ -150,7 +150,7 @@ void main() { ], ); }); - + test('decrypt', () async { await nativeCrypto.decrypt( Uint8List(0), @@ -171,6 +171,5 @@ void main() { ], ); }); - }); }