Skip to content

Commit

Permalink
Release 4.0.0 (#1)
Browse files Browse the repository at this point in the history
* initial commit

* roll 4.0.0
  • Loading branch information
neocotic committed Mar 12, 2018
1 parent 86ddd89 commit 87cd081
Show file tree
Hide file tree
Showing 27 changed files with 1,927 additions and 2 deletions.
12 changes: 12 additions & 0 deletions packages/europa-test/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
root = true

[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false
18 changes: 18 additions & 0 deletions packages/europa-test/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": "notninja/es5",
"env": {
"amd": true,
"browser": true,
"mocha": true,
"node": true
},
"rules": {
"no-extra-parens": "off",
"no-invalid-this": "off",
"no-unused-expressions": "off",
"strict": [
"error",
"function"
]
}
}
1 change: 1 addition & 0 deletions packages/europa-test/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text eol=lf
2 changes: 2 additions & 0 deletions packages/europa-test/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules/
*.log
5 changes: 5 additions & 0 deletions packages/europa-test/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.*
AUTHORS.md
CHANGES.md
CONTRIBUTING.md
README.md
15 changes: 15 additions & 0 deletions packages/europa-test/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
sudo: false
language: node_js
node_js:
- "4"
- "6"
- "8"
before_script:
- npm install -g npm@latest
script:
- npm run ci
notifications:
slack:
rooms:
- secure: UhksUyNdKmzosK2OoFqiEOAlkC6gOXMnum1yuU7jSGONz+boObWNju3fKKl2+4FLIv2nYKu4ne73oM1Bu+kqxhFBNEdDAgFRriulz4Eu6B0h60FNMUxHKTKqvY7TRM3HJiFL0OKTWaL7qMHvZ+8ecZbviMYqo7uk60vtY7G60dzTmywGtNhDwCAagPjmipqqdyXcLaWJkO1OELoYb1TBYTOFGb1zkyvQw4dcRBYyN4XbK1aE5bjxSI9toclGsWKV8BctY3H8alqKtdFkAsVjfCAgErZFxgTnagbIkARvcPMYrcoB21jAZy08cL7dpy2mGdIlmzYsbnQbdhqYYl1w2OWvzPUR+a2QGsTzKfFdi6J05zpXIJSt5HY1aL50x/RYeyVJV8iU6ey+0A3gndOkeFqDgIhQsLg6XWzTdqwygIztkHFrfQQ2wxj7AYt7xNr7qpucZWw0pbWMld2DXjrHcWFYCDpbLnFs8YvRtCTvJs0MDieUUDC2o6TffSrlaT63we+aL+gDEuVDJfCs0uQMipY4fdTWUsAtpLjWaeva4hDckdeYbw1nIgyZrZVERgJsRFgf5EM5Nmp7GqICOppvg0Z6nGKx04BaoWOTww9K6P8MXKZsDGWkqhlmWVd+WcpPnASUsKaIMQpZc54yCGz/upZQyxVhIsEajyjRsB9ej6E=
on_success: change
3 changes: 3 additions & 0 deletions packages/europa-test/AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Authors ordered by first contribution

* Alasdair Mercer <mercer.alasdair@gmail.com>
80 changes: 80 additions & 0 deletions packages/europa-test/CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
## Version 4.0.0, 2017.06.09

* Rename library to Europa :new_moon: and move package from `html-md` to `europa`
* Rewrite entire code base from ground up and adopt OOP pattern (no more CoffeeScript)
* Release fresh code base under MIT license
* Split into multiple modules (`europa` for browser, `node-europa` for Node.js, `europa-core` to support all environments, `europa-test` for testing)
* Add support for plugins (and the concept of presets)
* Restructure code base to make it more maintainable
* Remove documentation generated by `docco`
* Add `.editorconfig` to help contributors using compatible editors
* Remove `INSTALL.md` and consolidate contents into `README.md` and `CONTRIBUTING.md`
* Switch to container-based Travis builds for faster boot times
* Remove `noConflict` method
* Remove `version` field

### Specific to `europa-test`

* Create `europa-test` framework to help test `europa-core` implementations
* Replace `nodeunit` with `mocha` and `chai`

## Version 3.1.0, 2016.09.02

* Fix support for AMD [#39](https://github.com/NotNinja/europa/issues/39)
* Correct license to GPL-2.0 [#66](https://github.com/NotNinja/europa/issues/66)

## Version 3.0.2, 2013.10.09

* Fix errors in Internet Explorer 8 and older [#36](https://github.com/NotNinja/europa/issues/36)
* Fix problem with running command line [#37](https://github.com/NotNinja/europa/issues/37)
* Update versions on dependencies
* Minor changes and tweaks

## Version 3.0.1, 2013.08.16

* Fix handling of unformatted HTML lists [#33](https://github.com/NotNinja/europa/issues/33)

## Version 3.0.0, 2013.08.15

* Rename command from `md` to `html-md` [#30](https://github.com/NotNinja/europa/issues/30)
* Correct expectations of void elements [#31](https://github.com/NotNinja/europa/issues/31)
* Update versions of dependencies

## Version 2.1.1, 2013.05.06

* Add `base` option to specify the base URL used to resolve relative URLs [#24](https://github.com/NotNinja/europa/issues/24)

## Version 2.1.0, 2013.05.03

* Add support for [bower](http://twitter.github.io/bower/) installations [#18](https://github.com/NotNinja/europa/issues/18)
* Replace `Cakefile` with new [grunt](http://gruntjs.com) build process [#20](https://github.com/NotNinja/europa/issues/20)
* Replace [tap](https://github.com/isaacs/node-tap) test framework with [nodeunit](https://github.com/caolan/nodeunit) [#20](https://github.com/NotNinja/europa/issues/20)
* Remove [CoffeeScript](http://coffeescript.org) as a runtime dependency [#21](https://github.com/NotNinja/europa/issues/21)
* Update [jsdom](https://github.com/tmpvar/jsdom) to v0.6.0 to fix known bugs [#21](https://github.com/NotNinja/europa/issues/21)
* Improve compatibility with the Windows platform [#21](https://github.com/NotNinja/europa/issues/21)
* Improve code and documentation quality and standards [#21](https://github.com/NotNinja/europa/issues/21)
* Fix `absolute` option to also apply to `img` elements [#21](https://github.com/NotNinja/europa/issues/21)
* Improve compatibility with older browsers [#21](https://github.com/NotNinja/europa/issues/21)
* Improve handling of ordered and unordered lists [#22](https://github.com/NotNinja/europa/issues/22)
* Support nested lists [#22](https://github.com/NotNinja/europa/issues/22)
* Add option to support inline link style [#23](https://github.com/NotNinja/europa/issues/23)
* Replace [optparse](https://github.com/jfd/optparse-js) with [commander](http://visionmedia.github.io/commander.js/)
* Lots of bug fixes and optimizations

## Version 2.0.2, 2013.02.04

* Add new man page [#13](https://github.com/NotNinja/europa/issues/13)
* Fix bug with `eval` option [#14](https://github.com/NotNinja/europa/issues/14)

## Version 2.0.1, 2012.12.12

* Fix incorrect version [#8](https://github.com/NotNinja/europa/issues/8)

## Version 2.0.0, 2012.12.11

* Check inline style attribute to see if elements are hidden [#1](https://github.com/NotNinja/europa/issues/1)
* Add command line interface [#2](https://github.com/NotNinja/europa/issues/2)
* Create unit test suite [#3](https://github.com/NotNinja/europa/issues/3)
* Rewrite code in CoffeeScript [#4](https://github.com/NotNinja/europa/issues/4)
* Add compatibility support for node.js [#5](https://github.com/NotNinja/europa/issues/5)
* Add build process [#6](https://github.com/NotNinja/europa/issues/6)
26 changes: 26 additions & 0 deletions packages/europa-test/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Contributing

If you have any questions about [Europa Test](https://github.com/NotNinja/europa-test) please feel free to
[raise an issue](https://github.com/NotNinja/europa-test/issues/new).

Please [search existing issues](https://github.com/NotNinja/europa-test/issues) for the same feature and/or issue before
raising a new issue. Commenting on an existing issue is usually preferred over raising duplicate issues.

Please ensure that all files conform to the coding standards, using the same coding style as the rest of the code base.
This can be done easily via command-line:

``` bash
# install/update package dependencies
$ npm install
# run test suite
$ npm test
```

You must have at least [Node.js](https://nodejs.org) version 4 or newer and [npm](https://npmjs.com) version 5 or newer
installed.

All pull requests should be made to the `develop` branch.

Don't forget to add your details to the list of
[AUTHORS.md](https://github.com/NotNinja/europa-test/blob/master/AUTHORS.md) if you want your contribution to be
recognized by others.
19 changes: 19 additions & 0 deletions packages/europa-test/LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (C) 2017 Alasdair Mercer, !ninja

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
81 changes: 79 additions & 2 deletions packages/europa-test/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,79 @@
# europa-test
Test framework for Europa implementations
![Europa Test](https://cdn.rawgit.com/NotNinja/europa-branding/master/assets/banner-europa-test/europa-test-banner-710x200.png)

[Europa Test](https://github.com/NotNinja/europa-test) is a framework for testing
[Europa Core](https://github.com/NotNinja/europa-core) implementations.

[![Build Status](https://img.shields.io/travis/NotNinja/europa-test/develop.svg?style=flat-square)](https://travis-ci.org/NotNinja/europa-test)
[![Peer Dependency Status](https://img.shields.io/david/peer/NotNinja/europa-test.svg?style=flat-square)](https://david-dm.org/NotNinja/europa-test?type=peer)
[![Dev Dependency Status](https://img.shields.io/david/dev/NotNinja/europa-test.svg?style=flat-square)](https://david-dm.org/NotNinja/europa-test?type=dev)
[![License](https://img.shields.io/npm/l/europa-test.svg?style=flat-square)](https://github.com/NotNinja/europa-test/blob/master/LICENSE.md)
[![Release](https://img.shields.io/npm/v/europa-test.svg?style=flat-square)](https://www.npmjs.com/package/europa-test)

* [Install](#install)
* [API](#api)
* [Bugs](#bugs)
* [Contributors](#contributors)
* [License](#license)

## Install

Install using `npm`:

``` bash
$ npm install --save-dev europa-test
```

You will most likely never need to depend on `europa-test` as it's only intended to be used to provide some general test
coverage for [Europa Core](https://github.com/NotNinja/europa-core) implementations. For example:

* [europa](https://github.com/NotNinja/europa)
* [node-europa](https://github.com/NotNinja/node-europa)

Your implementation will also need to have `mocha` and `chai` installed as dependencies as these are used by this
framework. These too can be installed using `npm`:

``` bash
$ npm install --save-dev chai mocha
```

## API

As this framework has to work in various environments, it only provides a high level test coverage of the core engine
using a selection of fixtures. In order to use this framework, you only have to provide `Europa`, loaded with your
implementation's `WindowService`, and a function which can be used to asynchronously load the test fixtures within this
framework on demand.

Most modules that use Europa Test will look something like the following:

``` javascript
var test = require('europa-test');

var Europa = require('../path/to/ExampleEuropa');

test({
Europa: Europa,
loadFixture: function(fixturePath, callback) {
someAsyncFileLoader('../path/to/node_modules/europa-test' + fixturePath, callback);
}
});
```

## Bugs

If you have any problems with Europa Test or would like to see changes currently in development you can do so
[here](https://github.com/NotNinja/europa-test/issues).

## Contributors

If you want to contribute, you're a legend! Information on how you can do so can be found in
[CONTRIBUTING.md](https://github.com/NotNinja/europa-test/blob/master/CONTRIBUTING.md). We want your suggestions and
pull requests!

A list of Europa Test contributors can be found in
[AUTHORS.md](https://github.com/NotNinja/europa-test/blob/master/AUTHORS.md).

## License

See [LICENSE.md](https://github.com/NotNinja/europa-test/raw/master/LICENSE.md) for more information on our MIT license.

[![Copyright !ninja](https://cdn.rawgit.com/NotNinja/branding/master/assets/copyright/base/not-ninja-copyright-186x25.png)](https://not.ninja)
2 changes: 2 additions & 0 deletions packages/europa-test/fixtures/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[*]
insert_final_newline = false
73 changes: 73 additions & 0 deletions packages/europa-test/fixtures/content.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Title</title>
</head>
<body>
<h1>h1</h1>
<h2>h2</h2>
<h3>h3</h3>
<h4>h4</h4>
<h5>h5</h5>
<h6>h6</h6>
<span>span</span>
<ruby><rt>Kan</rt></ruby>
<ruby><rt>ji</rt></ruby>
<dfn>dfn</dfn>
<p>
<q>q</q>
</p>
<cite>cite</cite>
<em>em</em>
<time>12:00:00</time>
<var>var</var>
<samp>samp</samp>
<i>i</i>
<b>b</b>
<sub>sub</sub>
<sup>sup</sup>
<small>small</small>
<strong>strong</strong>
<mark>mark</mark>
<ins>ins</ins>
<del>del</del>
<bdi>bdi</bdi>
<bdo>bdo</bdo>
<s>s</s>
<kbd>kbd</kbd>
<wbr>wbr</wbr>
<code>code</code>
<br>
<hr>
<pre>pre</pre>
<blockquote>blockquote</blockquote>
<dl>
<dt>dt</dt>
<dd>dd</dd>
</dl>
<legend>legend</legend>
<label>label</label>
<output>output</output>
<figure>figure</figure>
<figcaption>figcaption</figcaption>
<img alt="img" src="mock.png" />
<img src="http://europa.mock/mock.png" />
<img alt="hidden" />
<a>anchor</a>
<a title="mock">anchor</a>
<a href="mock1">anchor</a>
<a href="mock1" title="mock1">anchor</a>
<a href="mock1" title="mock1">anchor</a>
<a href="mock1" title="mock2">anchor</a>
<a href="mock1">anchor</a>
<a href="mock2">anchor</a>
<a href="mock2" title="mock1">anchor</a>
<a href="mock2" title="mock2">anchor</a>
<a href="mock2">anchor</a>
<a href="http://europa.mock"></a>
<a href="http://europa.mock" title="mock"></a>
<a href="mock1"><strong><em>bold-italic-anchor</em></strong></a>
<a href="mock1"><img alt="img" src="mock.png">anchor</a>
</body>
</html>
Loading

0 comments on commit 87cd081

Please sign in to comment.