Skip to content

Commit

Permalink
feat(firebase_database): ServerValue.increment() now correctly acce…
Browse files Browse the repository at this point in the history
…pts a `num` to support both integers and doubles. (#9101)
  • Loading branch information
russellwheatley committed Jul 28, 2022
1 parent 519518c commit 35cce5b
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ dependency_overrides:
path: ../../../firebase_core/firebase_core_web
firebase_database:
path: ../
firebase_database_platform_interface:
path: ../../firebase_database_platform_interface
firebase_database_web:
path: ../../firebase_database_web

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ class ServerValue {

/// Returns a placeholder value that can be used to atomically increment the
/// current database value by the provided delta.
static Map<dynamic, dynamic> increment(int delta) {
static Map<dynamic, dynamic> increment(num delta) {
return <dynamic, dynamic>{
'.sv': {'increment': delta}
};
Expand Down
15 changes: 15 additions & 0 deletions tests/test_driver/firebase_database/database_reference_e2e.dart
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,21 @@ void setupDatabaseReferenceTests() {
expect(value, isNotNull);
expect(value['list'], data);
});

test('Server.increment', () async {
final FirebaseDatabase database = FirebaseDatabase.instance;
final DatabaseReference ref = database.ref('tests/server-increment');
await ref.set(ServerValue.increment(1.5));

final snap = await ref.get();
var value = snap.value;
expect(value, 1.5);

await ref.set(ServerValue.increment(1));
final snap2 = await ref.get();
var value2 = snap2.value;
expect(value2, 2.5);
});
});
});
}

0 comments on commit 35cce5b

Please sign in to comment.