Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beta #121

Merged
merged 87 commits into from
May 18, 2021
Merged

Beta #121

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
81b9e8f
first stab at moving over to ropm
georgejecook Sep 27, 2020
3bba97a
rewrite for rooibos v4
georgejecook Sep 28, 2020
3ac11bd
groups are back
georgejecook Sep 28, 2020
32faa19
refactoring to reflect new plugin-driven pattenr
georgejecook Oct 4, 2020
bc1398a
rename get all method
georgejecook Oct 5, 2020
81f4ed9
tweaks running
georgejecook Oct 5, 2020
e171a33
imports plugin code into main repo - the framework and plugin sitting…
georgejecook Oct 13, 2020
3804b07
moves stub project to plugin tests
georgejecook Oct 14, 2020
3badb61
more moving stuff about; fixing runtime problems after overhaul
georgejecook Oct 15, 2020
cab1266
adds linting and testing setup. Thanks Bronley Plumb
georgejecook Oct 15, 2020
879076b
fixes annotation issues caused by reflection
georgejecook Oct 15, 2020
30cfd5a
adds a bunch of tests for basic annotation, suite, group parsing
georgejecook Oct 15, 2020
004a917
fixes remaining group tag tests
georgejecook Oct 15, 2020
96d9cd8
adds param parsing tests
georgejecook Oct 15, 2020
9621510
various fixes - expects can now do 15 args
georgejecook Oct 23, 2020
ab03990
feat(logs): Adds settings for controlling log ouput width
georgejecook Oct 24, 2020
88b0b96
chore(build):Use correct bsc
georgejecook Oct 24, 2020
d214a9f
fix(assertions): Fix missing message
georgejecook Oct 24, 2020
6144cc2
feat(mocks): Can now include 15 params
georgejecook Oct 24, 2020
9b098a3
chore(tests): misc changes to tests project
georgejecook Oct 24, 2020
bf24bc5
minor fixes
georgejecook Nov 12, 2020
86b8f18
minor fixes
georgejecook Nov 12, 2020
ede613c
fixes various compiler issues
georgejecook Jan 5, 2021
ea6652b
updated documentation
georgejecook Jan 5, 2021
a1884aa
updateds to use sync api in bs
georgejecook Jan 18, 2021
06dd016
fixes runtime crash
georgejecook Jan 21, 2021
72e14dc
tidies up project, and adds plugin tests
georgejecook Jan 22, 2021
d5bbf19
finally fixes linting issue
georgejecook Jan 22, 2021
b2370a1
fixes missing roku-deploy
georgejecook Jan 22, 2021
1b42315
adds missing nyc package
georgejecook Jan 22, 2021
8e24fe7
add github workflow
georgejecook Jan 22, 2021
cdebce2
Merge branch 'master' into beta
georgejecook Jan 22, 2021
b1f3256
updated to latest bsc
georgejecook Jan 22, 2021
9fc55e4
updated to latest bsc
georgejecook Jan 22, 2021
79b804f
adds ability to inject main when none is present (to make it easier t…
georgejecook Jan 22, 2021
363b62c
remove erroneous duplicate files that got in via a merge
georgejecook Jan 22, 2021
6a2dbb7
fix linting error
georgejecook Jan 22, 2021
bcc32b9
linting fixes
georgejecook Jan 23, 2021
4edd61c
can filter the files to process for unit test searching
georgejecook Jan 23, 2021
7788db5
imrpoves log output with better file links
georgejecook Jan 23, 2021
2f8d58f
minor tweak to line numbers
georgejecook Jan 23, 2021
e12be0c
no longer have to type method names for tests - the annotation name i…
georgejecook Jan 23, 2021
a74811c
fixes @ignore not working, and improves tag behaviour
georgejecook Feb 2, 2021
56d0063
fixes tests
georgejecook Feb 9, 2021
3ee9dd2
some project tidying
georgejecook Feb 9, 2021
e4e62c0
tidy up package, remove test project
georgejecook Feb 9, 2021
3d03577
add support for catching crashes
georgejecook Feb 10, 2021
ecf69ab
update package version
georgejecook Feb 10, 2021
5c3758b
fixes @nocatch annottation
georgejecook Feb 11, 2021
b33f1dc
fixes @nocatch annottation again
georgejecook Feb 11, 2021
0033512
feat:adds crash resistence to suite functions like beforeEach and aft…
georgejecook Feb 11, 2021
f80d19b
feat: improves handling of errors in assertions
georgejecook Feb 12, 2021
54a8c38
fix couple of minor issues in reporting
georgejecook Feb 15, 2021
12e146e
version bounce
georgejecook Feb 15, 2021
35ac8ae
version bounce
georgejecook Feb 15, 2021
32dc45f
fix: fixes crash in console report
georgejecook Feb 16, 2021
b6c1537
version bounce
georgejecook Feb 16, 2021
d95a506
bunch of fixes
georgejecook Feb 23, 2021
f349941
bump to 4.1.1
georgejecook Feb 23, 2021
c033761
adds scripts for easy remote/local npm switching
georgejecook Feb 24, 2021
7d2c187
compile against latest bsc
georgejecook Mar 1, 2021
58d3c7a
doc improvements
georgejecook Mar 2, 2021
d5dcfbc
update docs
georgejecook Mar 3, 2021
d0cc5fe
update docs
georgejecook Mar 3, 2021
b9e184d
adds setFields to mockNode
georgejecook Mar 4, 2021
01b2b95
doc update
georgejecook Mar 4, 2021
715aed1
adds info on missing tags and options
georgejecook Mar 7, 2021
717777d
fixes issue that caused strange breakpoint behaviour on assertions
georgejecook Mar 7, 2021
ef0fa97
more doc improvements
georgejecook Mar 7, 2021
297836b
fix(plugin): Update to bsc 37.4
georgejecook Apr 22, 2021
e2fd357
feat(TestSuite): Adds @noearlyexit annotation, to allow unit tests to…
georgejecook Apr 22, 2021
867acc9
fix(plugin): Fixes node class generation
georgejecook Apr 22, 2021
7008e9d
fix(framework): Fixes framework tests
georgejecook Apr 22, 2021
fd8b43c
fix(ConsoleTestReporter): Fixes issue that showed success/fail messag…
georgejecook Apr 22, 2021
fe1d2f4
docs: Adds docs for @noEarlyExit
georgejecook Apr 22, 2021
a5dc306
version bump
georgejecook Apr 22, 2021
530dd06
show crash count in output
georgejecook Apr 22, 2021
92f05a8
chore: indentation fix
georgejecook Apr 23, 2021
ac24938
chore: ignore dist folder
georgejecook Apr 23, 2021
f1aa90d
chore(build): adds launch tasks for tests in base project
georgejecook Apr 23, 2021
5fb340c
try to fix bsc-yml
georgejecook Apr 30, 2021
65feb83
try to fix bsc-yml
georgejecook Apr 30, 2021
4a0169b
try to fix bsc-yml
georgejecook Apr 30, 2021
cf5fcdd
try to fix bsc-yml
georgejecook Apr 30, 2021
34084d2
try to fix bsc-yml
georgejecook Apr 30, 2021
5b1aaad
improves default config, ensures times are printed on tests
georgejecook May 18, 2021
73a1cf3
Merge branch 'beta' of github.com:georgejecook/rooibos into beta
georgejecook May 18, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,11 @@ rooibosDist.brs
yarn.lock
yarn-error.log
/outRun/
node_modules/
out
**/roku_modules/
package-lock.json

!.vscode
.vscode/.env
dist/
6 changes: 3 additions & 3 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"consoleOutput": "full",
"internalConsoleOptions": "neverOpen",
"preLaunchTask": "build-tests",
"envFile": "${workspaceFolder}/frameworkTests/.vscode/.env",
"envFile": "${workspaceFolder}/tests/.vscode/.env",
"host": "${env:ROKU_DEV_TARGET}",
"password": "${env:ROKU_DEVPASSWORD}",
"retainStagingFolder": true,
Expand All @@ -24,9 +24,9 @@
"!*.zip",
"!**/*.zip"
],
"rootDir": "${workspaceFolder}/frameworkTests/build",
"rootDir": "${workspaceFolder}/tests/build",
"sourceDirs": [
"${workspaceFolder}/frameworkTests/src",
"${workspaceFolder}/tests/src",
],
"enableDebuggerAutoRecovery": true,
"stopDebuggerOnAppExit": true,
Expand Down
20 changes: 10 additions & 10 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"jira-plugin.workingProject": "",
"workbench.colorCustomizations": {
"statusBar.background": "#551A8B",
"statusBar.debuggingBackground": "#551A8B",
"panelTitle.activeBorder": "#ff0000",
"activityBar.background": "#452613",
"titleBar.activeBackground": "#61351A",
"titleBar.activeForeground": "#FDFAF9"
}
{
"jira-plugin.workingProject": "",
"workbench.colorCustomizations": {
"statusBar.background": "#551A8B",
"statusBar.debuggingBackground": "#551A8B",
"panelTitle.activeBorder": "#ff0000",
"activityBar.background": "#143141",
"titleBar.activeBackground": "#1D445B",
"titleBar.activeForeground": "#F7FBFD"
}
}
18 changes: 0 additions & 18 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,6 @@
"kind": "test",
"isDefault": true
}
},
{
"label": "build-tests-with-coverage",
"type": "shell",
"command": "gulp build && cd frameworkTests && export TS_NODE_COMPILER_OPTIONS='{\"incremental\":true, \"allowJs\":false}' && export TS_NODE_TRANSPILE_ONLY=true && gulp prepareCodeCoverageTests",
"problemMatcher": [],
"presentation": {
"echo": true,
"reveal": "silent",
"focus": false,
"panel": "shared",
"showReuseMessage": false,
"clear": true
},
"group": {
"kind": "test",
"isDefault": true
}
}
]
}
456 changes: 191 additions & 265 deletions CHANGELOG.md

Large diffs are not rendered by default.

25 changes: 6 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,16 @@
<img src="images/logo.png" alt="Rooibos test framework" width="200" height="200"/>
</p>
<h3 align="center">
Simple, mocha-inspired, flexible, fun Brightscript test framework for ROKU apps
Simple, mocha-and junit inspired, flexible, fun Brightscript test framework for ROKU apps
</h3>
<p align="center">
<img src="images/exampleImage.png" alt="Mocha test framework" />
</p>

[![Build Status](https://travis-ci.org/georgejecook/rooibos.svg?branch=master)](https://travis-ci.org/georgejecook/rooibos)
[![GitHub](https://img.shields.io/github/release/georgejecook/rooibos.svg?style=flat-square)](https://github.com/georgejecook/rooibos/releases)
[![GitHub](https://img.shields.io/github/release/georgejecook/rooibos.svg?style=flat-square)](https://github.com/georgejecook/rooibos/releases)

## Links
- **[Youtube training videos](https://www.youtube.com/playlist?list=PLJRLV4QDx83vsYMD9bIs-cjoDXmNmO8Jv)**
- **[Documentation](docs/index.md)**
- **[API Documentaiton](https://georgejecook.github.io/rooibos)**
- **[CHANGELOG](CHANGELOG.md)**
Expand All @@ -37,25 +36,13 @@ Also thanks to the guys who made and maintain [mochaJs](https://mochajs.org/), o
## FAQ
### Is Rooibos ready for production use?

Rooibos is the test framework used by several of my clients, running CI with over 3000 tests between them. It started life as rewrite of the official roku unit testing framework, which has been in circulation for several years.
Yes, it's been used in production by quite a few folks, I'll provide a list in due-course; but there are 1000's of tests in production in some very respectable companies.


### Is Rooibos actively maintained?

I am actively invovled in Rooibos's development, and add more features and fixes on a weekly basis. You can expect rapid responses to issues.
I love rooibos, and always keep it up to date. I use it all the time.

### Why did you not just merge back your changes to roku's unit testing framework
### Why 4.0.0?

1. It does rewrite quite a lot of the original unit test framework code, so I doubt that roku would've merged it all back any time soon
2. It's conceptually entirely different: e.g. using annotations instead of naming conventions and boiler-plate code, completely different test reporting output, assertions and test cases maintain their own state, runs in a scenegraph scene, to name but a few
3. It has many more features than the original framework, not limited to : node specific assertions, exact assertion line failure reporting, better error messaging, easier setup, groupings, only and ignore for tests, mocks and stubs, etc, etc
4. Being completely frank, I enjoy roku work and want to do more of it, so it's useful to me to own this project, rather than lose control and wait on other's to merge my changes. On that note, email me at george[AT]tantawowa.com, or pm me (georgejecook) on the roku slack group to discuss any roku development requirements
5. I poured a _lot_ of work into the project (> 100 hours and counting), and expect to continue to do so. If I own the project, then I can do what I want, when I want. That goes for you guys as well, so get in touch with feature requests and PR's :)

### Is Rooibos itself unit tested?

At this point, it's WIP. I keep adding tests as bugs come up, and will continue to improve the test coverage.

### Why 2.0.0?

The latest version of Rooibos introduces a preprocessor which is a requirement for running all tests. I thought that was a significant enough departure to warrant a whole version bump.
Rooibos now uses the excellent bsc compiler plugin mechanism to seamlessly integrate with the compiler and the vscode IDE extension. This is a breaking change - projects will require updates to work.
26 changes: 0 additions & 26 deletions ROADMAP.md

This file was deleted.

1 change: 0 additions & 1 deletion VERSION

This file was deleted.

Loading