問題タブ [shim]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MS VisualStudio 2012 での ShimNotSupportedException
私は Visual Studio 2012 RC の新しい Fakes Isolation Framework に慣れようとしていますが、結果としてShimNotSupportedExceptions の問題に直面しています。
最初の試行で、デリゲートを接続しようとした各単一の shim メソッドはShimNotSupportedException、テストを実行/デバッグしようとしたときにスローされました。
これは、対応するスタック トレースです。
GetFoo_ValidBar_ReturnsBaz テスト メソッドが例外をスローしました。 Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.OnAttachedUnsupportedMethod(MethodBase メソッド) Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.CheckInstrumentation(MethodBase メソッド) Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.InternalAttachDetour(Object optionalReceiver, MethodBase)メソッド、デリゲート detourDelegate) で Microsoft.QualityTools.Testing.Fakes.UnitTestIsolation.UnitTestIsolationRuntime.AttachDetour(Object optionalReceiver,MethodBase メソッド、デリゲート detourDelegate) の Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShimMethod(デリゲート optionalStub、オブジェクト optionalReceiver、MethodBase メソッド) Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim(デリゲート optionalStub、タイプ receiverType 、オブジェクト optionalReceiver、文字列名、ShimBinding フラグ、型 returnType、Type[] parameterTypes) Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShimPublicStatic (デリゲート optionalStub、型 receiverType、文字列名、型 returnType、Type[] parameterTypes) BazTests.cs の GetFoo_ValidBar_ReturnsBaz() で System.Fakes.ShimDateTime.set_NowGet(Func'1 value): 48 行目。MethodBase メソッド) の Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim (デリゲート optionalStub、Type receiverType、Object optionalReceiver、String name、ShimBinding flags、Type returnType、Type[] parameterTypes) Microsoft.QualityTools.Testing.Fakes で。 Shims.ShimRuntime.SetShimPublicStatic(Delegate optionalStub, Type receiverType, String name, Type returnType, Type[] parameterTypes) at System.Fakes.ShimDateTime.set_NowGet(Func'1 value) at GetFoo_ValidBar_ReturnsBaz() in BazTests.cs: 48 行目。MethodBase メソッド) の Microsoft.QualityTools.Testing.Fakes.Shims.ShimRuntime.SetShim (デリゲート optionalStub、Type receiverType、Object optionalReceiver、String name、ShimBinding flags、Type returnType、Type[] parameterTypes) Microsoft.QualityTools.Testing.Fakes で。 Shims.ShimRuntime.SetShimPublicStatic(Delegate optionalStub, Type receiverType, String name, Type returnType, Type[] parameterTypes) at System.Fakes.ShimDateTime.set_NowGet(Func'1 value) at GetFoo_ValidBar_ReturnsBaz() in BazTests.cs: 48 行目。BazTests.cs の GetFoo_ValidBar_ReturnsBaz() の System.Fakes.ShimDateTime.set_NowGet(Func'1 value) で、receiverType、String name、Type returnType、Type[] parameterTypes) を入力します: 48 行目。BazTests.cs の GetFoo_ValidBar_ReturnsBaz() の System.Fakes.ShimDateTime.set_NowGet(Func'1 value) で、receiverType、String name、Type returnType、Type[] parameterTypes) を入力します: 48 行目。
この問題を扱っている MSDN で見つけた 2 つのスレッドを読んだ後、彼らの指示 (CodeCoverage をオフにし、.testsettings ファイルを削除する) に従いましたが、うまくいきませんでした!
それにもかかわらず、私はこの問題の回避策を見つけました:
最初にテスト エクスプローラーからすべてのテストを実行すると (コーディング領域から直接 [MSTest テスト (クリックして実行)] ボタンを使用する代わりに)、すべてが正しく機能し、例外はスローされませんでした。その後、テストをデバッグすることもでき、shim メソッドへの割り当ては期待どおりに機能しました。
これは、私が使用した以下のすべてのシムでも機能しました。
しかし、データベース アクセス用に MS Enterprise Library の偽物を実装しようとすると、同じ問題が再び発生します。
テストは次のようになります。
最初の 2 つの shim 割り当て (ShimFoo と ShimQux) は期待どおりに機能しています。しかし、ShimDatabaseFactory.CreateDatabaseString (新しいデータベース インスタンスを作成しようとすると、DatabaseFactory.CreateDatabase(string) がスタブ データベースを返すようにするはずです) は、ShimNotSupportedException を再度スローします。そして、私はその理由を理解できません!
ここで何がうまくいかなかったのか、何か考えはありますか?
これに関するご意見をいただければ幸いです。
ありがとう、
ベンジャミン
javascript - using js-ctypes in extension crashing firefox
I've created the extension that will call native DLL function using js-ctypes. I've written the native DLL(Written in C) and it exports a C function that is called by extension javascript. I am trying to load another DLL (written in c++) from my native DLL.
My problem is that if I install the extension, Firefox is crashing on launch.
Please help me to fix the problem.
visual-studio-2010 - VS2012 Fakes フレームワークでメソッド名の競合を解決する方法
VS2012 Fakes と MSTEST フレームワークを使用して単体テストを行っています。サードパーティの dll があり、それを偽造する必要があります。ただし、Fakes で終了するメソッドと競合するように見えるメソッド (getItemAt(int)) が dll にあります。
コンパイル中に表示されるエラー メッセージは次のとおりです。
エラー 2タイプ 'MyObject.Fakes.ShimList' には、'get_ItemAtInt32' の定義が既に含まれています [D:\Dev\Test\obj\Debug\Fakes\o\f.csproj] D:\Dev\Teste\f.cs 6933 111 テスト
Fakes で作業を続けるためにこのエラーを回避する解決策はありますか?
javascript - シムのセットアップが必要 - jquery.flot/jquery.flot.selection
したがって、私は jquery.flot と jquery.flot.selection を使用しており、 define({... がモジュールを非同期的にロードするため、選択プラグインが $.plot.plugins (作成された $.plot.plugins) にプッシュしようとしているため、問題が発生しています。 jquery.flot による) しかし、その時点では $.plot.plugins はまだ定義されていません。
require.config の「shim」引数がこれに役立つはずですが、運がありません...ここに要約があります... jquery.flot は $.plot を作成し、jquery.flot.selection は $ にそれ自体を追加します.plot.プラグイン
私が試したこと...
また
私のプラグインは次のようになります..
私も試しました
私は何をすべきか???
javascript - HTML5 shiv/shim JS スクリプトの最も一般的な使用例
HTML5 shiv JS スクリプトを含めて HTML5 を Internet Explorer で動作させることを提案する人をよく見かけますが、これがカバーする最も一般的な使用例について明確な説明を見つけることができません。
この JS スクリプトが必要な理由について、一般的なシナリオを説明してくれる人はいますか?
また、UI スレッドをブロックしないよう<head>に、JS の残りの部分をタグの下部に配置する必要がありますか?<body>
c# - ファクトリ インスタンス メソッドで Microsoft Fakes を使用する
次のようなクラスがあります。
}
次に、シムを作成して IsBigger メソッドを使用したいのですが、デフォルトでは false を返します。この場合、基本メソッドを呼び出すにはどうすればよいですか?
テストは次のようになります。
html - jQuery.val() および Modernizr Webshims Lib を使用した値の取得に関する問題
私は Modernizr とWebshimsを使用して、そのオプションをまだサポートしていないブラウザーで type="number" タイプを使用できるようにしています。正常に動作しますが、jQuery を使用して数値入力フィールドの値にアクセスするのに問題があります [使用しているコードをすぐに共有します]。
Chrome (ポリフィルは必要ありません) では、val() を使用して値を取得できます。Firefox (ポリフィルが必要) では、webshim ポリフィルを使用しない場合でも値を取得できます。
ただし、webshims を使用すると、値を取得できなくなります。
私が使用しているコードは次のとおりです。
タグの前に、次のものがあります。
また、コンテンツ セクションに次の内容を追加しました。
これを機能させる方法はありますか?
javascript - Array メソッドと戻り値を正規化する
配列の戻り値と変異を正規化する JavaScript 配列ライブラリはありますか? JavaScript Array API は非常に一貫性がないと思います。
一部のメソッドは配列を変更します。
しないものもあります:
変更された配列への参照を返すものもあります。
undefined を返すものもあります:
私が望むのは、常に配列を変更し、常に同じ配列を返すことです。これにより、ある種の一貫性を保ち、連鎖することもできます。例えば:
次のような簡単なスニペットをいくつか試しました。
これは、ほとんどのミューテーション メソッドで問題なく機能しますが、問題があります。たとえば、元の配列を変更しない各メソッドのカスタム プロトタイプを作成する必要があります。
いつものように、これをやっている間、これは以前に行われたのではないかと考えていました。これを行う軽量の配列ライブラリは既にありますか? ライブラリが、古いブラウザ用の新しい JavaScript 1.6 メソッドの shim も追加するとよいでしょう。
javascript - Object(this)は何をしますか?
7行目のこのようないくつかのMDNArrayメソッドシムで、次の構文を使用していることに気付きました。
this配列はどこにありますか。それは私のバリデーターをほのめかさないだけでなく、それが何をするのかについても無知です。
誰かが光を当てることができますか?
javascript - jquery/mootools/prototype で ES5 shim を使用する
このプロジェクトに出くわしました: https://github.com/termi/ES5-DOM-SHIMは、古い IE を含むすべてのブラウザーでほぼ完全な ES5 サポートを提供します。
私はこれを純粋な JS プロジェクトで使用してきましたが、現在は(High Charts を使用する) プロジェクトに jquery/mootools/prototype を含める必要があります。
jquery スクリプトを含めるだけでも、この shim とともに IE8 でエラーがスローされます。両方の長所を活かすにはどうすればよいですか?
私の文書の頭は次のようになります。