rooibos-roku 5.15.7 → 5.16.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.
Files changed (44) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cli.js +2 -1
  3. package/dist/lib/framework/components/rooibos/CodeCoverage.brs +44 -0
  4. package/dist/lib/framework/components/rooibos/CodeCoverage.xml +2 -4
  5. package/dist/lib/framework/components/rooibos/RooibosNodeCreator.brs +9 -0
  6. package/dist/lib/framework/components/rooibos/RooibosNodeCreator.xml +6 -0
  7. package/dist/lib/framework/components/rooibos/RooibosScene.xml +12 -48
  8. package/dist/lib/framework/source/rooibos/BaseTestReporter.bs +96 -96
  9. package/dist/lib/framework/source/rooibos/BaseTestSuite.bs +2602 -2730
  10. package/dist/lib/framework/source/rooibos/CodeCoverageSupport.brs +50 -52
  11. package/dist/lib/framework/source/rooibos/CommonUtils.bs +834 -825
  12. package/dist/lib/framework/source/rooibos/ConsoleTestReporter.bs +227 -231
  13. package/dist/lib/framework/source/rooibos/Coverage.bs +142 -142
  14. package/dist/lib/framework/source/rooibos/JUnitTestReporter.bs +86 -87
  15. package/dist/lib/framework/source/rooibos/Matchers.bs +24 -27
  16. package/dist/lib/framework/source/rooibos/MochaTestReporter.bs +937 -937
  17. package/dist/lib/framework/source/rooibos/Rooibos.bs +91 -91
  18. package/dist/lib/framework/source/rooibos/RuntimeConfig.bs +24 -20
  19. package/dist/lib/framework/source/rooibos/Stats.bs +45 -43
  20. package/dist/lib/framework/source/rooibos/Test.bs +197 -192
  21. package/dist/lib/framework/source/rooibos/TestGroup.bs +268 -271
  22. package/dist/lib/framework/source/rooibos/TestResult.bs +96 -96
  23. package/dist/lib/framework/source/rooibos/TestRunner.bs +305 -299
  24. package/dist/lib/framework/source/rooibos/Utils.bs +65 -59
  25. package/dist/lib/rooibos/Annotation.js +7 -11
  26. package/dist/lib/rooibos/CodeCoverageProcessor.js +0 -2
  27. package/dist/lib/rooibos/FileFactory.js +2 -2
  28. package/dist/lib/rooibos/MockUtil.js +9 -16
  29. package/dist/lib/rooibos/RawCodeExpression.js +1 -2
  30. package/dist/lib/rooibos/RooibosSession.js +3 -3
  31. package/dist/lib/rooibos/RooibosSessionInfo.js +8 -6
  32. package/dist/lib/rooibos/TestCase.js +2 -8
  33. package/dist/lib/rooibos/TestGroup.js +38 -40
  34. package/dist/lib/rooibos/TestSuite.js +5 -4
  35. package/dist/lib/rooibos/TestSuiteBuilder.js +0 -3
  36. package/dist/lib/rooibos/Utils.js +60 -36
  37. package/dist/plugin.js +1 -1
  38. package/package.json +14 -12
  39. package/dist/lib/framework/source/rooibos/CodeCoverage.brs +0 -44
  40. package/nested-ci/CHANGELOG.md +0 -11
  41. package/nested-ci/LICENSE +0 -21
  42. package/nested-ci/README.md +0 -157
  43. package/nested-ci/package-lock.json +0 -7339
  44. package/nested-ci/package.json +0 -31
package/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
 
8
8
 
9
+ ## [5.16.0](https://github.com/rokucommunity/rooibos/compare/5.15.7...v5.16.0) - 2026-05-01
10
+ ### Changed
11
+ - upgade to [brighterscript@0.72.0](https://github.com/rokucommunity/brighterscript/blob/master/CHANGELOG.md#0720---2026-04-30). This finally fixes the blocking bug, allowing devs to upgrade to latest bsc again
12
+ - chore: add and implement linting rules ([#338](https://github.com/rokucommunity/rooibos/pull/338))
13
+ - chore: stricter linting for TypeScript ([#343](https://github.com/rokucommunity/rooibos/pull/343))
14
+ - chore: shared CI Support Prerelease ([#341](https://github.com/rokucommunity/rooibos/pull/341), [#339](https://github.com/rokucommunity/rooibos/pull/339))
15
+ - upgrade to [roku-debug@0.23.6](https://github.com/rokucommunity/roku-debug/blob/master/CHANGELOG.md#0236---2026-04-30).
16
+ - upgrade to [roku-deploy@3.17.1](https://github.com/rokucommunity/roku-deploy/blob/master/CHANGELOG.md#3171---2026-04-27)
17
+ - upgrade to [@rokucommunity/bslint@0.8.41](https://github.com/rokucommunity/bslint/blob/master/CHANGELOG.md#0841---2026-03-25)
18
+ - upgrade to [ropm@0.11.5](https://github.com/rokucommunity/ropm/blob/master/CHANGELOG.md#0115---2026-03-24)
19
+ ### Fixed
20
+ - Fix bug where genreated nodes were not always being created on the render thread ([#367](https://github.com/rokucommunity/rooibos/pull/367))
21
+ - Fix missing floating point precision and incorrect failure states ([#352](https://github.com/rokucommunity/rooibos/pull/352))
22
+ - Fix method creation bug when bsc version is newer than version from rooibos ([#358](https://github.com/rokucommunity/rooibos/pull/358))
23
+ - Fixed a crash when searching for assertions to rewrite ([#347](https://github.com/rokucommunity/rooibos/pull/347))
24
+ - Fixed a runtime crash in the mocha reporting when generating diffs ([#345](https://github.com/rokucommunity/rooibos/pull/345))
25
+
26
+
27
+
9
28
  ## [5.15.7](https://github.com/rokucommunity/rooibos/compare/v5.15.6...v5.15.7) - 2025-04-16
10
29
  ### Changed
11
30
  - (chore) adopt keepachangelog format for this changelog fle moving forward
package/dist/cli.js CHANGED
@@ -14,6 +14,7 @@ let options = yargs
14
14
  .option('password', { type: 'string', description: 'Password of the Roku device to connect to. Overrides value in bsconfig file.' })
15
15
  .option('log-level', { type: 'string', defaultDescription: '"log"', description: 'The log level. Value can be "error", "warn", "log", "info", "debug".' })
16
16
  .check((argv) => {
17
+ var _a;
17
18
  if (!argv.host) {
18
19
  return new Error('You must provide a host. (--host)');
19
20
  }
@@ -23,7 +24,7 @@ let options = yargs
23
24
  if (!argv.project) {
24
25
  console.log('No project file specified. Using "./bsconfig.json"');
25
26
  }
26
- let bsconfigPath = argv.project || './bsconfig.json';
27
+ let bsconfigPath = (_a = argv.project) !== null && _a !== void 0 ? _a : './bsconfig.json';
27
28
  if (!fs.existsSync(bsconfigPath)) {
28
29
  return new Error(`Unable to load ${bsconfigPath}`);
29
30
  }
@@ -0,0 +1,44 @@
1
+ ' @ignore
2
+ function init()
3
+ m.resolvedMap = {}
4
+ m.top.observeField("entry", "onEntryChange")
5
+ m.top.observeField("save", "onSave")
6
+ m.results = []
7
+ end function
8
+
9
+ ' @ignore
10
+ function setExpectedMap()
11
+ m.top.expectedMap = "#EXPECTED_MAP#"
12
+ end function
13
+
14
+ ' @ignore
15
+ function setFilePathMap()
16
+ m.top.filePathMap = "#FILE_PATH_MAP#"
17
+ end function
18
+
19
+ ' @ignore
20
+ function onEntryChange()
21
+ entry = m.top.entry
22
+ ' defer till later
23
+ m.results.push(entry)
24
+ end function
25
+
26
+ ' @ignore
27
+ function onSave()
28
+ ? "saving data"
29
+ for each entry in m.results
30
+ if entry <> invalid then
31
+ fileId = entry.f
32
+ lineMap = m.resolvedMap[fileId]
33
+
34
+ if lineMap = invalid then
35
+ lineMap = {}
36
+ m.resolvedMap[fileId] = lineMap
37
+ end if
38
+ lineMap[entry.l] = entry.r
39
+ end if
40
+ end for
41
+ m.top.resolvedMap = m.resolvedMap
42
+ setExpectedMap()
43
+ setFilePathMap()
44
+ end function
@@ -1,8 +1,6 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <component name="CodeCoverage"
3
- extends="ContentNode"
4
- >
1
+ <component name="CodeCoverage" extends="ContentNode">
5
2
  <script type="text/brightscript" uri="CodeCoverage.brs" />
3
+
6
4
  <interface>
7
5
  <field id="entry" type="assocarray" />
8
6
  <field id="save" type="boolean" />
@@ -0,0 +1,9 @@
1
+ function Init()
2
+ ' Forces the current node to become owned by the render thread
3
+ m.global.update({ "__rooibos_node_creator": m.top }, true)
4
+ m.global.removeField("__rooibos_node_creator")
5
+ end function
6
+
7
+ function CreateNode(nodeName as dynamic, parent as dynamic) as dynamic
8
+ return parent.CreateChild(nodeName)
9
+ end function
@@ -0,0 +1,6 @@
1
+ <component name="RooibosNodeCreator" extends="Node">
2
+ <script type="text/brightscript" uri="RooibosNodeCreator.brs" />
3
+ <interface>
4
+ <function name="CreateNode" />
5
+ </interface>
6
+ </component>
@@ -1,50 +1,14 @@
1
- <component
2
- name='RooibosScene'
3
- extends='Scene'>
4
- <interface>
5
- <function name='Rooibos_CreateTestNode' />
6
- </interface>
1
+ <component name='RooibosScene' extends='Scene'>
2
+ <interface>
3
+ <function name='Rooibos_CreateTestNode' />
4
+ </interface>
7
5
 
8
- <!-- <script
9
- type='text/brighterscript'
10
- uri='source/rooibos/BaseTestSuite.bs' />
11
- <script
12
- type='text/brighterscript'
13
- uri='source/rooibos/CommonUtils.bs' />
14
- <script
15
- type='text/brighterscript'
16
- uri='source/rooibos/Coverage.bs' />
17
- <script
18
- type='text/brighterscript'
19
- uri='source/rooibos/Matchers.bs' />
20
- <script
21
- type='text/brighterscript'
22
- uri='source/rooibos/rooibos.bs' />
23
- <script
24
- type='text/brighterscript'
25
- uri='source/rooibos/RuntimeConfig.bs' />
26
- <script
27
- type='text/brighterscript'
28
- uri='source/rooibos/Stats.bs' />
29
- <script
30
- type='text/brighterscript'
31
- uri='source/rooibos/Test.bs' />
32
- <script
33
- type='text/brighterscript'
34
- uri='source/rooibos/TestGroup.bs' />
35
- <script
36
- type='text/brighterscript'
37
- uri='source/rooibos/TestLogger.bs' />
38
- <script
39
- type='text/brighterscript'
40
- uri='source/rooibos/TestResult.bs' />
41
- <script
42
- type='text/brighterscript'
43
- uri='source/rooibos/TestRunner.bs' /> -->
6
+ <script type='text/brighterscript' uri='pkg:/source/rooibos/TestRunner.bs' />
44
7
 
45
- <children>
46
- <LayoutGroup>
47
- <Label text='Rooibos tests are running' />
48
- </LayoutGroup>
49
- </children>
50
- </component>
8
+
9
+ <children>
10
+ <LayoutGroup>
11
+ <Label text='Rooibos tests are running' />
12
+ </LayoutGroup>
13
+ </children>
14
+ </component>
@@ -1,99 +1,99 @@
1
1
  namespace rooibos
2
2
 
3
- ' @ignore
4
- class BaseTestReporter
5
-
6
- public testRunner = invalid
7
- public config = invalid
8
- public allStats = invalid
9
- public colorizeOutput = false
10
-
11
- sub new(runner as dynamic)
12
- m.testRunner = runner
13
- m.config = runner.config
14
- m.allStats = runner.stats
15
- m.colorizeOutput = runner.config.colorizeOutput = true
16
- end sub
17
-
18
- sub onBegin(event as rooibos.TestReporterOnBeginEvent)
19
- 'override me
20
- rooibos.common.logDebug("BaseTestReporter.onBegin")
21
- end sub
22
-
23
- sub onSuiteBegin(event as rooibos.TestReporterOnSuiteBeginEvent)
24
- 'override me
25
- end sub
26
-
27
- sub onTestGroupBegin(event as rooibos.TestReporterOnTestGroupBeginEvent)
28
- 'override me
29
- end sub
30
-
31
- sub onTestBegin(event as rooibos.TestReporterOnTestBeginEvent)
32
- 'override me
33
- end sub
34
-
35
- sub onTestComplete(event as rooibos.TestReporterOnTestCompleteEvent)
36
- 'override me
37
- end sub
38
-
39
- sub onTestGroupComplete(event as rooibos.TestReporterOnTestGroupCompleteEvent)
40
- 'override me
41
- end sub
42
-
43
- sub onSuiteComplete(event as rooibos.TestReporterOnSuiteCompleteEvent)
44
- 'override me
45
- end sub
46
-
47
- sub onEnd(event as rooibos.TestReporterOnEndEvent)
48
- 'override me
49
- rooibos.common.logDebug("BaseTestReporter.onEnd")
50
- end sub
51
-
52
- end class
53
-
54
- ' @ignore
55
- interface TestReporterOnBeginEvent
56
- runner as rooibos.TestRunner
57
- end interface
58
-
59
- ' @ignore
60
- interface TestReporterOnSuiteBeginEvent
61
- suite as rooibos.BaseTestSuite
62
- end interface
63
-
64
- ' @ignore
65
- interface TestReporterOnTestGroupBeginEvent
66
- group as rooibos.TestGroup
67
- end interface
68
-
69
- ' @ignore
70
- interface TestReporterOnTestBeginEvent
71
- test as rooibos.Test
72
- end interface
73
-
74
- ' @ignore
75
- interface TestReporterOnTestCompleteEvent
76
- test as rooibos.Test
77
- end interface
78
-
79
- ' @ignore
80
- interface TestReporterOnTestGroupCompleteEvent
81
- group as rooibos.TestGroup
82
- end interface
83
-
84
- ' @ignore
85
- interface TestReporterOnSuiteCompleteEvent
86
- suite as rooibos.BaseTestSuite
87
- end interface
88
-
89
- ' @ignore
90
- ' @deprecated use rooibos.TestReporterOnEndEvent
91
- interface ITestReporterOnEndEvent
92
- stats as rooibos.Stats
93
- end interface
94
-
95
- ' @ignore
96
- interface TestReporterOnEndEvent
97
- stats as rooibos.Stats
98
- end interface
3
+ ' @ignore
4
+ class BaseTestReporter
5
+
6
+ public testRunner = invalid
7
+ public config = invalid
8
+ public allStats = invalid
9
+ public colorizeOutput = false
10
+
11
+ function new(runner as dynamic)
12
+ m.testRunner = runner
13
+ m.config = runner.config
14
+ m.allStats = runner.stats
15
+ m.colorizeOutput = runner.config.colorizeOutput = true
16
+ end function
17
+
18
+ function onBegin(event as rooibos.TestReporterOnBeginEvent)
19
+ 'override me
20
+ rooibos.common.logDebug("BaseTestReporter.onBegin")
21
+ end function
22
+
23
+ function onSuiteBegin(event as rooibos.TestReporterOnSuiteBeginEvent)
24
+ 'override me
25
+ end function
26
+
27
+ function onTestGroupBegin(event as rooibos.TestReporterOnTestGroupBeginEvent)
28
+ 'override me
29
+ end function
30
+
31
+ function onTestBegin(event as rooibos.TestReporterOnTestBeginEvent)
32
+ 'override me
33
+ end function
34
+
35
+ function onTestComplete(event as rooibos.TestReporterOnTestCompleteEvent)
36
+ 'override me
37
+ end function
38
+
39
+ function onTestGroupComplete(event as rooibos.TestReporterOnTestGroupCompleteEvent)
40
+ 'override me
41
+ end function
42
+
43
+ function onSuiteComplete(event as rooibos.TestReporterOnSuiteCompleteEvent)
44
+ 'override me
45
+ end function
46
+
47
+ function onEnd(event as rooibos.TestReporterOnEndEvent)
48
+ 'override me
49
+ rooibos.common.logDebug("BaseTestReporter.onEnd")
50
+ end function
51
+
52
+ end class
53
+
54
+ ' @ignore
55
+ interface TestReporterOnBeginEvent
56
+ runner as rooibos.TestRunner
57
+ end interface
58
+
59
+ ' @ignore
60
+ interface TestReporterOnSuiteBeginEvent
61
+ suite as rooibos.BaseTestSuite
62
+ end interface
63
+
64
+ ' @ignore
65
+ interface TestReporterOnTestGroupBeginEvent
66
+ group as rooibos.TestGroup
67
+ end interface
68
+
69
+ ' @ignore
70
+ interface TestReporterOnTestBeginEvent
71
+ test as rooibos.Test
72
+ end interface
73
+
74
+ ' @ignore
75
+ interface TestReporterOnTestCompleteEvent
76
+ test as rooibos.Test
77
+ end interface
78
+
79
+ ' @ignore
80
+ interface TestReporterOnTestGroupCompleteEvent
81
+ group as rooibos.TestGroup
82
+ end interface
83
+
84
+ ' @ignore
85
+ interface TestReporterOnSuiteCompleteEvent
86
+ suite as rooibos.BaseTestSuite
87
+ end interface
88
+
89
+ ' @ignore
90
+ ' @deprecated use rooibos.TestReporterOnEndEvent
91
+ interface ITestReporterOnEndEvent
92
+ stats as rooibos.Stats
93
+ end interface
94
+
95
+ ' @ignore
96
+ interface TestReporterOnEndEvent
97
+ stats as rooibos.Stats
98
+ end interface
99
99
  end namespace