ECMAScript 国際化 API を使用するサービスに対して一連のJasmine
テストを実行しています。AngularJs
Chromeで実行すると、すべて正常に実行されます。ただし、PhantomJS
Maven を使用してそれらを実行すると、PhantomJs
国際化 API をまだサポートしていないように見えるため、すべて失敗します。
Intl オブジェクトを使用したテストで得られるエラー メッセージは次のとおりです。
1: ReferenceError: 変数が見つかりません: localizationService.js の Intl
そして、残りのテストは単に失敗します。
テストは単純で、次のようになります。
it('Format date with en-us locale', (function (){
var date= "06/13/2013"
expect(service.date(date,'en-us')).toEqual("6/13/2013");
}))
サービスのメソッド (localizationService.js) は、Intl API の単純なラッパーです。
function getCurrentTimeZone(){
return Intl.DateTimeFormat().resolved.timeZone
}
function date(dateInput,locale,options){
// some other stuff
// ...
if (locale) {
return _date.toLocaleDateString(locale,options);
} else {
return _date.toLocaleDateString();
}
}
私の質問は次のとおりです。
PhantomJS v1.9.2
1-をサポートしない私の仮定は正しいECMAScript internationalization API
ですか? とにかくそれを確認することはありますか?
2- この問題を解決するにはどうすればよいですか? Maven を使用してテストを実行する必要があり、localizationService API にいずれかの方法でヒットするテストがさらに必要になります。
ありがとう