- このドキュメントはLexicalを使ってエディタを開発するための最初の取っ掛かりです
- 詳細な解説は省き、全体像を理解するのを目的としています
Lexicalは、Metaが開発したReact向けの高性能リッチテキストエディタフレームワークです。DraftJSの後継として設計され、より柔軟で拡張性の高いアーキテクチャを持っています。
| 以下の実現したいことに基づいて、この機能を実現する関数の正しさを検証するための網羅的なテストケースをVitestで生成しテストファイルを作成・更新してください。テストコードや実装コードはまだ書かず、テストケースのみを出力してください。エッジケースや制約条件がしっかりテストされているか確認できるように、各テストメソッドには意図がわかるコメントを添えてください。もし、仕様やデータフローが不明瞭であれば都度ユーザに聞いて下さい。 | |
| [出力要件] | |
| 実際のテストロジック(arrangeやモックの実装など)は絶対に書かないでください。 | |
| 代わりに Vitest の describe と it.todo を使用して、テストの階層構造とケース名のみを定義してください。 | |
| テストケース名(it.todoの引数)は、それ自体が「生きたドキュメント(仕様書)」となるよう、「〜の時、〜であること」と振る舞いが明確にわかる日本語で記述してください。 | |
| モック利用を前提としたテストケースは作らないこと | |
| [実現したいこと] |
| import fs from 'fs'; | |
| import path from 'path'; | |
| import { fileURLToPath } from 'url'; | |
| const __filename = fileURLToPath(import.meta.url); | |
| const __dirname = path.dirname(__filename); | |
| // JSONファイルを読み込む関数 | |
| function loadTestData(filename) { | |
| const filePath = path.join(__dirname, 'data', filename); |
| #!/bin/bash | |
| # サイズを指定する (1MB = 1048576バイト) | |
| FILE_SIZE=1048576 | |
| # ディレクトリとファイルを作成する | |
| for i in {1..10}; do | |
| for j in {1..10}; do | |
| mkdir -p ./xxx${i}/yyy${j} | |
| done |
| import { describe, expect, mock, test } from "bun:test"; | |
| import { sampleAction } from "@/app/sampleAction"; | |
| describe("sampleAction", () => { | |
| test("正常:返り値が正しく返ってくる", async () => { | |
| const result = await sampleAction(true); | |
| expect(result).toEqual({ sampleAction: "sampleAction" }); | |
| }); | |
| test("異常:エラーページにリダイレクトされる", async () => { |
| import { | |
| type NextFetchEvent, | |
| type NextRequest, | |
| NextResponse, | |
| } from "next/server"; | |
| async function heavyTask() { | |
| console.log("start heavyTask.", new Date()); | |
| // await fetch("http://0.0.0.0:9999/heavy.php", { cache: "no-store" }); | |
| console.log("done heavyTask.", new Date()); |
| { | |
| :inline_code_size=>14144068, | |
| :outlined_code_size=>14143076, | |
| :freed_page_count=>0, | |
| :freed_code_size=>0, | |
| :live_page_count=>1727, | |
| :code_gc_count=>0, | |
| :code_region_size=>28291072, | |
| :yjit_alloc_size=>43781717, | |
| :all_stats=>true, |
| <script setup lang="ts"> | |
| interface ISampleProps { | |
| foo: { | |
| bar: string | |
| } | |
| } | |
| const defaultValue: ISampleProps = { | |
| foo: { | |
| bar: 'bar' | |
| } |
| key | value |
|---|---|
| 更新 | 2021-08-23 |
| 作者 | @zaru |
| バージョン | 2021.8 |
| URL | http://basicinc.jp/ |
| class Batches | |
| BATCH_SIZE = 2 | |
| def initialize | |
| @data = (1..10).to_a | |
| end | |
| def find_each | |
| if block_given? | |
| find_in_batches do |records| |