Compare commits
1 Commits
c66cc19f22
...
2c853d0106
Author | SHA1 | Date |
---|---|---|
Sarah Jamie Lewis | 2c853d0106 |
|
@ -1,13 +1,11 @@
|
|||
//import 'package:flutter_gherkin/flutter_gherkin_integration_test.dart'; // notice new import name
|
||||
import 'package:flutter_gherkin/flutter_gherkin.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:gherkin/gherkin.dart';
|
||||
|
||||
import 'dart:io';
|
||||
|
||||
// The application under test.
|
||||
import 'package:cwtch/main.dart' as app;
|
||||
import 'package:glob/glob.dart';
|
||||
|
||||
import 'gherkin_suite_test.dart';
|
||||
import 'hooks/env.dart';
|
||||
|
|
|
@ -1,17 +1,8 @@
|
|||
import 'package:cwtch/main.dart';
|
||||
import 'package:cwtch/widgets/messagebubble.dart';
|
||||
import 'package:cwtch/widgets/profilerow.dart';
|
||||
import 'package:cwtch/widgets/quotedmessage.dart';
|
||||
import 'package:cwtch/widgets/tor_icon.dart';
|
||||
import 'package:cwtch/views/profilemgrview.dart';
|
||||
import 'package:flutter_gherkin/flutter_gherkin.dart';
|
||||
import 'package:flutter_gherkin/src/flutter/parameters/existence_parameter.dart';
|
||||
import 'package:flutter_gherkin/src/flutter/parameters/swipe_direction_parameter.dart';
|
||||
import 'package:gherkin/gherkin.dart';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'overrides.dart';
|
||||
|
||||
StepDefinitionGeneric ExpectReply() {
|
||||
return given3<String, String, int, FlutterWorld>(
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_driver/flutter_driver.dart';
|
||||
import 'package:flutter_gherkin/flutter_gherkin.dart';
|
||||
import 'package:gherkin/gherkin.dart';
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
enum SwitchState { checked, unchecked }
|
||||
|
||||
|
@ -17,6 +14,7 @@ class SwitchStateParameter extends CustomParameter<SwitchState> {
|
|||
case "unchecked":
|
||||
return SwitchState.unchecked;
|
||||
}
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -149,7 +149,7 @@ StepDefinitionGeneric ExpectWidgetWithTextWithin() {
|
|||
);
|
||||
}
|
||||
}()
|
||||
.timeout(Duration(seconds: 120));
|
||||
.timeout(const Duration(seconds: 120));
|
||||
},
|
||||
configuration: StepDefinitionConfiguration()..timeout = const Duration(days: 1),
|
||||
);
|
||||
|
@ -173,7 +173,7 @@ StepDefinitionGeneric WaitUntilTextExists() {
|
|||
));
|
||||
}
|
||||
}()
|
||||
.timeout(Duration(seconds: 120));
|
||||
.timeout(const Duration(seconds: 120));
|
||||
},
|
||||
configuration: StepDefinitionConfiguration()..timeout = const Duration(days: 1),
|
||||
);
|
||||
|
@ -195,7 +195,7 @@ StepDefinitionGeneric WaitUntilTooltipExists() {
|
|||
context.world.appDriver.findBy(ofType, FindType.tooltip),
|
||||
);
|
||||
},
|
||||
timeout: Duration(seconds: 120),
|
||||
timeout: const Duration(seconds: 120),
|
||||
);
|
||||
},
|
||||
configuration: StepDefinitionConfiguration()..timeout = const Duration(days: 1),
|
||||
|
@ -213,7 +213,7 @@ mixin _SwipeHelper on When4WithWorld<SwipeDirection, int, String, String, Flutte
|
|||
await world.appDriver.scroll(
|
||||
finder,
|
||||
dx: offset.toDouble(),
|
||||
duration: Duration(milliseconds: 500),
|
||||
duration: const Duration(milliseconds: 500),
|
||||
timeout: timeout,
|
||||
);
|
||||
} else {
|
||||
|
@ -222,7 +222,7 @@ mixin _SwipeHelper on When4WithWorld<SwipeDirection, int, String, String, Flutte
|
|||
await world.appDriver.scroll(
|
||||
finder,
|
||||
dy: offset.toDouble(),
|
||||
duration: Duration(milliseconds: 500),
|
||||
duration: const Duration(milliseconds: 500),
|
||||
timeout: timeout,
|
||||
);
|
||||
}
|
||||
|
@ -237,7 +237,7 @@ class SwipeOnType extends When4WithWorld<SwipeDirection, int, String, String, Fl
|
|||
String typeOf,
|
||||
String text,
|
||||
) async {
|
||||
final finder = this.world.appDriver.findByDescendant(this.world.appDriver.findBy(widgetTypeByName(typeOf), FindType.type), this.world.appDriver.findBy(text, FindType.text));
|
||||
final finder = world.appDriver.findByDescendant(world.appDriver.findBy(widgetTypeByName(typeOf), FindType.type), world.appDriver.findBy(text, FindType.text));
|
||||
await swipeOnFinder(finder, direction, swipeAmount);
|
||||
}
|
||||
|
||||
|
@ -259,8 +259,6 @@ Type widgetTypeByName(String input1) {
|
|||
return ElevatedButton;
|
||||
case "IconButton":
|
||||
return IconButton;
|
||||
case "ProfileRow":
|
||||
return ProfileRow;
|
||||
default:
|
||||
throw ("Unknown type $input1. add to integration_test/features/overrides.dart");
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ StepDefinitionGeneric TorVersionPresent() {
|
|||
(context) async {
|
||||
String versionString = "";
|
||||
final file = File('fetch-tor.sh');
|
||||
Stream<String> lines = file.openRead().transform(utf8.decoder).transform(LineSplitter());
|
||||
Stream<String> lines = file.openRead().transform(utf8.decoder).transform(const LineSplitter());
|
||||
try {
|
||||
await for (var line in lines) {
|
||||
if (line.startsWith("wget https://git.openprivacy.ca/openprivacy/buildfiles/raw/branch/master/tor/tor-")) {
|
||||
|
|
|
@ -10,7 +10,7 @@ StepDefinitionGeneric TakeScreenshot() {
|
|||
final bytes = await context.world.appDriver.screenshot();
|
||||
final screenshotData = base64Encode(bytes);
|
||||
print("EMBEDDING SCREENSHOT....");
|
||||
print("$screenshotData");
|
||||
print(screenshotData);
|
||||
context.world.attach(screenshotData, 'image/png', 'And I take a screenshot');
|
||||
} catch (e, st) {
|
||||
print("FAILED TO EMBED??? $e $st");
|
||||
|
|
|
@ -961,7 +961,7 @@ packages:
|
|||
source: hosted
|
||||
version: "6.3.0"
|
||||
yaml:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: yaml
|
||||
sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
|
||||
|
|
|
@ -15,13 +15,13 @@ import 'package:provider/provider.dart';
|
|||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
var settingsEnglishDark = Settings(Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(Locale("en", ''), CwtchLight());
|
||||
var settingsEnglishDark = Settings(const Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(const Locale("en", ''), CwtchLight());
|
||||
ChangeNotifierProvider<Settings> getSettingsEnglishDark() => ChangeNotifierProvider.value(value: settingsEnglishDark);
|
||||
|
||||
void main() {
|
||||
testWidgets('CwtchButtonTextField widget test', (WidgetTester tester) async {
|
||||
final String testingStr = "A wonderful label";
|
||||
const String testingStr = "A wonderful label";
|
||||
final TextEditingController ctrlr1 = TextEditingController(text: testingStr);
|
||||
|
||||
// await tester.pumpWidget(MultiProvider(
|
||||
|
@ -38,7 +38,7 @@ void main() {
|
|||
title: 'Test',
|
||||
theme: mkThemeData(Provider.of<Settings>(context)),
|
||||
home: Card(child: CwtchButtonTextField(
|
||||
icon: Icon(Icons.bug_report_outlined),
|
||||
icon: const Icon(Icons.bug_report_outlined),
|
||||
tooltip: testingStr,
|
||||
controller: ctrlr1, onPressed: () { },
|
||||
)),
|
||||
|
|
|
@ -15,13 +15,13 @@ import 'package:provider/provider.dart';
|
|||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
var settingsEnglishDark = Settings(Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(Locale("en", ''), CwtchLight());
|
||||
var settingsEnglishDark = Settings(const Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(const Locale("en", ''), CwtchLight());
|
||||
ChangeNotifierProvider<Settings> getSettingsEnglishDark() => ChangeNotifierProvider.value(value: settingsEnglishDark);
|
||||
|
||||
void main() {
|
||||
testWidgets('CwtchLabel widget test', (WidgetTester tester) async {
|
||||
final String testingStr = "A wonderful label";
|
||||
const String testingStr = "A wonderful label";
|
||||
|
||||
// await tester.pumpWidget(MultiProvider(
|
||||
// providers:[getSettingsEnglishDark()],
|
||||
|
@ -36,7 +36,7 @@ void main() {
|
|||
supportedLocales: AppLocalizations.supportedLocales,
|
||||
title: 'Test',
|
||||
theme: mkThemeData(Provider.of<Settings>(context)),
|
||||
home: CwtchLabel(label: testingStr),
|
||||
home: const CwtchLabel(label: testingStr),
|
||||
);}
|
||||
));
|
||||
|
||||
|
|
|
@ -15,18 +15,18 @@ import 'package:provider/provider.dart';
|
|||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
var settingsEnglishDark = Settings(Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(Locale("en", ''), CwtchLight());
|
||||
var settingsEnglishDark = Settings(const Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(const Locale("en", ''), CwtchLight());
|
||||
ChangeNotifierProvider<Settings> getSettingsEnglishDark() => ChangeNotifierProvider.value(value: settingsEnglishDark);
|
||||
|
||||
String file(String slug) {
|
||||
return "profileimage_" + slug + ".png";
|
||||
return "profileimage_$slug.png";
|
||||
}
|
||||
|
||||
void main() {
|
||||
|
||||
testWidgets('ProfileImage widget test', (WidgetTester tester) async {
|
||||
tester.binding.window.physicalSizeTestValue = Size(200, 200);
|
||||
tester.binding.window.physicalSizeTestValue = const Size(200, 200);
|
||||
// await tester.pumpWidget(MultiProvider(
|
||||
// providers:[getSettingsEnglishDark()],
|
||||
// child: Directionality(textDirection: TextDirection.ltr, child: CwtchLabel(label: testingStr))
|
||||
|
|
|
@ -15,20 +15,22 @@ import 'package:provider/provider.dart';
|
|||
|
||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||
|
||||
var settingsEnglishDark = Settings(Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(Locale("en", ''), CwtchLight());
|
||||
var settingsEnglishDark = Settings(const Locale("en", ''), CwtchDark());
|
||||
var settingsEnglishLight = Settings(const Locale("en", ''), CwtchLight());
|
||||
ChangeNotifierProvider<Settings> getSettingsEnglishDark() => ChangeNotifierProvider.value(value: settingsEnglishDark);
|
||||
|
||||
String file(String slug) {
|
||||
return "textfield_" + slug + ".png";
|
||||
return "textfield_$slug.png";
|
||||
}
|
||||
|
||||
void main() {
|
||||
testWidgets('Textfield widget test', (WidgetTester tester) async {
|
||||
tester.binding.window.physicalSizeTestValue = Size(800, 300);
|
||||
tester.binding.window.physicalSizeTestValue = const Size(800, 300);
|
||||
final TextEditingController ctrlr1 = TextEditingController();
|
||||
|
||||
Widget testWidget = CwtchTextField(controller: ctrlr1, validator: (value) { }, hintText: '',);
|
||||
Widget testWidget = CwtchTextField(controller: ctrlr1, validator: (value) {
|
||||
return null;
|
||||
}, hintText: '',);
|
||||
|
||||
Widget testHarness = MultiProvider(
|
||||
providers:[getSettingsEnglishDark()],
|
||||
|
@ -61,12 +63,12 @@ void main() {
|
|||
//=\\
|
||||
|
||||
testWidgets('Textfield form validation test', (WidgetTester tester) async {
|
||||
tester.binding.window.physicalSizeTestValue = Size(800, 300);
|
||||
tester.binding.window.physicalSizeTestValue = const Size(800, 300);
|
||||
final formKey = GlobalKey<FormState>();
|
||||
final TextEditingController ctrlr1 = TextEditingController();
|
||||
final String strLabel1 = "Age (*Required)";
|
||||
final String strFail1 = "Required field";
|
||||
final String strFail2 = "Please enter an integer";
|
||||
const String strLabel1 = "Age (*Required)";
|
||||
const String strFail1 = "Required field";
|
||||
const String strFail2 = "Please enter an integer";
|
||||
|
||||
Widget testWidget = CwtchTextField(
|
||||
controller: ctrlr1,
|
||||
|
|
|
@ -54,7 +54,7 @@ Future<void> writeGherkinReports(
|
|||
final version = reports.length == 1 ? "" : "_v${i + 1}";
|
||||
|
||||
//The filename of the report
|
||||
final fileName =
|
||||
const fileName =
|
||||
// "${currentTime.day}-${currentTime.month}-${currentTime.year}T${currentTime.hour}_${currentTime.minute}$version.json";
|
||||
"integration_response_data.json";
|
||||
|
||||
|
|
Loading…
Reference in New Issue