Skip to content
Draft
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/talker_flutter/example/macos/Podfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
platform :osx, '10.14'
platform :osx, '10.15'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
Expand Down
10 changes: 5 additions & 5 deletions packages/talker_flutter/example/macos/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos

SPEC CHECKSUMS:
FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
share_plus: 1fa619de8392a4398bfaf176d441853922614e89
FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc

PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
PODFILE CHECKSUM: 9ebaf0ce3d369aaa26a9ea0e159195ed94724cf3

COCOAPODS: 1.15.2
COCOAPODS: 1.16.2
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down Expand Up @@ -639,7 +639,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
Expand Down Expand Up @@ -689,7 +689,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.14;
MACOSX_DEPLOYMENT_TARGET = 10.15;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUValidationMode = "1"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ class AppDelegate: FlutterAppDelegate {
override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}

override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
return true
}
}
10 changes: 8 additions & 2 deletions packages/talker_logger/lib/src/logger_io.dart
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
// ignore: avoid_print
void outputLog(String message) => message.split('\n').forEach(print);
import 'dart:io';

/// Outputs log message to stdout
///
/// Uses [stdout.writeln] instead of [print] to ensure proper output
/// on iOS simulators. The standard [print] function may not flush
/// its buffer properly on iOS simulators, causing logs to not appear.
void outputLog(String message) => message.split('\n').forEach(stdout.writeln);
31 changes: 31 additions & 0 deletions packages/talker_logger/test/output_log_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import 'package:talker_logger/src/logger_io.dart' as logger_io;
import 'package:test/test.dart';

void main() {
group('outputLog', () {
test('should output single line message', () {
// This test verifies that outputLog can handle single line messages
// We cannot easily capture stdout in tests, so we just verify it doesn't throw
expect(() => logger_io.outputLog('Test message'), returnsNormally);
});

test('should output multi-line message', () {
// This test verifies that outputLog can handle multi-line messages
// Each line should be written separately
expect(
() => logger_io.outputLog('Line 1\nLine 2\nLine 3'),
returnsNormally,
);
});

test('should handle empty message', () {
// This test verifies that outputLog can handle empty messages
expect(() => logger_io.outputLog(''), returnsNormally);
});

test('should handle message with only newlines', () {
// This test verifies that outputLog can handle messages with only newlines
expect(() => logger_io.outputLog('\n\n\n'), returnsNormally);
});
});
}