Skip to content
This repository has been archived by the owner on Apr 25, 2022. It is now read-only.

Commit

Permalink
Merge pull request #137 from CCXXXI/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
CCXXXI authored Oct 30, 2021
2 parents cf7eaac + faf9e5a commit 04baeb8
Show file tree
Hide file tree
Showing 15 changed files with 54 additions and 42 deletions.
7 changes: 7 additions & 0 deletions .restyled.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
commit_template: |
style: reformat by ${restyler.name}
restylers:
- prettier-markdown:
arguments: [ "--prose-wrap", "preserve" ]
- "*"
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
[![GitHub last commit](https://img.shields.io/github/last-commit/CCXXXI/ecnu_timetable)](../../commits)
[![Dart](https://img.shields.io/badge/Dart-0175C2?logo=dart)](https://dart.dev)
[![Flutter](https://img.shields.io/badge/Flutter-02569B?logo=flutter)](https://flutter.dev)
[![codebeat badge](https://codebeat.co/badges/9fb75308-75b3-4745-88a3-71df46b05d16)](https://codebeat.co/projects/github-com-ccxxxi-ecnu-timetable-main)
[![CodeFactor](https://www.codefactor.io/repository/github/ccxxxi/ecnu_timetable/badge)](https://www.codefactor.io/repository/github/ccxxxi/ecnu_timetable)
[![codecov](https://codecov.io/gh/CCXXXI/ecnu_timetable/branch/main/graph/badge.svg?token=OB3RX3I4TD)](https://codecov.io/gh/CCXXXI/ecnu_timetable)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/CCXXXI/ecnu_timetable?sort=semver)](../../releases/latest)
Expand Down
5 changes: 0 additions & 5 deletions lib/settings/settings_logic.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:quiver/iterables.dart';
Expand All @@ -10,10 +9,6 @@ import '../utils/web.dart';
import 'theme.dart';

class SettingsLogic extends GetxController with L {
final Dio dio;

SettingsLogic({Dio? dio}) : dio = dio ?? defaultDio;

void modeOnChanged(String v) {
theme
..mode = v
Expand Down
4 changes: 0 additions & 4 deletions lib/timetable/ecnu/ecnu_logic.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ import 'des.dart';
enum S { login, check }

class EcnuLogic extends GetxController with L {
final Dio dio;

EcnuLogic({Dio? dio}) : dio = dio ?? defaultDio;

final step = S.login.obs;

final loginFormKey = GlobalKey<FormState>();
Expand Down
7 changes: 5 additions & 2 deletions lib/timetable/timetable_menu/timetable_menu_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,11 @@ class TimetableMenuPage extends StatelessWidget {
tiles: [
ListTile(
title: Text('ICS文件'.s),
subtitle:
user.id == null ? const Text('需先登录公共数据库') : null,
subtitle: Text(
user.id == null
? '需先登录公共数据库'
: 'Powered by jjaychen.me',
),
enabled: user.id != null,
trailing: const FaIcon(FontAwesomeIcons.fileExport),
onTap: user.id == null
Expand Down
5 changes: 0 additions & 5 deletions lib/toolbox/calendar/calendar_logic.dart
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
import 'package:dio/dio.dart';
import 'package:get/get.dart';
import 'package:universal_html/parsing.dart';

import '../../utils/log.dart';
import '../../utils/web.dart';

class CalendarLogic extends GetxController with L {
final Dio dio;

CalendarLogic({Dio? dio}) : dio = dio ?? defaultDio;

@override
void onInit() {
getCalendar();
Expand Down
5 changes: 0 additions & 5 deletions lib/toolbox/toolbox_logic.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import 'package:dio/dio.dart';
import 'package:flutter/services.dart';
import 'package:get/get.dart';

Expand All @@ -10,10 +9,6 @@ import 'cheater.dart';
import 'juan/juan_view.dart';

class ToolboxLogic extends GetxController with L {
final Dio dio;

ToolboxLogic({Dio? dio}) : dio = dio ?? defaultDio;

@override
void onInit() {
super.onInit();
Expand Down
4 changes: 2 additions & 2 deletions lib/utils/string.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import 'pangu.dart';
// record them manually
const appName = 'ECNU Timetable';
const packageName = 'io.github.ccxxxi.ecnu_timetable';
const version = '1.3.1';
const buildNumber = '23';
const version = '1.4.0';
const buildNumber = '24';

const release = '$packageName@$version+$buildNumber';

Expand Down
3 changes: 3 additions & 0 deletions lib/utils/web.dart
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ final defaultDio = Dio()
CookieManager(cookieJar),
]);

/// Should be reassigned in and only in test code.
var dio = defaultDio;

extension Launch on String {
void launch() => launcher.launch(this);
}
Expand Down
8 changes: 4 additions & 4 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ packages:
name: built_value
url: "https://pub.flutter-io.cn"
source: hosted
version: "8.1.2"
version: "8.1.3"
characters:
dependency: transitive
description:
Expand Down Expand Up @@ -320,7 +320,7 @@ packages:
name: flutter_native_splash
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.2.4"
version: "1.3.1"
flutter_settings_screens:
dependency: "direct main"
description:
Expand Down Expand Up @@ -533,7 +533,7 @@ packages:
name: msix
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.4.2"
version: "2.6.2"
nested:
dependency: transitive
description:
Expand Down Expand Up @@ -603,7 +603,7 @@ packages:
name: path_provider
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.5"
version: "2.0.6"
path_provider_linux:
dependency: transitive
description:
Expand Down
4 changes: 2 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: 更美观更智能的ECNU课程表。
# Prevent the package from being accidentally published to pub.dev.
publish_to: "none"

version: 1.3.1+23
version: 1.4.0+24

environment:
sdk: ">=2.15.0-172.0.dev"
Expand Down Expand Up @@ -60,7 +60,7 @@ msix_config:
display_name: "ECNU Timetable"
publisher_display_name: "CCXXXI"
identity_name: "io.github.ccxxxi.ecnu-timetable"
msix_version: 1.3.1.23
msix_version: 1.4.0.24
logo_path: "assets/images/app_icon.png"

flutter:
Expand Down
13 changes: 10 additions & 3 deletions test/settings/settings_logic_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:dio/dio.dart';
import 'package:ecnu_timetable/settings/settings_logic.dart';
import 'package:ecnu_timetable/utils/database.dart';
import 'package:ecnu_timetable/utils/string.dart';
import 'package:ecnu_timetable/utils/web.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:get/get.dart' hide Response;
Expand Down Expand Up @@ -61,7 +62,9 @@ void main() {
test('settings', () {
// 这么简单的东西没必要测
// 但是测了能让覆盖率好看一点 :)
final logic = Get.put(SettingsLogic(dio: FakeDio()));
dio = FakeDio();

final logic = Get.put(SettingsLogic());

expect(theme.mode, '跟随系统');
logic.modeOnChanged('开');
Expand Down Expand Up @@ -90,7 +93,9 @@ void main() {
});

test('fake version', () async {
final logic = Get.put(SettingsLogic(dio: FakeDio()));
dio = FakeDio();

final logic = Get.put(SettingsLogic());

expect(logic.latestVer.value, isNull);
expect(logic.updateAvailable, isFalse);
Expand All @@ -105,7 +110,9 @@ void main() {
});

test('error version', () async {
final logic = Get.put(SettingsLogic(dio: FakeErrorDio()));
dio = FakeErrorDio();

final logic = Get.put(SettingsLogic());

expect(logic.latestVer.value, isNull);
expect(logic.updateAvailable, isFalse);
Expand Down
5 changes: 4 additions & 1 deletion test/timetable/ecnu/ecnu_logic_test.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:dio/dio.dart';
import 'package:ecnu_timetable/timetable/ecnu/ecnu_logic.dart';
import 'package:ecnu_timetable/utils/database.dart';
import 'package:ecnu_timetable/utils/web.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:get/get.dart' hide Response;
import 'package:hive_flutter/adapters.dart';
Expand Down Expand Up @@ -99,7 +100,9 @@ void main() {
});

test('years', () {
final logic = Get.put(EcnuLogic(dio: FakeDio()));
dio = FakeDio();

final logic = Get.put(EcnuLogic());

logic.year.value = 2021;
expect(logic.years, {
Expand Down
9 changes: 7 additions & 2 deletions test/toolbox/calendar/calendar_logic_test.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import 'package:dio/dio.dart';
import 'package:ecnu_timetable/toolbox/calendar/calendar_logic.dart';
import 'package:ecnu_timetable/utils/web.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:get/get.dart' hide Response;
Expand Down Expand Up @@ -43,7 +44,9 @@ void main() {
runApp(const GetMaterialApp());

test('fake calendar', () async {
final logic = Get.put(CalendarLogic(dio: FakeDio()));
dio = FakeDio();

final logic = Get.put(CalendarLogic());

expect(logic.imgUrl.value, isEmpty);

Expand All @@ -54,7 +57,9 @@ void main() {
});

test('error calendar', () async {
final logic = Get.put(CalendarLogic(dio: FakeErrorDio()));
dio = FakeErrorDio();

final logic = Get.put(CalendarLogic());

expect(logic.imgUrl.value, isEmpty);

Expand Down
16 changes: 10 additions & 6 deletions test/utils/web_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@ import 'package:ecnu_timetable/utils/web.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
test(
'dio',
() => expect(
defaultDio.interceptors,
test('dio', () {
if (dio != defaultDio) dio = defaultDio;

expect(
dio.interceptors,
isNotEmpty,
),
);
);
});

// This cannot be tested. Just make codecov happy.
test('launch', () => expect('test'.launch, throwsA(anything)));

test(
'sucker',
Expand Down

0 comments on commit 04baeb8

Please sign in to comment.