v2.0.6: Remove export of Error and Ok from result_monad (#12)

* Update Logging feature to replace @LoggingFeature annotation with LoggerName mixin for runtime accessibility

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Bump version to 2.0.2 in pubspec.yaml and update CHANGELOG to reflect the new version

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Add migration steps for replacing @LoggingFeature annotation with LoggerName mixin in CHANGELOG

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Fix class declaration in migration example for LoggerName mixin

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Enhance CI workflow, coverage enforcement, and environment tests (#10)

* Enhance CI workflow and coverage enforcement; update tests and add new environment tests

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Revert version bump in pubspec.yaml and remove test coverage note from CHANGELOG

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Update test to expect a thrown exception when no interfaces are registered

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Add ArcaneEnvironmentModeController and related tests for debug mode management

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* Refactor theme switcher tests to use platform dispatcher for brightness change simulation

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

---------

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>

* refactor(api): Remove export of Error and Ok from result_monad (#11)

The `Error` and `Ok` symbols from the `result_monad` package are no longer
re-exported directly by `arcane_framework`. Consumers needing these
symbols must now explicitly import them from `package:result_monad`.
This clarifies dependency ownership and reduces `arcane_framework`'s
public API surface.

---------

Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
2026-06-19 20:28:24 +02:00
committed by GitHub
parent cbb1a78473
commit 0078e344fd
23 changed files with 1294 additions and 12 deletions
+34 -1
View File
@@ -1,4 +1,4 @@
import "package:arcane_framework/src/services/theme/theme_extensions.dart";
import "package:arcane_framework/arcane_framework.dart";
import "package:flutter/material.dart";
import "package:flutter_test/flutter_test.dart";
@@ -30,4 +30,37 @@ void main() {
),
);
});
testWidgets("themeMode reads value from nearest ArcaneTheme", (tester) async {
await tester.pumpWidget(
MaterialApp(
home: ArcaneTheme(
themeMode: ThemeMode.dark,
child: Builder(
builder: (context) {
expect(context.themeMode, ThemeMode.dark);
return Container();
},
),
),
),
);
});
testWidgets("themeMode falls back to Arcane theme service without provider",
(tester) async {
Arcane.theme.reset();
Arcane.theme.switchTheme(themeMode: ThemeMode.dark);
await tester.pumpWidget(
MaterialApp(
home: Builder(
builder: (context) {
expect(context.themeMode, ArcaneReactiveTheme.I.currentThemeMode);
return Container();
},
),
),
);
});
}