rooibos-roku 4.6.1 → 4.7.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.
|
@@ -1576,8 +1576,9 @@ namespace rooibos
|
|
|
1576
1576
|
end if
|
|
1577
1577
|
m.__stubId++
|
|
1578
1578
|
|
|
1579
|
-
if m.__stubId >
|
|
1580
|
-
? "ERROR ONLY
|
|
1579
|
+
if m.__stubId > 25
|
|
1580
|
+
? "ERROR ONLY 25 MOCKS PER TEST ARE SUPPORTED!! you're on # " ; m.__mockId
|
|
1581
|
+
? " Method was " ; methodName
|
|
1581
1582
|
return invalid
|
|
1582
1583
|
end if
|
|
1583
1584
|
|
|
@@ -1591,9 +1592,10 @@ namespace rooibos
|
|
|
1591
1592
|
target[methodName] = m["StubCallback" + id]
|
|
1592
1593
|
target.__stubs = m.stubs
|
|
1593
1594
|
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1595
|
+
' FIXME: add a log setting for this - and add better detection so that stubs know that they are colliding/don't exist/have correct sigs
|
|
1596
|
+
' if not isMethodPresent
|
|
1597
|
+
' ? "WARNING - stubbing call " ; methodName; " which did not exist on target object"
|
|
1598
|
+
' end if
|
|
1597
1599
|
else
|
|
1598
1600
|
? "ERROR - could not create Stub : method not found "; target ; "." ; methodName
|
|
1599
1601
|
end if
|
|
@@ -1601,6 +1603,55 @@ namespace rooibos
|
|
|
1601
1603
|
return fake
|
|
1602
1604
|
end function
|
|
1603
1605
|
|
|
1606
|
+
function expectCalled(invocation as dynamic, returnValue = invalid as dynamic) as object
|
|
1607
|
+
'mock function body - the plugin replaces this
|
|
1608
|
+
return invalid
|
|
1609
|
+
end function
|
|
1610
|
+
|
|
1611
|
+
function _expectCalled(target, methodName, expectedArgs = invalid, returnValue = invalid as dynamic) as object
|
|
1612
|
+
try
|
|
1613
|
+
return m.mock(target, methodName, 1, expectedArgs, returnValue, true)
|
|
1614
|
+
catch error
|
|
1615
|
+
'bs:disable-next-line
|
|
1616
|
+
m.currentResult.fail("Setting up mock failed: " + error.message, m.currentAssertLineNumber)
|
|
1617
|
+
return false
|
|
1618
|
+
end try
|
|
1619
|
+
return false
|
|
1620
|
+
end function
|
|
1621
|
+
|
|
1622
|
+
function stubCall(invocation as dynamic, returnValue = invalid as dynamic) as object
|
|
1623
|
+
'mock function body - the plugin replaces this
|
|
1624
|
+
return invalid
|
|
1625
|
+
end function
|
|
1626
|
+
|
|
1627
|
+
function _stubCall(target, methodName, returnValue = invalid as dynamic) as object
|
|
1628
|
+
try
|
|
1629
|
+
return m.stub(target, methodName, returnValue, true)
|
|
1630
|
+
catch error
|
|
1631
|
+
'bs:disable-next-line
|
|
1632
|
+
m.currentResult.fail("Setting up mock failed: " + error.message, m.currentAssertLineNumber)
|
|
1633
|
+
return false
|
|
1634
|
+
end try
|
|
1635
|
+
return false
|
|
1636
|
+
end function
|
|
1637
|
+
|
|
1638
|
+
function expectNotCalled(invocation as dynamic) as object
|
|
1639
|
+
'mock function body - the plugin replaces this
|
|
1640
|
+
return invalid
|
|
1641
|
+
end function
|
|
1642
|
+
|
|
1643
|
+
function _expectNotCalled(target, methodName) as object
|
|
1644
|
+
try
|
|
1645
|
+
return m.mock(target, methodName, 0, invalid, invalid, true)
|
|
1646
|
+
catch error
|
|
1647
|
+
'bs:disable-next-line
|
|
1648
|
+
m.currentResult.fail("Setting up mock failed: " + error.message, m.currentAssertLineNumber)
|
|
1649
|
+
return false
|
|
1650
|
+
end try
|
|
1651
|
+
return false
|
|
1652
|
+
end function
|
|
1653
|
+
|
|
1654
|
+
|
|
1604
1655
|
' /**
|
|
1605
1656
|
' * @memberof module:BaseTestSuite
|
|
1606
1657
|
' * @name expectOnce
|
|
@@ -2062,6 +2113,127 @@ namespace rooibos
|
|
|
2062
2113
|
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2063
2114
|
end function
|
|
2064
2115
|
|
|
2116
|
+
function stubCallback6(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2117
|
+
'bs:disable-next-line
|
|
2118
|
+
fake = m.__Stubs["6"]
|
|
2119
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2120
|
+
end function
|
|
2121
|
+
|
|
2122
|
+
function stubCallback7(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2123
|
+
'bs:disable-next-line
|
|
2124
|
+
fake = m.__Stubs["7"]
|
|
2125
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2126
|
+
end function
|
|
2127
|
+
|
|
2128
|
+
function stubCallback8(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2129
|
+
'bs:disable-next-line
|
|
2130
|
+
fake = m.__Stubs["8"]
|
|
2131
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2132
|
+
end function
|
|
2133
|
+
|
|
2134
|
+
function stubCallback9(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2135
|
+
'bs:disable-next-line
|
|
2136
|
+
fake = m.__Stubs["9"]
|
|
2137
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2138
|
+
end function
|
|
2139
|
+
|
|
2140
|
+
function stubCallback10(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2141
|
+
'bs:disable-next-line
|
|
2142
|
+
fake = m.__Stubs["10"]
|
|
2143
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2144
|
+
end function
|
|
2145
|
+
|
|
2146
|
+
function stubCallback11(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2147
|
+
'bs:disable-next-line
|
|
2148
|
+
fake = m.__Stubs["11"]
|
|
2149
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2150
|
+
end function
|
|
2151
|
+
|
|
2152
|
+
function stubCallback12(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2153
|
+
'bs:disable-next-line
|
|
2154
|
+
fake = m.__Stubs["12"]
|
|
2155
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2156
|
+
end function
|
|
2157
|
+
|
|
2158
|
+
function stubCallback13(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2159
|
+
'bs:disable-next-line
|
|
2160
|
+
fake = m.__Stubs["13"]
|
|
2161
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2162
|
+
end function
|
|
2163
|
+
|
|
2164
|
+
function stubCallback14(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2165
|
+
'bs:disable-next-line
|
|
2166
|
+
fake = m.__Stubs["14"]
|
|
2167
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2168
|
+
end function
|
|
2169
|
+
|
|
2170
|
+
function stubCallback15(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2171
|
+
'bs:disable-next-line
|
|
2172
|
+
fake = m.__Stubs["15"]
|
|
2173
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2174
|
+
end function
|
|
2175
|
+
|
|
2176
|
+
function stubCallback16(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2177
|
+
'bs:disable-next-line
|
|
2178
|
+
fake = m.__Stubs["16"]
|
|
2179
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2180
|
+
end function
|
|
2181
|
+
|
|
2182
|
+
function stubCallback17(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2183
|
+
'bs:disable-next-line
|
|
2184
|
+
fake = m.__Stubs["17"]
|
|
2185
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2186
|
+
end function
|
|
2187
|
+
|
|
2188
|
+
function stubCallback18(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2189
|
+
'bs:disable-next-line
|
|
2190
|
+
fake = m.__Stubs["18"]
|
|
2191
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2192
|
+
end function
|
|
2193
|
+
|
|
2194
|
+
function stubCallback19(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2195
|
+
'bs:disable-next-line
|
|
2196
|
+
fake = m.__Stubs["19"]
|
|
2197
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2198
|
+
end function
|
|
2199
|
+
|
|
2200
|
+
function stubCallback20(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2201
|
+
'bs:disable-next-line
|
|
2202
|
+
fake = m.__Stubs["20"]
|
|
2203
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2204
|
+
end function
|
|
2205
|
+
|
|
2206
|
+
function stubCallback21(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2207
|
+
'bs:disable-next-line
|
|
2208
|
+
fake = m.__Stubs["21"]
|
|
2209
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2210
|
+
end function
|
|
2211
|
+
|
|
2212
|
+
function stubCallback22(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2213
|
+
'bs:disable-next-line
|
|
2214
|
+
fake = m.__Stubs["22"]
|
|
2215
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2216
|
+
end function
|
|
2217
|
+
|
|
2218
|
+
function stubCallback23(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2219
|
+
'bs:disable-next-line
|
|
2220
|
+
fake = m.__Stubs["23"]
|
|
2221
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2222
|
+
end function
|
|
2223
|
+
|
|
2224
|
+
function stubCallback24(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2225
|
+
'bs:disable-next-line
|
|
2226
|
+
fake = m.__Stubs["24"]
|
|
2227
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2228
|
+
end function
|
|
2229
|
+
|
|
2230
|
+
function stubCallback25(arg1 = invalid, arg2 = invalid, arg3 = invalid, arg4 = invalid, arg5 = invalid, arg6 = invalid, arg7 = invalid, arg8 = invalid, arg9 = invalid, arg10 = invalid, arg11 = invalid, arg12 = invalid, arg13 = invalid, arg14 = invalid, arg15 = invalid) as dynamic
|
|
2231
|
+
'bs:disable-next-line
|
|
2232
|
+
fake = m.__Stubs["25"]
|
|
2233
|
+
return fake.callback(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15)
|
|
2234
|
+
end function
|
|
2235
|
+
|
|
2236
|
+
|
|
2065
2237
|
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
2066
2238
|
'++ Fake Mock callback functions - this is required to get scope
|
|
2067
2239
|
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
@@ -51,6 +51,7 @@ namespace rooibos
|
|
|
51
51
|
failedText = ""
|
|
52
52
|
i = 0
|
|
53
53
|
numSuites = suiteNames.count()
|
|
54
|
+
testSuite = invalid
|
|
54
55
|
for each name in suiteNames
|
|
55
56
|
i++
|
|
56
57
|
'bs:disable-next-line
|
|
@@ -90,6 +91,10 @@ namespace rooibos
|
|
|
90
91
|
testSuite.scene.statusColor = "#238636"
|
|
91
92
|
end if
|
|
92
93
|
|
|
94
|
+
if testSuite = invalid
|
|
95
|
+
m.nodeContext.global.testsScene.failedText = "No tests were found"
|
|
96
|
+
end if
|
|
97
|
+
|
|
93
98
|
m.stats.time = timer.totalMilliseconds()
|
|
94
99
|
|
|
95
100
|
m.testReporter.reportResults(m.stats)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TestGroup = void 0;
|
|
4
4
|
const brighterscript_1 = require("brighterscript");
|
|
5
|
+
const brighterscript = require("brighterscript");
|
|
5
6
|
const BrsTranspileState_1 = require("brighterscript/dist/parser/BrsTranspileState");
|
|
6
7
|
const Diagnostics_1 = require("../utils/Diagnostics");
|
|
7
8
|
const RawCodeStatement_1 = require("./RawCodeStatement");
|
|
@@ -41,23 +42,32 @@ class TestGroup extends TestSuite_1.TestBlock {
|
|
|
41
42
|
const transpileState = new BrsTranspileState_1.BrsTranspileState(this.file);
|
|
42
43
|
try {
|
|
43
44
|
let func = this.testSuite.classStatement.methods.find((m) => m.name.text.toLowerCase() === testCase.funcName.toLowerCase());
|
|
44
|
-
func.walk(
|
|
45
|
-
ExpressionStatement: (
|
|
46
|
-
let
|
|
47
|
-
if (
|
|
48
|
-
let dge =
|
|
49
|
-
let assertRegex = /(?:fail|assert(?:[a-z0-9]*)|expect(?:[a-z0-9]*))/i;
|
|
45
|
+
func.walk(brighterscript.createVisitor({
|
|
46
|
+
ExpressionStatement: (expressionStatement) => {
|
|
47
|
+
let callExpression = expressionStatement.expression;
|
|
48
|
+
if (brighterscript.isCallExpression(callExpression) && brighterscript.isDottedGetExpression(callExpression.callee)) {
|
|
49
|
+
let dge = callExpression.callee;
|
|
50
|
+
let assertRegex = /(?:fail|assert(?:[a-z0-9]*)|expect(?:[a-z0-9]*)|stubCall)/i;
|
|
50
51
|
if (dge && assertRegex.test(dge.name.text)) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
if (dge.name.text === 'stubCall') {
|
|
53
|
+
this.modifyModernRooibosExpectCallExpression(callExpression);
|
|
54
|
+
return expressionStatement;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
if (dge.name.text === 'expectCalled' || dge.name.text === 'expectNotCalled') {
|
|
58
|
+
this.modifyModernRooibosExpectCallExpression(callExpression);
|
|
59
|
+
}
|
|
60
|
+
return new RawCodeStatement_1.RawCodeStatement(`
|
|
61
|
+
m.currentAssertLineNumber = ${callExpression.range.start.line}
|
|
62
|
+
${callExpression.transpile(transpileState).join('')}
|
|
63
|
+
${noEarlyExit ? '' : 'if m.currentResult.isFail then return invalid'}
|
|
64
|
+
`, this.file, callExpression.range);
|
|
65
|
+
}
|
|
56
66
|
}
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
}), {
|
|
60
|
-
walkMode:
|
|
70
|
+
walkMode: brighterscript.WalkMode.visitStatementsRecursive
|
|
61
71
|
});
|
|
62
72
|
}
|
|
63
73
|
catch (e) {
|
|
@@ -65,6 +75,52 @@ class TestGroup extends TestSuite_1.TestBlock {
|
|
|
65
75
|
Diagnostics_1.diagnosticErrorProcessingFile(this.testSuite.file, e.message);
|
|
66
76
|
}
|
|
67
77
|
}
|
|
78
|
+
modifyModernRooibosExpectCallExpression(callExpression) {
|
|
79
|
+
let isNotCalled = false;
|
|
80
|
+
let isStubCall = false;
|
|
81
|
+
if (brighterscript_1.isDottedGetExpression(callExpression.callee)) {
|
|
82
|
+
const nameText = callExpression.callee.name.text;
|
|
83
|
+
callExpression.callee.name.text = `_${nameText}`;
|
|
84
|
+
isNotCalled = nameText === 'expectNotCalled';
|
|
85
|
+
isStubCall = nameText === 'stubCall';
|
|
86
|
+
}
|
|
87
|
+
//modify args
|
|
88
|
+
let arg0 = callExpression.args[0];
|
|
89
|
+
if (brighterscript.isCallExpression(arg0) && brighterscript_1.isDottedGetExpression(arg0.callee)) {
|
|
90
|
+
let functionName = arg0.callee.name.text;
|
|
91
|
+
callExpression.args.shift();
|
|
92
|
+
if (!isNotCalled && !isStubCall) {
|
|
93
|
+
const expectedArgs = new brighterscript_1.ArrayLiteralExpression(arg0.args, brighterscript_1.createToken(brighterscript_1.TokenKind.LeftSquareBracket), brighterscript_1.createToken(brighterscript_1.TokenKind.RightSquareBracket));
|
|
94
|
+
callExpression.args.unshift(expectedArgs);
|
|
95
|
+
}
|
|
96
|
+
callExpression.args.unshift(brighterscript_1.createStringLiteral(functionName));
|
|
97
|
+
callExpression.args.unshift(arg0.callee.obj);
|
|
98
|
+
}
|
|
99
|
+
else if (brighterscript.isDottedGetExpression(arg0)) {
|
|
100
|
+
let functionName = arg0.name.text;
|
|
101
|
+
arg0 = callExpression.args.shift();
|
|
102
|
+
if (!isNotCalled && !isStubCall) {
|
|
103
|
+
callExpression.args.unshift(brighterscript_1.createInvalidLiteral());
|
|
104
|
+
}
|
|
105
|
+
callExpression.args.unshift(brighterscript_1.createStringLiteral(functionName));
|
|
106
|
+
callExpression.args.unshift(arg0.obj);
|
|
107
|
+
}
|
|
108
|
+
else if (brighterscript.isCallfuncExpression(arg0)) {
|
|
109
|
+
let functionName = arg0.methodName.text;
|
|
110
|
+
callExpression.args.shift();
|
|
111
|
+
if (isNotCalled || isStubCall) {
|
|
112
|
+
//TODO in future we can improve is notCalled to know which callFunc function it is
|
|
113
|
+
// const expectedArgs = new ArrayLiteralExpression([createStringLiteral(functionName)], createToken(TokenKind.LeftSquareBracket), createToken(TokenKind.RightSquareBracket));
|
|
114
|
+
// callExpression.args.unshift(expectedArgs);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const expectedArgs = new brighterscript_1.ArrayLiteralExpression([brighterscript_1.createStringLiteral(functionName), ...arg0.args], brighterscript_1.createToken(brighterscript_1.TokenKind.LeftSquareBracket), brighterscript_1.createToken(brighterscript_1.TokenKind.RightSquareBracket));
|
|
118
|
+
callExpression.args.unshift(expectedArgs);
|
|
119
|
+
}
|
|
120
|
+
callExpression.args.unshift(brighterscript_1.createStringLiteral('callFunc'));
|
|
121
|
+
callExpression.args.unshift(arg0.callee);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
68
124
|
asText() {
|
|
69
125
|
let testCaseText = [...this.testCases.values()].filter((tc) => tc.isIncluded).map((tc) => tc.asText());
|
|
70
126
|
return `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestGroup.js","sourceRoot":"","sources":["../../../src/lib/rooibos/TestGroup.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"TestGroup.js","sourceRoot":"","sources":["../../../src/lib/rooibos/TestGroup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rooibos-roku",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.0",
|
|
4
4
|
"description": "simple, flexible, fun brightscript test framework for roku scenegraph apps - roku brighterscript plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"chai": "^4.2.0",
|
|
33
33
|
"chai-files": "^1.4.0",
|
|
34
34
|
"chai-subset": "^1.6.0",
|
|
35
|
-
"eslint": "^7.
|
|
36
|
-
"eslint-plugin-github": "4.
|
|
37
|
-
"eslint-plugin-no-only-tests": "2.
|
|
35
|
+
"eslint": "^7.11.0",
|
|
36
|
+
"eslint-plugin-github": "^4.1.1",
|
|
37
|
+
"eslint-plugin-no-only-tests": "^2.4.0",
|
|
38
38
|
"minimatch": "^3.0.4",
|
|
39
39
|
"mocha": "^7.1.1",
|
|
40
40
|
"nyc": "^15.1.0",
|