Skip to content

Commit

Permalink
Docs: Create the QUnit Blog, backfill with curated changelogs
Browse files Browse the repository at this point in the history
  • Loading branch information
Krinkle committed Jan 16, 2025
1 parent ef73ecb commit 5f810e5
Show file tree
Hide file tree
Showing 96 changed files with 1,994 additions and 101 deletions.
2 changes: 1 addition & 1 deletion .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ Dave K. Smith <[email protected]>
David Vollbracht <[email protected]>
Jochen Ulrich <[email protected]>
Michał Gołębiowski-Owczarek <[email protected]>
Leonardo Balter <[email protected]>
Leo Balter <[email protected]> <[email protected]>
Kevin Partington <[email protected]>
Kevin Partington <[email protected]> <[email protected]>
Manoj Kumar <[email protected]> <[email protected]>
Expand Down
182 changes: 91 additions & 91 deletions History.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ source "https://rubygems.org"
ruby RUBY_VERSION

# To apply changes, run `bundle update`.
gem "jekyll-theme-amethyst", "1.2.1", group: :jekyll_plugins
gem "jekyll-theme-amethyst", "2.3.1", group: :jekyll_plugins
13 changes: 9 additions & 4 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
title: QUnit
description: The powerful, easy-to-use JavaScript testing framework.
url: "https://qunitjs.com"
# For pages (not blog posts) this is equivalant to /:title/
permalink: /:year/:month/:day/:title/
permalink: /:title/
collections:
posts:
permalink: /blog/:year/:month/:day/:title/
lang: en
timezone: UTC
highlighter: rouge
Expand All @@ -17,6 +19,8 @@ sass:
# https://jekyllrb.com/docs/assets/#sassscss
style: compressed
sourcemap: never
quiet_deps: true
silence_deprecations: [import]
exclude:
# Don't include these files in the website
- Gemfile
Expand Down Expand Up @@ -59,6 +63,7 @@ amethyst:
jekyll-archives:
enabled:
- year
layout: posts-year
layouts:
year: posts-year
permalinks:
year: "/:year/"
year: "/blog/:year/"
5 changes: 5 additions & 0 deletions docs/_data/authors.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
jzaefferer: Jörn Zaefferer
jamesmgreene: James M. Greene
leobalter: Leo Balter
trentmwillis: Trent Willis
krinkle: Timo Tijhof
15 changes: 15 additions & 0 deletions docs/_data/sidebar_blog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
- type: link
title: QUnit Blog
url: /blog/

- type: tags
title: Tags
expand: true

- type: recent
title: Recent posts
expand: true

- type: archive-flat
title: Archives
expand: true
2 changes: 2 additions & 0 deletions docs/_data/sitenav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
href: /upgrade-guide-2.x/
- name: Documentation
href: /api/
- name: Blog
href: /blog/
- name: About
href: /about/
sub:
Expand Down
26 changes: 26 additions & 0 deletions docs/_includes/search.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<typesense-minibar{% if site.amethyst.typesense.search_only_api_key %} data-origin="{{ site.amethyst.typesense.origin | escape }}" data-collection="{{ site.amethyst.typesense.collection | escape }}" data-key="{{ site.amethyst.typesense.search_only_api_key | escape }}" data-foot="true"{% endif %}>
<form role="search" action="https://duckduckgo.com">
<input type="search" name="q" aria-label="Search" placeholder="Search..." autocomplete="off">
<input type="hidden" name="sites" value="{{ site.url | remove_first: 'http://' | remove_first: 'https://' }}">
</form>
</typesense-minibar>
{%- if jekyll.environment == "development" %}
<script type="module">
/* global Response, URL */
const parent = Response.prototype.json;
Response.prototype.json = function () {
return parent.call(this).then(function (obj) {
if (obj && obj.grouped_hits) {
for (const group of obj.grouped_hits) {
for (const hit of group.hits) {
// Render results with a URL relative to localhost,
// by replacing "https://production.example/path" with "/path"
hit.document.url = new URL(hit.document.url).pathname;
}
}
}
return obj;
});
};
</script>
{%- endif %}
13 changes: 13 additions & 0 deletions docs/_posts/2011-10-06-qunit-1-0-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
layout: post
title: "QUnit 1.0.0 Released"
author: jzaefferer
tags:
- release
---

First stable release.

## See also

* [Git tag: 1.0.0](https://github.com/qunitjs/qunit/releases/tag/1.0.0)
24 changes: 24 additions & 0 deletions docs/_posts/2011-10-11-qunit-1-1-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
layout: post
title: "QUnit 1.1.0 Released"
author: jzaefferer
tags:
- release
---

Improved error handling, and various bug fixes.

## Changelog

* Core: Check if setTimeout is available before trying to delay running the next task. [#160](https://github.com/qunitjs/qunit/issues/160)
* Core: Default 'expected' to null in `asyncTest()`, same as in `test()`.
* Core: Avoid treating random objects with `length` properties as empty arrays in comparisons. (Trevor Parscal) [#164](https://github.com/qunitjs/qunit/pull/164)
* Core: Fix IE 6-8 compat with comparisons of NodeList objects. (Trevor Parscal) [#166](https://github.com/qunitjs/qunit/pull/166)
* Core: Fix a bug where after an async test, assertions could move between test cases because of internal state (config.current) being incorrectly set.
* Core: Handle `expect(0)` as expected, i.e. `expect(0); ok(true, foo);` will cause a test to fail. (Markus Messner-Chaney) [#158](https://github.com/qunitjs/qunit/pull/158)
* HTML Reporter: Add a window.onerror handler. Makes uncaught errors actually fail the tests. [#134](https://github.com/qunitjs/qunit/issues/134)
* HTML Reporter: Avoid internal exception if user extends Object.prototype object with non-standard properties.

## See also

* [Git tag: 1.1.0](https://github.com/qunitjs/qunit/releases/tag/1.1.0)
20 changes: 20 additions & 0 deletions docs/_posts/2011-11-24-qunit-1-2-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: post
title: "QUnit 1.2.0 Released"
author: jzaefferer
tags:
- release
---

Support in `deepEqual` for comparing null objects via object literals, and various bug fixes.

## Changelog

* Assert: Allow [`deepEqual`](https://qunitjs.com/api/assert/deepEqual/) to test objects with null prototype against object literals. (Domenic Denicola) [#170](https://github.com/qunitjs/qunit/pull/170)
* Core: Fix IE8 "Member not found" error. (Jimmy Mabey) [#154](https://github.com/qunitjs/qunit/issues/154)
* Core: Fix internal `start()` call to use `QUnit.start()`, since global is not exported in CommonJS runtimes, such as Node.js. (Antoine Musso) [#168](https://github.com/qunitjs/qunit/pull/168)

## See also

* [Git tag: 1.2.0](https://github.com/qunitjs/qunit/releases/tag/1.2.0)

35 changes: 35 additions & 0 deletions docs/_posts/2012-02-26-qunit-1-3-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
layout: post
title: "QUnit 1.3.0: JUnit addon and new themes"
author: jzaefferer
tags:
- release
---

Introduce the JUnitLogger addon, two new themes, and various bug fixes.

## Changelog

* Addons: New Gabe theme by Gabe Hendry. [#188](https://github.com/qunitjs/qunit/pull/188)
* Addons: New NV theme by NV. [#62](https://github.com/qunitjs/qunit/pull/62)
* Addons: New JUnitLogger addon.
* Core: Catch assertions running outside of `test()` context, make sure source is provided even for `ok()`. [#98](https://github.com/qunitjs/qunit/issues/98)
* Core: Check for global object to find setTimeout in Node.js.
* Core: Clear all sessionStorage entries once all tests passed. Helps getting rid of items from renamed tests. [#101](https://github.com/qunitjs/qunit/issues/101)
* Core: Fix sourceFromsStacktrace to get the right line in Firefox. Shift the 'error' line away in Chrome to get a match.
* Core: Generate more base markup, but allow the user to exclude that completely or choose their own. [#127](https://github.com/qunitjs/qunit/issues/127)
* Core: In autorun mode, moduleDone is called without matching moduleStart. [#184](https://github.com/qunitjs/qunit/issues/184)
* Core: Remove the testEnvironmentArg to `test()`. Most obscure, never used anywhere. `test()` is still heavily overloaded with argument shifting, this makes it a little more sane. [#172](https://github.com/qunitjs/qunit/issues/172)
* Core: Replace deprecated same and equals aliases with placeholders that just throw errors, providing a hint at what to use instead. Rename test file to match that.
* Core: Serialize expected and actual values only when test fails to improve testing speed for passing tests. [#183](https://github.com/qunitjs/qunit/issues/183)
* Core: Update sessionStorage support test to avoid QUOTA_EXCEEDED_EXCEPTION.
* HTML Reporter: Avoid `outerHTML` for Firefox < 11. Use cloneNode instead.
* HTML Reporter: Escape `document.title` before inserting into markup. [#127](https://github.com/qunitjs/qunit/issues/127)
* HTML Reporter: Fix the fixture reset to not break if the element is not present on the page.
* HTML Reporter: Keep label and checkbox together.
* HTML Reporter: Set fixed CSS dimensions on `#qunit-fixture`. [#114](https://github.com/qunitjs/qunit/issues/114)
* HTML Reporter: Show exception stack when test failed.

## See also

* [Git tag: 1.3.0](https://github.com/qunitjs/qunit/releases/tag/1.3.0)
20 changes: 20 additions & 0 deletions docs/_posts/2012-03-10-qunit-1-4-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: post
title: "QUnit 1.4.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Core: A test without any assertions now fails by default, unless [`assert.expect(0)`](https://qunitjs.com/api/assert/expect/) is called. [#178](https://github.com/qunitjs/qunit/issues/178)
* Core: Add `QUnit.pushFailure` to log error conditions like exceptions. Accepts stacktrace as second argument, allowing extraction with catched exceptions (useful even in Safari). [#210](https://github.com/qunitjs/qunit/issues/210)
* Core: Apply [`notrycatch` option](http://localhost:4000/api/config/notrycatch/) to setup and teardown hooks. [#203](https://github.com/qunitjs/qunit/issues/203) [#204](https://github.com/qunitjs/qunit/issues/204)
* Core: Extend exports object with QUnit properties at the end of the file to export everything.
* Core: Prefix test-related session-storage items to make removal more specific. [#213](https://github.com/qunitjs/qunit/issues/213)
* HTML Reporter: Sort objects in value dumps alphabetically to improve diffs. [#206](https://github.com/qunitjs/qunit/issues/206)

## See also

* [Git tag: 1.4.0](https://github.com/qunitjs/qunit/releases/tag/1.4.0)
18 changes: 18 additions & 0 deletions docs/_posts/2012-04-04-qunit-1-5-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
layout: post
title: "QUnit 1.5.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Addons/JUnitLogger: Add `results` data to `QUnit.jUnitReport` callback argument. The function accepts one argument shaped as `{ xml: '<?xml ...', results: { failed: 0, passed: 0, total: 0, time: 0 } }`. (Jonathan Sanchez) [#216](https://github.com/qunitjs/qunit/pull/216)
* Assert: Provide `this` test context to [`assert.raises()`](https://qunitjs.com/api/assert/throws/) block. (Keith Cirkel) [#217](https://github.com/qunitjs/qunit/issues/217)
* Core: Fix clearing of sessionStorage in Firefox 3.6.
* HTML Reporter: Modify "Running..." to display test name. [#220](https://github.com/qunitjs/qunit/issues/220)

## See also

* [Git tag: 1.5.0](https://github.com/qunitjs/qunit/releases/tag/1.5.0)
17 changes: 17 additions & 0 deletions docs/_posts/2012-05-04-qunit-1-6-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
layout: post
title: "QUnit 1.6.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Addons/Composite: Double clicking on composite test rows opens individual test page.
* Core: Only check for an `exports` object to detect a CommonJS environment, fixes compat with RequireJS. [#237](https://github.com/qunitjs/qunit/issues/237)
* HTML Reporter: Prefix test-output id and ignore that in noglobals check. [#212](https://github.com/qunitjs/qunit/issues/212)

## See also

* [Git tag: 1.6.0](https://github.com/qunitjs/qunit/releases/tag/1.6.0)
22 changes: 22 additions & 0 deletions docs/_posts/2012-06-07-qunit-1-7-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
layout: post
title: "QUnit 1.7.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Addons: Add CLI runner for Phantomjs.
* Assert: Refactor assertion helper functions into a new extensible `QUnit.assert` object, globals remain for compat. (Timo Tijhof) [#244](https://github.com/qunitjs/qunit/pull/244)
* Core: Fix confusion of Date type as Object in `assert.deepEqual()`. [#250](https://github.com/qunitjs/qunit/issues/250)
* Core: Improve extractStacktrace logic. [#254](https://github.com/qunitjs/qunit/issues/254)
* Core: Make "Rerun" link only run one test by tracking execution order. [#241](https://github.com/qunitjs/qunit/issues/241)
* Core: Make filters case-insensitive. [#252](https://github.com/qunitjs/qunit/issues/252)
* Core: New [`config.requireExpects`](https://qunitjs.com/api/config/requireExpects/) option. [#207](https://github.com/qunitjs/qunit/issues/207)
* HTML Reporter: Add Rerun link to placeholders. [#240](https://github.com/qunitjs/qunit/issues/240)

## See also

* [Git tag: 1.7.0](https://github.com/qunitjs/qunit/releases/tag/1.7.0)
18 changes: 18 additions & 0 deletions docs/_posts/2012-06-14-qunit-1-8-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
layout: post
title: "QUnit 1.8.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Assert: Avoid global eval error from `assert.raises()` being reported as global exception in IE. [#257](https://github.com/qunitjs/qunit/issues/257)
* Core: Reset config.current at the right time. [#260](https://github.com/qunitjs/qunit/issues/260)
* HTML Reporter: Improve window.onerror handling.
* HTML Reporter: New `module` url parameter. [#252](https://github.com/qunitjs/qunit/issues/252)

## See also

* [Git tag: 1.8.0](https://github.com/qunitjs/qunit/releases/tag/1.8.0)
20 changes: 20 additions & 0 deletions docs/_posts/2012-07-11-qunit-1-9-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
layout: post
title: "QUnit 1.9.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* Assert: Rename `assert.raises()` to `assert.throws()`, keeping an alias for compat. [#267](https://github.com/qunitjs/qunit/issues/267)
* Core: Make the module filter case-insensitive. [#252](https://github.com/qunitjs/qunit/issues/252)
* HTML Reporter: Link should ignore "testNumber" and "module". [#270](https://github.com/qunitjs/qunit/issues/270)
* HTML Reporter: Move checkboxes into toolbar and give them labels and tooltip descriptions. [#274](https://github.com/qunitjs/qunit/issues/274)
* HTML Reporter: Remove use of shadows and change border radius to 5px for pass/error.
* Release: Start publishing to npm under the `qunitjs` package name.

## See also

* [Git tag: 1.9.0](https://github.com/qunitjs/qunit/releases/tag/1.9.0)
22 changes: 22 additions & 0 deletions docs/_posts/2012-08-30-qunit-1-10-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
layout: post
title: "QUnit 1.10.0 Released"
author: jzaefferer
tags:
- release
---

## Changelog

* All: Simplify licensing to only MIT, no more MIT/GPL dual licensing.
* Assert: Equiv for `assert.deepEqual()` now recognizes the ES6 sticky "y" flag for RegExp objects. [#284](https://github.com/qunitjs/qunit/issues/284)
* Assert: Make `QUnit.expect()` without arguments behave as a getter. [#226](https://github.com/qunitjs/qunit/issues/226)
* Core: Add module and test name to the data provided via `QUnit.log()`. [#296](https://github.com/qunitjs/qunit/issues/296)
* Core: Keep a local reference to Date for internal use. [#283](https://github.com/qunitjs/qunit/issues/283)
* HTML Reporter: Add a UI for the module filter.
* HTML Reporter: Always display of global errors regardless of filtering URL parameters. [#288](https://github.com/qunitjs/qunit/issues/288)
* HTML Reporter: Scroll the window back to top after tests finished running. [#304](https://github.com/qunitjs/qunit/issues/304)

## See also

* [Git tag: 1.10.0](https://github.com/qunitjs/qunit/releases/tag/1.10.0)
46 changes: 46 additions & 0 deletions docs/_posts/2013-01-20-qunit-1-11-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
layout: post
title: "QUnit 1.11.0: New assert.propEqual"
author: jzaefferer
tags:
- release
---

## Changelog

### Added

* Addons: New "Ninja" theme.
* Assert: New [`assert.propEqual()`](https://qunitjs.com/api/assert/propEqual/) and `assert.notPropEqual()`. (Timo Tijhof) [#317](https://github.com/qunitjs/qunit/issues/317)
* HTML Reporter: Capture and show each test's runtime duration. [#344](https://github.com/qunitjs/qunit/issues/344)

### Changed

* Addons/Composite: Test suites can be named by including an object with name & path props within array param for `.testSuites()`.
* Addons/PhantomJS: Include source in assertion details.
* Core: Apply the same exception handling for test and teardown try/catch as for setup.

### Fixed

* Addons/Canvas: Use 0.6 as alpha value to avoid inconsistencies between browsers. [#342](https://github.com/qunitjs/qunit/issues/342)
* Addons/JUnitLogger: Rewrite as it was in bad shape (unused vars, duplicate internal code, sub-optimal XmlWriter logic).
* Addons/PhantomJS: Removed the polling mechanism in favor of PhantomJS 1.6+'s `WebPage#onCallback`.
* Assert: Make `throws` ES3 compatible. (Mathias Bynens)
* Core: Fix URL generator to take protocol and host into account to fix usage with file protocol in IE7/8.
* Core: Fix issue with Error.prototype.toString in IE 7.
* Core: Improve start()-called-too-often fix, initialize semaphore at 1, fixes autostart=false case. Also provide stack for the offending start() call.
* Core: Push a failing assertion when calling start() while already running. Resets anyway to keep other tests going. [#314](https://github.com/qunitjs/qunit/issues/314)
* Core: Remove global variable "assert". [#341](https://github.com/qunitjs/qunit/issues/341)
* Core: There's type-free objects in Firefox, extend objectType() to allow null match. [#315](https://github.com/qunitjs/qunit/issues/315)
* Dump: Extend jsdump to output Error objects as such, including the message property. Extend throws to provide 'expected' value when possible. [#307](https://github.com/qunitjs/qunit/issues/307)
* Dump: Include contents of text nodes in `jsDump.node`. (Timo Tijhof) [#380](https://github.com/qunitjs/qunit/issues/380)
* HTML Reporter: Delay start until `QUnit.init` happened. [#358](https://github.com/qunitjs/qunit/issues/358)
* HTML Reporter: Change summary text to use the word "assertions" instead of "tests". [#336](https://github.com/qunitjs/qunit/issues/336)
* HTML Reporter: Fix exception from Diff on property "constructor". [#394](https://github.com/qunitjs/qunit/issues/394)
* HTML Reporter: Fix module picker for old IE. [#366](https://github.com/qunitjs/qunit/issues/366)
* HTML Reporter: Fix urlConfig checkbox event for old IE. [#369](https://github.com/qunitjs/qunit/issues/369)
* HTML Reporter: Use classes to collapse assertion groups. [#269](https://github.com/qunitjs/qunit/issues/269)

## See also

* [Git tag: 1.11.0](https://github.com/qunitjs/qunit/releases/tag/1.11.0)
Loading

0 comments on commit 5f810e5

Please sign in to comment.