xunit.ts 1.0.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli.ts +5 -5
- package/dist/cli.js.map +1 -1
- package/dist/src/Assertions/Contains.js +1 -1
- package/dist/src/Assertions/Contains.js.map +1 -1
- package/dist/src/Assertions/Count.js.map +1 -1
- package/dist/src/Assertions/Defined.js +2 -2
- package/dist/src/Assertions/Defined.js.map +1 -1
- package/dist/src/Assertions/DoesNotContain.js +1 -1
- package/dist/src/Assertions/DoesNotContain.js.map +1 -1
- package/dist/src/Assertions/DoesNotThrow.js +2 -2
- package/dist/src/Assertions/DoesNotThrow.js.map +1 -1
- package/dist/src/Assertions/Empty.js +1 -1
- package/dist/src/Assertions/Empty.js.map +1 -1
- package/dist/src/Assertions/Equal.js +1 -1
- package/dist/src/Assertions/Equal.js.map +1 -1
- package/dist/src/Assertions/False.js +1 -1
- package/dist/src/Assertions/False.js.map +1 -1
- package/dist/src/Assertions/InstanceOf.d.ts +1 -1
- package/dist/src/Assertions/InstanceOf.d.ts.map +1 -1
- package/dist/src/Assertions/InstanceOf.js.map +1 -1
- package/dist/src/Assertions/NotEmpty.js +2 -2
- package/dist/src/Assertions/NotEmpty.js.map +1 -1
- package/dist/src/Assertions/NotEqual.js +1 -1
- package/dist/src/Assertions/NotEqual.js.map +1 -1
- package/dist/src/Assertions/NotNull.js +2 -2
- package/dist/src/Assertions/NotNull.js.map +1 -1
- package/dist/src/Assertions/Null.js +1 -1
- package/dist/src/Assertions/Null.js.map +1 -1
- package/dist/src/Assertions/StringContains.js +1 -1
- package/dist/src/Assertions/StringContains.js.map +1 -1
- package/dist/src/Assertions/StringDoesNotContain.d.ts.map +1 -1
- package/dist/src/Assertions/StringDoesNotContain.js +1 -1
- package/dist/src/Assertions/StringDoesNotContain.js.map +1 -1
- package/dist/src/Assertions/StringDoesNotEndWith.js +1 -1
- package/dist/src/Assertions/StringDoesNotEndWith.js.map +1 -1
- package/dist/src/Assertions/StringDoesNotStartWith.d.ts.map +1 -1
- package/dist/src/Assertions/StringDoesNotStartWith.js +1 -1
- package/dist/src/Assertions/StringDoesNotStartWith.js.map +1 -1
- package/dist/src/Assertions/StringEndsWith.js +1 -1
- package/dist/src/Assertions/StringEndsWith.js.map +1 -1
- package/dist/src/Assertions/StringStartsWith.d.ts.map +1 -1
- package/dist/src/Assertions/StringStartsWith.js +1 -1
- package/dist/src/Assertions/StringStartsWith.js.map +1 -1
- package/dist/src/Assertions/Throws.js +1 -1
- package/dist/src/Assertions/Throws.js.map +1 -1
- package/dist/src/Assertions/True.js +1 -1
- package/dist/src/Assertions/True.js.map +1 -1
- package/dist/src/Assertions/Undefined.js +1 -1
- package/dist/src/Assertions/Undefined.js.map +1 -1
- package/dist/src/Assertions/index.d.ts +22 -22
- package/dist/src/Assertions/index.d.ts.map +1 -1
- package/dist/src/Assertions/index.js.map +1 -1
- package/dist/src/CLI.d.ts +1 -0
- package/dist/src/CLI.d.ts.map +1 -1
- package/dist/src/CLI.js +19 -8
- package/dist/src/CLI.js.map +1 -1
- package/dist/src/Factory.d.ts +4 -4
- package/dist/src/Factory.d.ts.map +1 -1
- package/dist/src/Factory.js.map +1 -1
- package/dist/src/Framework/ResultType.d.ts.map +1 -1
- package/dist/src/Framework/ResultType.js.map +1 -1
- package/dist/src/Framework/Test.d.ts.map +1 -1
- package/dist/src/Framework/Test.js.map +1 -1
- package/dist/src/Framework/TestName.d.ts.map +1 -1
- package/dist/src/Framework/TestName.js.map +1 -1
- package/dist/src/Framework/TestResult.d.ts.map +1 -1
- package/dist/src/Framework/TestResult.js.map +1 -1
- package/dist/src/Framework/TestSuite.d.ts +3 -2
- package/dist/src/Framework/TestSuite.d.ts.map +1 -1
- package/dist/src/Framework/TestSuite.js +12 -2
- package/dist/src/Framework/TestSuite.js.map +1 -1
- package/dist/src/Framework/TestSuiteResults.d.ts +1 -1
- package/dist/src/Framework/TestSuiteResults.d.ts.map +1 -1
- package/dist/src/Framework/TestSuiteResults.js.map +1 -1
- package/dist/src/IO/FileSystem.d.ts +2 -2
- package/dist/src/IO/FileSystem.d.ts.map +1 -1
- package/dist/src/IO/FileSystem.js +6 -6
- package/dist/src/IO/FileSystem.js.map +1 -1
- package/dist/src/IO/Output.d.ts.map +1 -1
- package/dist/src/IO/Output.js.map +1 -1
- package/dist/src/Reporters/ConsoleReporter.d.ts.map +1 -1
- package/dist/src/Reporters/ConsoleReporter.js +8 -7
- package/dist/src/Reporters/ConsoleReporter.js.map +1 -1
- package/dist/src/Reporters/FileReporter.d.ts.map +1 -1
- package/dist/src/Reporters/FileReporter.js +1 -0
- package/dist/src/Reporters/FileReporter.js.map +1 -1
- package/dist/src/Reporters/JUnitReporter.d.ts +2 -2
- package/dist/src/Reporters/JUnitReporter.d.ts.map +1 -1
- package/dist/src/Reporters/JUnitReporter.js +7 -7
- package/dist/src/Reporters/JUnitReporter.js.map +1 -1
- package/dist/src/Reporters/ResultReporter.d.ts +3 -3
- package/dist/src/Reporters/ResultReporter.d.ts.map +1 -1
- package/dist/src/Reporters/SonarReporter.d.ts +2 -2
- package/dist/src/Reporters/SonarReporter.d.ts.map +1 -1
- package/dist/src/Reporters/SonarReporter.js +16 -16
- package/dist/src/Reporters/SonarReporter.js.map +1 -1
- package/dist/src/Reporters/XMLReporter.d.ts.map +1 -1
- package/dist/src/Reporters/XMLReporter.js.map +1 -1
- package/dist/src/Runners/Runner.d.ts +3 -3
- package/dist/src/Runners/Runner.d.ts.map +1 -1
- package/dist/src/Runners/Runner.js +8 -8
- package/dist/src/Runners/Runner.js.map +1 -1
- package/dist/src/Runners/TestRunner.d.ts +4 -4
- package/dist/src/Runners/TestRunner.d.ts.map +1 -1
- package/dist/src/Runners/TestRunner.js +4 -4
- package/dist/src/Runners/TestRunner.js.map +1 -1
- package/dist/src/Runners/TestSuiteLoader.d.ts +4 -4
- package/dist/src/Runners/TestSuiteLoader.d.ts.map +1 -1
- package/dist/src/Runners/TestSuiteLoader.js +28 -20
- package/dist/src/Runners/TestSuiteLoader.js.map +1 -1
- package/dist/src/Runners/TestSuiteRunner.d.ts +6 -6
- package/dist/src/Runners/TestSuiteRunner.d.ts.map +1 -1
- package/dist/src/Runners/TestSuiteRunner.js +3 -3
- package/dist/src/Runners/TestSuiteRunner.js.map +1 -1
- package/dist/xunit.d.ts +3 -3
- package/dist/xunit.d.ts.map +1 -1
- package/dist/xunit.js.map +1 -1
- package/package.json +39 -37
- package/src/Assertions/Contains.ts +10 -10
- package/src/Assertions/Count.ts +11 -11
- package/src/Assertions/Defined.ts +11 -11
- package/src/Assertions/DoesNotContain.ts +11 -11
- package/src/Assertions/DoesNotThrow.ts +13 -13
- package/src/Assertions/Empty.ts +11 -11
- package/src/Assertions/Equal.ts +12 -12
- package/src/Assertions/False.ts +11 -11
- package/src/Assertions/InstanceOf.ts +2 -2
- package/src/Assertions/NotEmpty.ts +11 -11
- package/src/Assertions/NotEqual.ts +12 -12
- package/src/Assertions/NotNull.ts +11 -11
- package/src/Assertions/Null.ts +11 -11
- package/src/Assertions/StringContains.ts +11 -11
- package/src/Assertions/StringDoesNotContain.ts +12 -12
- package/src/Assertions/StringDoesNotEndWith.ts +13 -13
- package/src/Assertions/StringDoesNotStartWith.ts +12 -12
- package/src/Assertions/StringEndsWith.ts +13 -13
- package/src/Assertions/StringStartsWith.ts +12 -12
- package/src/Assertions/Throws.ts +11 -11
- package/src/Assertions/True.ts +11 -11
- package/src/Assertions/Undefined.ts +12 -12
- package/src/Assertions/index.ts +45 -45
- package/src/CLI.ts +96 -85
- package/src/Factory.ts +25 -25
- package/src/Framework/ResultType.ts +4 -4
- package/src/Framework/Test.ts +6 -6
- package/src/Framework/TestName.ts +7 -7
- package/src/Framework/TestResult.ts +3 -2
- package/src/Framework/TestSuite.ts +29 -18
- package/src/Framework/TestSuiteResults.ts +17 -16
- package/src/IO/FileSystem.ts +28 -29
- package/src/IO/Output.ts +21 -20
- package/src/Reporters/ConsoleReporter.ts +88 -87
- package/src/Reporters/FileReporter.ts +29 -29
- package/src/Reporters/JUnitReporter.ts +80 -80
- package/src/Reporters/ResultReporter.ts +20 -12
- package/src/Reporters/SonarReporter.ts +86 -86
- package/src/Reporters/XMLReporter.ts +6 -6
- package/src/Runners/Runner.ts +21 -21
- package/src/Runners/TestRunner.ts +34 -33
- package/src/Runners/TestSuiteLoader.ts +51 -45
- package/src/Runners/TestSuiteRunner.ts +27 -26
- package/tsconfig.json +23 -26
- package/xunit.ts +6 -6
- package/.editorconfig +0 -24
- package/CODE_OF_CONDUCT.md +0 -128
- package/CONTRIBUTING.md +0 -26
- package/LICENSE +0 -21
- package/README.md +0 -132
- package/SECURITY.md +0 -11
- package/icon.svg +0 -83
- package/logo.svg +0 -154
- package/sonar-project.properties +0 -6
package/README.md
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-

|
|
2
|
-
# xunit.ts
|
|
3
|
-
### A TypeScript unit testing framework, following standard xUnit patterns
|
|
4
|
-
|
|
5
|
-
[](https://npmjs.com/package/xunit.ts)
|
|
6
|
-
[](https://github.com/ecoAPM/xunit.ts/actions)
|
|
7
|
-
[](https://sonarcloud.io/dashboard?id=ecoAPM_xunit.ts)
|
|
8
|
-
|
|
9
|
-
[](https://sonarcloud.io/dashboard?id=ecoAPM_xunit.ts)
|
|
10
|
-
[](https://sonarcloud.io/dashboard?id=ecoAPM_xunit.ts)
|
|
11
|
-
[](https://sonarcloud.io/dashboard?id=ecoAPM_xunit.ts)
|
|
12
|
-
|
|
13
|
-
## Documentation
|
|
14
|
-
|
|
15
|
-
Detailed documentation is available at https://ecoAPM.github.io/xunit.ts
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
18
|
-
|
|
19
|
-
### Requirements
|
|
20
|
-
|
|
21
|
-
- Node.js 16
|
|
22
|
-
|
|
23
|
-
(older versions may work, but only the latest LTS is actively supported)
|
|
24
|
-
|
|
25
|
-
### Installation
|
|
26
|
-
|
|
27
|
-
`npm install --dev xunit.ts`
|
|
28
|
-
|
|
29
|
-
or
|
|
30
|
-
|
|
31
|
-
`yarn add --dev xunit.ts`
|
|
32
|
-
|
|
33
|
-
### Configure your test project
|
|
34
|
-
|
|
35
|
-
At a minimum, your `tsconfig.json` will require the following:
|
|
36
|
-
|
|
37
|
-
```json
|
|
38
|
-
{
|
|
39
|
-
"compilerOptions": {
|
|
40
|
-
"target": "ES5", //or "ES6"
|
|
41
|
-
"module": "CommonJS",
|
|
42
|
-
"experimentalDecorators": true
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
If you're using `rollup` or `vite`, you'll need to set `xunit.ts` as an `external` in your build config file (under `rollupOptions` in `vite`) for the tests to be detected.
|
|
48
|
-
|
|
49
|
-
### Create your first test
|
|
50
|
-
|
|
51
|
-
`MyTestSuite.ts`:
|
|
52
|
-
|
|
53
|
-
```ts
|
|
54
|
-
import { Test, TestSuite } from 'xunit.ts';
|
|
55
|
-
|
|
56
|
-
export default class MyTestSuite extends TestSuite {
|
|
57
|
-
@Test()
|
|
58
|
-
async MyFirstTest() {
|
|
59
|
-
this.assert.equal(2, 1 + 1);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Run your tests
|
|
65
|
-
|
|
66
|
-
You'll need to compile your TypeScript tests into JavaScript using `tsc` or a bundler such as `rollup`, `parcel`, `vite`, etc. (these are the supported ones, feel free to add your favorite to the `compiler-tests` directory!)
|
|
67
|
-
|
|
68
|
-
Then run:
|
|
69
|
-
|
|
70
|
-
`npm run xunit compiled_tests_dir`
|
|
71
|
-
|
|
72
|
-
or
|
|
73
|
-
|
|
74
|
-
`yarn xunit compiled_tests_dir`
|
|
75
|
-
|
|
76
|
-
to run the tests.
|
|
77
|
-
|
|
78
|
-
You can also run `xunit.ts` from a script in your `package.json`:
|
|
79
|
-
|
|
80
|
-
```json
|
|
81
|
-
{
|
|
82
|
-
"scripts": {
|
|
83
|
-
"test": "tsc --outDir compiled_tests_dir && xunit compiled_tests_dir"
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Output
|
|
89
|
-
|
|
90
|
-
### Console
|
|
91
|
-
|
|
92
|
-
By default, `xunit.ts` will output test results to `stdout` so they can be captured by your terminal, or piped elsewhere:
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
~/example $ npm run test
|
|
96
|
-
|
|
97
|
-
My Test Suite
|
|
98
|
-
✓ My First Test
|
|
99
|
-
|
|
100
|
-
Passed: 1
|
|
101
|
-
Total: 1
|
|
102
|
-
|
|
103
|
-
~/example $ _
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
See the [full documentation](https://ecoAPM.github.io/xunit.ts) for a list of all available output options.
|
|
107
|
-
|
|
108
|
-
## Assertions
|
|
109
|
-
|
|
110
|
-
`xunit.ts` has a built-in assertion library, accessible via `this.assert...` from within a `TestSuite`, or you can use your favorite third-party one: anything that uses Node.js' `AssertionError` is supported.
|
|
111
|
-
|
|
112
|
-
If you prefer, you can `import { Assert } from 'xunit.ts` and call e.g. `Assert.true(expression);` instead of `this.assert.true(expression);` for any included assertion.
|
|
113
|
-
|
|
114
|
-
See the [full documentation](https://ecoAPM.github.io/xunit.ts) for a list of all available assertions.
|
|
115
|
-
|
|
116
|
-
## Contributing
|
|
117
|
-
|
|
118
|
-
Please be sure to read and follow ecoAPM's [Contribution Guidelines](CONTRIBUTING.md) when submitting issues or pull requests.
|
|
119
|
-
|
|
120
|
-
### Building / Testing locally
|
|
121
|
-
|
|
122
|
-
1. `npm install` or `yarn install` to download all dependencies
|
|
123
|
-
2. `npm run build` or `yarn build` will compile `xunit.ts` and its tests to the `dist` directory
|
|
124
|
-
3. `npm run test` or `yarn test` will run all unit tests in `dist/tests`
|
|
125
|
-
4. `npm run build && npm run test` or `yarn build && yarn test` will build and run tests in a single step
|
|
126
|
-
|
|
127
|
-
### Missing an assertion?
|
|
128
|
-
|
|
129
|
-
Create an issue or submit a pull request!
|
|
130
|
-
1. Add a new function to `src/Assertions`
|
|
131
|
-
2. Add tests for both the positive and negative cases in `tests/Assertions`
|
|
132
|
-
3. Add a field for the assertion to `src/Assertions/index.ts`
|
package/SECURITY.md
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# Security Policy
|
|
2
|
-
|
|
3
|
-
## Supported Versions
|
|
4
|
-
|
|
5
|
-
Security updates are generally only applied to the newest release, and backported on an as-needed basis where appropriate.
|
|
6
|
-
|
|
7
|
-
## Reporting a Vulnerability
|
|
8
|
-
|
|
9
|
-
Unless a vulnerability is deemed critical or exposes PII, please create an issue in this repository using the "Report a Bug" template.
|
|
10
|
-
|
|
11
|
-
For critical vulnerabilities, or those that expose PII, please email info@ecoAPM.com so that the issue can be fixed confidentially, prior to public disclosure.
|
package/icon.svg
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
-
sodipodi:docname="icon.svg"
|
|
11
|
-
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
|
12
|
-
inkscape:export-ydpi="96"
|
|
13
|
-
inkscape:export-xdpi="96"
|
|
14
|
-
inkscape:export-filename="X:\ecoAPM\xunit.ts\docs\assets\icon.png"
|
|
15
|
-
id="svg875"
|
|
16
|
-
version="1.1"
|
|
17
|
-
viewBox="0 0 128 128"
|
|
18
|
-
height="128"
|
|
19
|
-
width="128">
|
|
20
|
-
<defs
|
|
21
|
-
id="defs869" />
|
|
22
|
-
<sodipodi:namedview
|
|
23
|
-
inkscape:window-maximized="1"
|
|
24
|
-
inkscape:window-y="58"
|
|
25
|
-
inkscape:window-x="1912"
|
|
26
|
-
inkscape:window-height="987"
|
|
27
|
-
inkscape:window-width="1680"
|
|
28
|
-
width="128mm"
|
|
29
|
-
units="px"
|
|
30
|
-
showgrid="false"
|
|
31
|
-
inkscape:document-rotation="0"
|
|
32
|
-
inkscape:current-layer="layer1"
|
|
33
|
-
inkscape:document-units="px"
|
|
34
|
-
inkscape:cy="71.552618"
|
|
35
|
-
inkscape:cx="79.729008"
|
|
36
|
-
inkscape:zoom="3.959798"
|
|
37
|
-
inkscape:pageshadow="2"
|
|
38
|
-
inkscape:pageopacity="0.0"
|
|
39
|
-
borderopacity="1.0"
|
|
40
|
-
bordercolor="#666666"
|
|
41
|
-
pagecolor="#ffffff"
|
|
42
|
-
id="base" />
|
|
43
|
-
<metadata
|
|
44
|
-
id="metadata872">
|
|
45
|
-
<rdf:RDF>
|
|
46
|
-
<cc:Work
|
|
47
|
-
rdf:about="">
|
|
48
|
-
<dc:format>image/svg+xml</dc:format>
|
|
49
|
-
<dc:type
|
|
50
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
51
|
-
<dc:title></dc:title>
|
|
52
|
-
</cc:Work>
|
|
53
|
-
</rdf:RDF>
|
|
54
|
-
</metadata>
|
|
55
|
-
<g
|
|
56
|
-
id="layer1"
|
|
57
|
-
inkscape:groupmode="layer"
|
|
58
|
-
inkscape:label="Layer 1">
|
|
59
|
-
<g
|
|
60
|
-
transform="matrix(-3.7139957,0,0,3.7296926,884.38404,-159.89924)"
|
|
61
|
-
style="font-style:normal;font-weight:normal;font-size:50.8px;line-height:1.25;font-family:sans-serif;fill:#bfbfbf;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
62
|
-
id="text2766-0"
|
|
63
|
-
aria-label="🗸">
|
|
64
|
-
<path
|
|
65
|
-
sodipodi:nodetypes="ccsccccc"
|
|
66
|
-
id="path2805"
|
|
67
|
-
style="font-size:50.8px;fill:#bfbfbf;fill-opacity:1;stroke-width:0.264583"
|
|
68
|
-
d="m 231.8494,43.408198 0.74414,1.289843 c -4.84518,3.423047 -9.33483,7.755599 -13.46894,12.997656 -4.13412,5.242057 -7.11895,10.376628 -8.9545,15.403711 l -1.0914,0.719336 c -0.94258,0.611849 -1.75287,1.223698 -2.43086,1.835547 -1.21639,-4.400349 7.20052,-16.248511 12.05508,-21.480859 4.15065,-4.415235 8.53281,-8.003646 13.14648,-10.765234 z" />
|
|
69
|
-
</g>
|
|
70
|
-
<text
|
|
71
|
-
transform="scale(0.99789345,1.002111)"
|
|
72
|
-
xml:space="preserve"
|
|
73
|
-
style="font-style:normal;font-weight:normal;font-size:189.069px;line-height:1.25;font-family:sans-serif;fill:#538d43;fill-opacity:1;stroke:none;stroke-width:0.984735"
|
|
74
|
-
x="-11.659032"
|
|
75
|
-
y="150.47607"
|
|
76
|
-
id="text2766"><tspan
|
|
77
|
-
sodipodi:role="line"
|
|
78
|
-
id="tspan2764"
|
|
79
|
-
x="-11.659032"
|
|
80
|
-
y="150.47607"
|
|
81
|
-
style="font-size:189.069px;fill:#538d43;fill-opacity:1;stroke-width:0.984735">🗸</tspan></text>
|
|
82
|
-
</g>
|
|
83
|
-
</svg>
|
package/logo.svg
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
-
<svg
|
|
3
|
-
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
-
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
-
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
-
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
-
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
-
inkscape:export-ydpi="96"
|
|
11
|
-
inkscape:export-xdpi="96"
|
|
12
|
-
inkscape:export-filename="X:\ecoAPM\xunit.ts\logo-black.png"
|
|
13
|
-
sodipodi:docname="logo.svg"
|
|
14
|
-
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
|
15
|
-
id="svg8"
|
|
16
|
-
version="1.1"
|
|
17
|
-
viewBox="0 0 400 128"
|
|
18
|
-
height="128"
|
|
19
|
-
width="400">
|
|
20
|
-
<defs
|
|
21
|
-
id="defs2">
|
|
22
|
-
<rect
|
|
23
|
-
id="rect2858"
|
|
24
|
-
height="56"
|
|
25
|
-
width="61.5"
|
|
26
|
-
y="39"
|
|
27
|
-
x="127.5" />
|
|
28
|
-
<rect
|
|
29
|
-
id="rect2746"
|
|
30
|
-
height="38.364582"
|
|
31
|
-
width="5.0270834"
|
|
32
|
-
y="94.720833"
|
|
33
|
-
x="102.39375" />
|
|
34
|
-
</defs>
|
|
35
|
-
<sodipodi:namedview
|
|
36
|
-
inkscape:window-maximized="1"
|
|
37
|
-
inkscape:window-y="-8"
|
|
38
|
-
inkscape:window-x="-8"
|
|
39
|
-
inkscape:window-height="1137"
|
|
40
|
-
inkscape:window-width="1920"
|
|
41
|
-
inkscape:pagecheckerboard="false"
|
|
42
|
-
units="px"
|
|
43
|
-
showgrid="false"
|
|
44
|
-
inkscape:document-rotation="0"
|
|
45
|
-
inkscape:current-layer="layer1"
|
|
46
|
-
inkscape:document-units="px"
|
|
47
|
-
inkscape:cy="111.1524"
|
|
48
|
-
inkscape:cx="243.86486"
|
|
49
|
-
inkscape:zoom="2"
|
|
50
|
-
inkscape:pageshadow="2"
|
|
51
|
-
inkscape:pageopacity="0"
|
|
52
|
-
borderopacity="1.0"
|
|
53
|
-
bordercolor="#666666"
|
|
54
|
-
pagecolor="#000000"
|
|
55
|
-
id="base" />
|
|
56
|
-
<metadata
|
|
57
|
-
id="metadata5">
|
|
58
|
-
<rdf:RDF>
|
|
59
|
-
<cc:Work
|
|
60
|
-
rdf:about="">
|
|
61
|
-
<dc:format>image/svg+xml</dc:format>
|
|
62
|
-
<dc:type
|
|
63
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
64
|
-
<dc:title></dc:title>
|
|
65
|
-
</cc:Work>
|
|
66
|
-
</rdf:RDF>
|
|
67
|
-
</metadata>
|
|
68
|
-
<g
|
|
69
|
-
id="layer1"
|
|
70
|
-
inkscape:groupmode="layer"
|
|
71
|
-
inkscape:label="Layer 1">
|
|
72
|
-
<text
|
|
73
|
-
id="text2742"
|
|
74
|
-
y="168.27499"
|
|
75
|
-
x="-11.377083"
|
|
76
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
77
|
-
xml:space="preserve"><tspan
|
|
78
|
-
sodipodi:role="line"
|
|
79
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';stroke-width:0.264583"
|
|
80
|
-
y="168.27499"
|
|
81
|
-
x="-11.377083"
|
|
82
|
-
id="tspan2740" /><tspan
|
|
83
|
-
id="tspan2754"
|
|
84
|
-
sodipodi:role="line"
|
|
85
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';stroke-width:0.264583"
|
|
86
|
-
y="327.02499"
|
|
87
|
-
x="-11.377083" /></text>
|
|
88
|
-
<text
|
|
89
|
-
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2746);fill:#000000;fill-opacity:1;stroke:none;"
|
|
90
|
-
id="text2744"
|
|
91
|
-
xml:space="preserve" />
|
|
92
|
-
<text
|
|
93
|
-
id="text2752"
|
|
94
|
-
y="26.987499"
|
|
95
|
-
x="35.983334"
|
|
96
|
-
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
97
|
-
xml:space="preserve"><tspan
|
|
98
|
-
style="stroke-width:0.264583"
|
|
99
|
-
y="26.987499"
|
|
100
|
-
x="35.983334"
|
|
101
|
-
id="tspan2750"
|
|
102
|
-
sodipodi:role="line" /></text>
|
|
103
|
-
<text
|
|
104
|
-
transform="scale(0.99994519,1.0000548)"
|
|
105
|
-
id="text2758"
|
|
106
|
-
y="98.652382"
|
|
107
|
-
x="112.43309"
|
|
108
|
-
style="font-style:normal;font-weight:normal;font-size:95.8669px;line-height:0;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264216"
|
|
109
|
-
xml:space="preserve"><tspan
|
|
110
|
-
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:95.8669px;line-height:1;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#000000;fill-opacity:1;stroke-width:0.264216"
|
|
111
|
-
y="98.652382"
|
|
112
|
-
x="112.43309"
|
|
113
|
-
id="tspan2756"
|
|
114
|
-
sodipodi:role="line"><tspan
|
|
115
|
-
id="tspan3014"
|
|
116
|
-
style="fill:#ffffff;fill-opacity:1">unit</tspan><tspan
|
|
117
|
-
id="tspan3000"
|
|
118
|
-
style="fill:#808080;fill-opacity:1">.</tspan><tspan
|
|
119
|
-
id="tspan3016"
|
|
120
|
-
style="fill:#ffffff;fill-opacity:1">ts</tspan></tspan></text>
|
|
121
|
-
<text
|
|
122
|
-
style="fill:black;fill-opacity:1;line-height:1.25;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:40px;white-space:pre;shape-inside:url(#rect2858);"
|
|
123
|
-
id="text2856"
|
|
124
|
-
xml:space="preserve" />
|
|
125
|
-
</g>
|
|
126
|
-
<g
|
|
127
|
-
inkscape:label="Layer 2"
|
|
128
|
-
id="layer2"
|
|
129
|
-
inkscape:groupmode="layer">
|
|
130
|
-
<g
|
|
131
|
-
transform="matrix(-3.7140083,0,0,3.7296903,884.38712,-159.89914)"
|
|
132
|
-
style="font-style:normal;font-weight:normal;font-size:50.8px;line-height:1.25;font-family:sans-serif;fill:#bfbfbf;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
133
|
-
id="text2766-0"
|
|
134
|
-
aria-label="🗸">
|
|
135
|
-
<path
|
|
136
|
-
sodipodi:nodetypes="ccsccccc"
|
|
137
|
-
id="path2805"
|
|
138
|
-
style="font-size:50.8px;fill:#bfbfbf;fill-opacity:1;stroke-width:0.264583"
|
|
139
|
-
d="m 231.8494,43.408198 0.74414,1.289843 c -4.84518,3.423047 -9.33483,7.755599 -13.46894,12.997656 -4.13412,5.242057 -7.11895,10.376628 -8.9545,15.403711 l -1.0914,0.719336 c -0.94258,0.611849 -1.75287,1.223698 -2.43086,1.835547 -1.21639,-4.400349 7.20052,-16.248511 12.05508,-21.480859 4.15065,-4.415235 8.53281,-8.003646 13.14648,-10.765234 z" />
|
|
140
|
-
</g>
|
|
141
|
-
<text
|
|
142
|
-
transform="scale(0.99789547,1.002109)"
|
|
143
|
-
xml:space="preserve"
|
|
144
|
-
style="font-style:normal;font-weight:normal;font-size:189.07px;line-height:1.25;font-family:sans-serif;fill:#538d43;fill-opacity:1;stroke:none;stroke-width:0.984736"
|
|
145
|
-
x="-11.659009"
|
|
146
|
-
y="150.47635"
|
|
147
|
-
id="text2766"><tspan
|
|
148
|
-
sodipodi:role="line"
|
|
149
|
-
id="tspan2764"
|
|
150
|
-
x="-11.659009"
|
|
151
|
-
y="150.47635"
|
|
152
|
-
style="font-size:189.07px;fill:#538d43;fill-opacity:1;stroke-width:0.984736">🗸</tspan></text>
|
|
153
|
-
</g>
|
|
154
|
-
</svg>
|