Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
UUID.js を移植してみた    フレームワークチーム
メンバーUUID 必要だよね UUID.js                     テスト∼移植すればいいんじゃdadoop 作りたかったけど心折れた。テスト書いた。あのrandom() 使ってUUIDとかないわー
作ったものUUID ライブラリ
使用技術• UUID 作成(独自実装)• ランダムジェネレータ(独自実装)• テスティングフレームワーク(独自実装)
UUID• RFC 4122 A Universally Unique  IDentifier (UUID) URN Namespace • Time-based (v1) • Name-Based MD5 (v3) • random(v4) •...
BDD TestFramework• JavaScriptのJasmineが好き• 同じ様な見た目のを作った• ServerにもClientにも使えるよ!
BDD TestFramework#import(./teaolive/teaolive.dart);#import(./teaolive/teaolive_html_reporter.dart);#import(./uuid/uuid.dar...
デモ
Upcoming SlideShare
Loading in …5
×

UUID.js を Dart に移植してみたついでに BDDなテスティングフレームワークもつけてみた

946 views

Published on

2012/05/12 の Dart ハッカソンで、UUIDフレームワークを作成した際の資料です。

作成したコードは https://github.com/zaki50/uuid_dart にあります。

  • Be the first to comment

UUID.js を Dart に移植してみたついでに BDDなテスティングフレームワークもつけてみた

  1. 1. UUID.js を移植してみた フレームワークチーム
  2. 2. メンバーUUID 必要だよね UUID.js テスト∼移植すればいいんじゃdadoop 作りたかったけど心折れた。テスト書いた。あのrandom() 使ってUUIDとかないわー
  3. 3. 作ったものUUID ライブラリ
  4. 4. 使用技術• UUID 作成(独自実装)• ランダムジェネレータ(独自実装)• テスティングフレームワーク(独自実装)
  5. 5. UUID• RFC 4122 A Universally Unique IDentifier (UUID) URN Namespace • Time-based (v1) • Name-Based MD5 (v3) • random(v4) • Name-based SHA-1(v5)
  6. 6. BDD TestFramework• JavaScriptのJasmineが好き• 同じ様な見た目のを作った• ServerにもClientにも使えるよ!
  7. 7. BDD TestFramework#import(./teaolive/teaolive.dart);#import(./teaolive/teaolive_html_reporter.dart);#import(./uuid/uuid.dart);void main(){ RegExp uuidPattern = new RegExp(^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$); describe("test pattern sanity", () { it("matches UUID syntax", () { expect(uuidPattern.hasMatch(f81d4fae-7dec-11d0-a765-00a0c91e6bf6)).toBe(true); }); }); describe("UUID test", () { it("suits UUID syntax", () { UUID uuid = new UUID_v0(); expect(uuidPattern.hasMatch(uuid.generate())).toBe(true); }); it("v1 suits UUID syntax", () { UUID uuid = new UUID_v1(); expect(uuidPattern.hasMatch(uuid.generate())).toBe(true); }); it("v4 suits UUID syntax", () { UUID uuid = new UUID_v4(); expect(uuidPattern.hasMatch(uuid.generate())).toBe(true); });
  8. 8. デモ

×