diff --git a/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/README.md b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/README.md new file mode 100644 index 00000000000000..996992663189fb --- /dev/null +++ b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/README.md @@ -0,0 +1,15 @@ +## WasmBasicTestApp + +This is a test application used by various Wasm.Build.Tests. The idea is to share a common behavior (so that we don't have to maintain many test apps) and tweak it for the test case. +It typically suits scenario where you need more than a plain template app. If the test case is too different, feel free to create another app. + +### Usage + +The app reads `test` query parameter and uses it to switch between test cases. Entrypoint is `main.js`. +There is common unit, then switch based on test case for modifying app startup, then app starts and executes next switch based on test case for actually running code. + +Some test cases passes additional parameters to differentiate behavior, see `src/mono/wasm/Wasm.Build.Tests/TestAppScenarios`. + +### Running out side of WBT + +One of the benefits is that you can copy the app out of intree and run the app without running Wasm.Build.Tests with just `dotnet run`. \ No newline at end of file diff --git a/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js index 2e1b7ff8c84fe3..3a01053875c0a6 100644 --- a/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js +++ b/src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js @@ -33,6 +33,7 @@ switch (testCase) { Math.floor(Math.random() * 5) + 5, Math.floor(Math.random() * 5) + 10 ]; + console.log(`Failing test at assembly indexes [${failAtAssemblyNumbers.join(", ")}]`); let alreadyFailed = []; dotnet.withDiagnosticTracing(true).withResourceLoader((type, name, defaultUri, integrity, behavior) => { if (type === "dotnetjs") { @@ -45,8 +46,8 @@ switch (testCase) { return defaultUri; } - assemblyCounter++; - if (!failAtAssemblyNumbers.includes(assemblyCounter) || alreadyFailed.includes(defaultUri)) + const currentCounter = assemblyCounter++; + if (!failAtAssemblyNumbers.includes(currentCounter) || alreadyFailed.includes(defaultUri)) return defaultUri; alreadyFailed.push(defaultUri);