Compare commits

..

13 Commits

Author SHA1 Message Date
Steve Gravrock d9023b1fde Bump version to 7.0.0-pre.0
Test in latest available Safari / build (push) Has been cancelled
2026-02-22 14:08:32 -08:00
Steve Gravrock 27319fd6ae Merge branch 'main' into 7.0 2026-02-22 10:13:11 -08:00
Steve Gravrock d230b0500d Test against 5.0 branch of jasmine-browser-runner 2026-02-21 12:57:26 -08:00
Steve Gravrock c6520763d8 Re-add version() to Node module exports 2026-02-21 12:12:54 -08:00
Steve Gravrock e087ebc419 Merge branch 'main' into 7.0 2026-02-21 11:19:51 -08:00
Steve Gravrock 63ac7da082 Prevent monkey patching
This doesn't affect globals (describe, it, expect, etc). Those belong to
the user and Jasmine doesn't depend on them.
2026-02-16 20:30:29 -08:00
Steve Gravrock 281c0d1ee8 Convert ParallelReportDispatcher to an ES6 class
ParallelReportDispatcher itself doesn't gain anything from this, but
it'll allow monkey patching prevention to be implemented and tested
more uniformly.
2026-02-16 16:36:06 -08:00
Steve Gravrock 8bb325628f Depend on 7.0 branch of -npm 2026-02-16 16:35:23 -08:00
Steve Gravrock ff0699035f Merge branch 'main' into 7.0 2026-02-16 07:28:22 -08:00
Steve Gravrock f12f4395f0 Redesigned moudule system
* Top level private APIs (e.g. jasmine.private.whatever) are no longer
  exposed
* jasmineRequire is no longer exposed
* core is self-booting
* Globals are automatically created in browsers. (They can subsequently
  be removed by user code if desired.)
* Globals are *not* automatically created in Node. An installGlobals
  function is exported instead. The jasmine package calls installGlobals
  unless configured not to do so.
* In Node, the same instance is returned each time jasmine-core is
  imported. A reset function is exported. It effectively resets all state
  by discarding the env and creating a new one. This allows mulitple
  sequential runs within the same process to be independent of each
  other, but does not allow multiple concurrent runs. (That probably never
  worked anyway.)

Fixes #2094
2026-02-15 20:16:45 -08:00
Steve Gravrock 03006080d4 rm deprecated jsApiReporter 2025-11-28 09:53:15 -08:00
Steve Gravrock 876de65803 rm monkey patch warnings 2025-11-28 09:53:15 -08:00
Steve Gravrock 8b3c4ce3b4 Remove HtmlReporter, HtmlSpecFilter, and supporting internal code 2025-11-28 09:53:15 -08:00
3220 changed files with 5085 additions and 1189536 deletions
+35 -44
View File
@@ -3,9 +3,6 @@
version: 2.1
orbs:
win: circleci/windows@5.0.0
executors:
node24:
docker:
@@ -50,31 +47,6 @@ jobs:
steps:
- attach_workspace:
at: .
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Run tests
command: npm test
test_win:
executor:
name: win/default
shell: bash.exe
steps:
- checkout
- run:
name: Install Node.js
command: nvm install 20.0.0 && nvm use 20.0.0
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Install dependencies
command: npm install
- run:
name: Build
command: npm run build
- run:
name: Run tests
command: npm test
@@ -87,9 +59,6 @@ jobs:
steps:
- attach_workspace:
at: .
- run:
name: Report Node and NPM versions
command: echo "Using Node $(node --version) and NPM $(npm --version)"
- run:
name: Run tests in parallel
command: npm run test:parallel
@@ -132,25 +101,47 @@ workflows:
push:
jobs:
- build:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node24
name: build_node_24
- build:
executor: node22
name: build_node_22
- build:
executor: node20
name: build_node_20
- test_node:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node22
name: test_node_22
requires:
- build-<< matrix.executor >>
- build_node_22
- test_node:
executor: node20
name: test_node_20
requires:
- build_node_20
- test_parallel:
matrix:
parameters:
executor: [node20, node22, node24]
executor: node24
name: test_parallel_node_24
requires:
- build-<< matrix.executor >>
- build_node_24
- test_parallel:
executor: node22
name: test_parallel_node_22
requires:
- build_node_22
- test_parallel:
executor: node20
name: test_parallel_node_20
requires:
- build_node_20
- test_parallel:
executor: node20
name: test_parallel_node_20
requires:
- build_node_20
- test_browsers:
requires:
- build-node20
- build_node_20
filters:
branches:
ignore: /pull\/.*/ # Don't run on pull requests.
- test_win
+1 -6
View File
@@ -1,7 +1,2 @@
* text=auto eol=lf
*.png filter=lfs diff=lfs merge=lfs -text
*.mp4 filter=lfs diff=lfs merge=lfs -text
*.mov filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.docx filter=lfs diff=lfs merge=lfs -text
*.png -text
+4 -6
View File
@@ -41,13 +41,11 @@ Jasmine tests itself. The files in `lib` are loaded first, defining the referenc
The tests should always use `jasmineUnderTest` to refer to the objects and functions that are being tested. But the tests can use functions on `jasmine` as needed. _Be careful how you structure any new test code_. Copy the patterns you see in the existing code - this ensures that the code you're testing is not leaking into the `jasmine` reference and vice-versa.
### `boot0.js` and `boot1.js`
### `boot.js`
These files file does all of the setup necessary for Jasmine to work in a
browser. They load all of the code, create an `Env`, attach the global
functions, and build the reporter. It also sets up the execution of the
`Env` - for browsers this is in `window.onload`. While the default in `lib`
is appropriate for browsers, projects may wish to customize this file.
This file does all the setup necessary for Jasmine to work in a browser. While
the default in `lib`is appropriate for most uses, users may wish to customize
this file.
### Compatibility
Binary file not shown.
Binary file not shown.
Binary file not shown.
-48
View File
@@ -1,48 +0,0 @@
# Jasmine Core Development Notes
## Architecture
- This is the main jasmine-core repository, a JavaScript BDD testing framework
- **Directory structure**:
- `src/` - source code
- `src/core/` - environment-agnostic core functionality
- `src/html/` - browser-specific code
- `src/boot/` - boot files for browser setup
- `spec/` - tests, mirrors the src directory structure
- `lib/` - compiled distribution files (built, not checked in modified)
## Key Development Commands
- `npm install` - install dependencies
- `npm test` - run all tests in Node.js + lint + prettier check
- `npm run test:parallel` - run tests in parallel
- `npm run build` - build distribution to `/lib`
- `npm run cleanup` - auto-fix prettier errors
- `npm run serve` - serve tests for browser testing at http://localhost:8888
- `JASMINE_BROWSER=<name> npm run ci` - run browser tests via Selenium
## Before submitting PR
1. Run tests in Node.js AND browsers: `npm test` and `npm run serve`
2. Fix any eslint/prettier errors: `npm run cleanup`
3. Build `lib/` with `npm run build` and re-test
4. Revert changes to built files in `lib/` - maintainers will rebuild when merging
## Testing Conventions
- Jasmine self-tests: `lib/jasmine-core.js` provides `jasmine` (runner), `src/` provides `jasmineUnderTest` (code under test)
- Always use `jasmineUnderTest` for objects/functions being tested
## Coding Conventions
- Single quotes, semicolons required
- Curly braces required for all control statements
- ECMA 2022 syntax, commonjs modules
- Core code must stay environment-agnostic:
- Keep browser-specific code in `src/html/`
- Degrade gracefully when environment-specific features aren't available
## Supported Environments
- Node: 20, 22, 24
- Browsers: Safari 26+, Chrome/Firefox/Edge (evergreen)
+1 -1
View File
@@ -32,7 +32,7 @@ Microsoft Edge) as well as Node.
| Node | 20, 22, 24 |
| Safari | 26* |
| Chrome | Evergreen |
| Firefox | Evergreen, 140 |
| Firefox | Evergreen, 102*, 115*, 128*, 140 |
| Edge | Evergreen |
For evergreen browsers, each version of Jasmine is tested against the version of the browser that is available to us
-28
View File
@@ -1,28 +0,0 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# tauri
/src-tauri/target
/src-tauri/Cargo.lock
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
-13
View File
@@ -1,13 +0,0 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>藝術家作品集</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
-20
View File
@@ -1,20 +0,0 @@
{
"name": "artist-website",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"tauri": "tauri"
},
"dependencies": {
"vue": "^3.4.0"
},
"devDependencies": {
"@tauri-apps/api": "^1.5.0",
"@tauri-apps/cli": "^1.5.0",
"@vitejs/plugin-vue": "^5.0.0",
"vite": "^5.0.0"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More