Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## WasmBasicTestApp

This 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`.
Original file line number Diff line number Diff line change
Expand Up @@ -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") {
Expand All @@ -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);
Expand Down