From 08cfd25abc6ece6cbc2888e2c2cf511040025b66 Mon Sep 17 00:00:00 2001 From: Devon Carew Date: Wed, 28 Feb 2024 11:55:21 -0800 Subject: [PATCH] alias the master channel to main --- pkgs/sketch_pad/lib/model.dart | 5 +++++ pkgs/sketch_pad/test/model_test.dart | 29 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/sketch_pad/test/model_test.dart diff --git a/pkgs/sketch_pad/lib/model.dart b/pkgs/sketch_pad/lib/model.dart index fbd730cdb..0ff9d5545 100644 --- a/pkgs/sketch_pad/lib/model.dart +++ b/pkgs/sketch_pad/lib/model.dart @@ -410,6 +410,11 @@ enum Channel { static Channel? forName(String name) { name = name.trim().toLowerCase(); + // Alias 'master' to 'main'. + if (name == 'master') { + name = 'main'; + } + return Channel.values.firstWhereOrNull((c) => c.name == name); } } diff --git a/pkgs/sketch_pad/test/model_test.dart b/pkgs/sketch_pad/test/model_test.dart new file mode 100644 index 000000000..cebbd082b --- /dev/null +++ b/pkgs/sketch_pad/test/model_test.dart @@ -0,0 +1,29 @@ +// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:sketch_pad/model.dart'; +import 'package:test/test.dart'; + +void main() { + group('Channel', () { + test('master is aliased', () { + final value = Channel.forName('master'); + expect(value?.name, 'main'); + }); + + test('supported channels', () { + final result = Channel.valuesWithoutLocalhost.map((c) => c.name).toList(); + expect( + result, + unorderedMatches( + [ + 'main', + 'beta', + 'stable', + ], + ), + ); + }); + }); +}