Skip to content

Instantly share code, notes, and snippets.

@yuki2021
yuki2021 / 0_reuse_code.js
Created April 22, 2014 01:26
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@yuki2021
yuki2021 / flutter_widget_test.dart
Last active March 10, 2023 06:09
FlutterのWidgetテストの雛形
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
late Widget testWidget;
// 読み込み時に実行
setUp(() {
testWidget = MaterialApp(
home: Scaffold(
@yuki2021
yuki2021 / common.dart
Created March 13, 2023 00:33
FlutterのGoldenテストの雛形
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
// フォントの読み込み
Future<void> loadJapaneseFont() async {
TestWidgetsFlutterBinding.ensureInitialized();
final binary = rootBundle.load('assets/fonts/NotoSansJP-Black.otf');
final loader = FontLoader('Roboto')..addFont(binary);
await loader.load();
}
@yuki2021
yuki2021 / remove_focus.dart
Created March 16, 2023 00:36
Flutterでフォームのフォーカスを外す
// フォームのフォーカスを外す
FocusManager.instance.primaryFocus?.unfocus();
@yuki2021
yuki2021 / setup_screen_transitions.dart
Last active March 21, 2023 08:13
FlutterのWidgetテストで画面遷移をするときのSetup
late Widget testWidget;
final appRouter = AppRouter();
// 読み込み時に実行
setUp(() {
testWidget = ProviderScope(
child: MediaQuery(
data: MediaQueryData(),
child: ScreenUtilInit(
designSize: const Size(375, 812),
@yuki2021
yuki2021 / widget_test_scroll.dart
Created March 21, 2023 08:34
FlutterのWidgetテストでスクロールする
// スクロールする
final scrollableWidget = find.byType(SingleChildScrollView).first;
await tester.drag(scrollableWidget, const Offset(0, -5000));
await tester.pumpAndSettle();
@yuki2021
yuki2021 / flutter_button_tap_test.dart
Created March 22, 2023 07:08
FlutterのWidgetテストでボタンがタップできるか確認する。
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';
// コールバックをモック化
class MockOnPressedCallback extends Mock {
void call();
}
void main() {
@yuki2021
yuki2021 / get_material_app_provider.dart
Created March 23, 2023 01:03
Flutterのtestで、ProviderScopeの中で使われているRiverpodのProviderを横取りする。
final baseInfoDataController = ProviderScope.containerOf(
widgetTester.element(find.byType(MaterialApp)))
.read(baseInfoRegisterDataProvider.notifier);
@yuki2021
yuki2021 / sentence_summary_chatgpt.php
Created April 10, 2023 10:52
ChatGPTと通信するPHPのクラス
<?php
include('./api_key.php');
class SentenceSummaryChatGPT {
private $header = array();
// ChatGPT APIエンドポイント
private $endpoint = 'https://api.openai.com/v1/chat/completions';
@yuki2021
yuki2021 / Dockerfile
Created April 19, 2023 11:52
pythonを使うときのDockerfile
FROM jupyter/scipy-notebook