Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NativeScript/common-runtime-tests-app
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: NativeScript/common-runtime-tests-app
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feat/performance-tests
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 3 commits
  • 2 files changed
  • 1 contributor

Commits on Aug 10, 2026

  1. test: add WHATWG Performance API suite (opt-in via runPerformanceTests)

    Covers hr-time (now/timeOrigin/toJSON, monotonicity, sub-ms precision,
    readonly accessor placement), User Timing Level 3 (mark/measure options
    algebra, SyntaxError-named unknown-mark errors, clearMarks/clearMeasures),
    performance timeline queries (chronological ordering, per-type/per-name
    filtering), PerformanceObserver (entryTypes/type forms, buffered replay,
    takeRecords/disconnect, registration-order delivery with a throwing
    observer), and per-worker time-origin/buffer independence via EvalWorker.
    
    Exported as runPerformanceTests and deliberately NOT part of runAllTests:
    the suite requires a runtime that implements the API. The iOS runtime opts
    in from its own test index; the Android runtime can do the same once it
    ships the API, and the suite can then move into runAllTests.
    
    Two implementation deviations are asserted as contract: mark/measure detail
    is retained by reference (no structuredClone), and observer callbacks are
    only guaranteed asynchronous delivery (nothing pins microtask vs task).
    edusperoni committed Aug 10, 2026
    Configuration menu
    Copy the full SHA
    4b88cae View commit details
    Browse the repository at this point in the history
  2. test: pin WebIDL sequence conversion for observe() entryTypes

    Non-iterables (numbers, array-likes without @@iterator) and string
    primitives must throw TypeError instead of silently observing nothing,
    and any iterable — a Set, not just an Array — must convert.
    edusperoni committed Aug 10, 2026
    Configuration menu
    Copy the full SHA
    cbac0f0 View commit details
    Browse the repository at this point in the history
  3. test: gate the Performance suite on API presence and run it from runA…

    …llTests
    
    The suite now skips itself (one visible pending spec) on a runtime that
    does not define performance/PerformanceObserver, so it can live inside
    runAllTests() and merge to master without breaking runtimes that have
    not shipped the API. Implementing runtimes keep an unguarded canary in
    their own suite so the gate cannot hide a regression there.
    edusperoni committed Aug 10, 2026
    Configuration menu
    Copy the full SHA
    c854d76 View commit details
    Browse the repository at this point in the history
Loading