Initial commit: 91dj android client dev_1.0.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
import 'package:analytics_sdk/manager/page_name_manager.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
void main() {
|
||||
group('PageNameMapper.normalizeKey', () {
|
||||
test('普通字符串不变', () {
|
||||
expect(PageNameMapper.normalizeKey('home'), 'home');
|
||||
});
|
||||
|
||||
test('去掉单个前导斜杠', () {
|
||||
expect(PageNameMapper.normalizeKey('/home'), 'home');
|
||||
});
|
||||
|
||||
test('去掉前导斜杠后剩余部分保留', () {
|
||||
expect(PageNameMapper.normalizeKey('/video_detail'), 'video_detail');
|
||||
});
|
||||
|
||||
test('纯 / 保留原值(避免 pageKey 变空字符串)', () {
|
||||
expect(PageNameMapper.normalizeKey('/'), '/');
|
||||
});
|
||||
|
||||
test('空字符串不变', () {
|
||||
expect(PageNameMapper.normalizeKey(''), '');
|
||||
});
|
||||
|
||||
test('双斜杠开头只去掉第一个', () {
|
||||
expect(PageNameMapper.normalizeKey('//home'), '/home');
|
||||
});
|
||||
|
||||
test('斜杠在中间不受影响', () {
|
||||
expect(PageNameMapper.normalizeKey('a/b'), 'a/b');
|
||||
});
|
||||
|
||||
test('斜杠在结尾不受影响', () {
|
||||
expect(PageNameMapper.normalizeKey('home/'), 'home/');
|
||||
});
|
||||
});
|
||||
|
||||
group('PageNameMapper.getPageName', () {
|
||||
setUp(() {
|
||||
PageNameMapper.clearCustom();
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
PageNameMapper.clearCustom();
|
||||
});
|
||||
|
||||
test('无映射时返回归一化后的 key', () {
|
||||
expect(PageNameMapper.getPageName('/home'), 'home');
|
||||
});
|
||||
|
||||
test('有映射时返回映射名称(带斜杠注册)', () {
|
||||
PageNameMapper.addMapping('/home', '首页');
|
||||
expect(PageNameMapper.getPageName('/home'), '首页');
|
||||
expect(PageNameMapper.getPageName('home'), '首页');
|
||||
});
|
||||
|
||||
test('有映射时返回映射名称(不带斜杠注册)', () {
|
||||
PageNameMapper.addMapping('home', '首页');
|
||||
expect(PageNameMapper.getPageName('/home'), '首页');
|
||||
expect(PageNameMapper.getPageName('home'), '首页');
|
||||
});
|
||||
|
||||
test('纯 / 时 getPageName 返回 /', () {
|
||||
expect(PageNameMapper.getPageName('/'), '/');
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user