theprogrammablemind_4wp 7.5.8-beta.65 → 7.5.8-beta.67
Sign up to get free protection for your applications and to get access to all the features.
- package/client.js +51 -11
- package/lines.js +2 -2
- package/package.json +1 -1
package/client.js
CHANGED
@@ -13,6 +13,22 @@ const { appendNoDups, InitCalls, updateQueries } = require('./src/helpers')
|
|
13
13
|
const runtime = require('./runtime')
|
14
14
|
const sortJson = runtime.sortJson
|
15
15
|
|
16
|
+
const getConfig_getObjectCheck = (testConfig) => {
|
17
|
+
return (testConfig.checks && testConfig.checks.objects) || testConfig.check || []
|
18
|
+
}
|
19
|
+
|
20
|
+
const getConfig_getContextCheck = (testConfig) => {
|
21
|
+
return (testConfig.checks && testConfig.checks.context) || []
|
22
|
+
}
|
23
|
+
|
24
|
+
const pickContext = (testConfig) => (context) => {
|
25
|
+
const picked = {}
|
26
|
+
for (let prop of getConfig_getContextCheck(testConfig)) {
|
27
|
+
picked[prop] = context[prop]
|
28
|
+
}
|
29
|
+
return sortJson(picked, { depth: 25 })
|
30
|
+
}
|
31
|
+
|
16
32
|
const getAsk = (config) => (uuid) => (asks) => {
|
17
33
|
for (let ask of asks) {
|
18
34
|
config.addSemantic({
|
@@ -788,6 +804,7 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
788
804
|
const failed_paraphrases = !matching(result.paraphrases, expected.paraphrases)
|
789
805
|
let failed_paraphrasesParenthesized = !matching(result.paraphrasesParenthesized, expected.paraphrasesParenthesized)
|
790
806
|
let failed_generatedParenthesized = !matching(result.generatedParenthesized, expected.generatedParenthesized)
|
807
|
+
// TODO fix the naming conventions: camelcase + use actual instead of result
|
791
808
|
const failed_responses = !matching(result.responses, expected.responses)
|
792
809
|
const failed_contexts = !matching(result.contexts, expected.contexts)
|
793
810
|
const failed_objects = !matching(actual_objects, expected_objects)
|
@@ -797,14 +814,18 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
797
814
|
failed_generatedParenthesized = false
|
798
815
|
}
|
799
816
|
|
817
|
+
const pickedResultContexts = result.contexts.map(pickContext(testConfig))
|
818
|
+
const pickedExpectedContexts = expected.contexts.map(pickContext(testConfig))
|
819
|
+
const failedCheckedContexts = !matching(pickedResultContexts, pickedExpectedContexts)
|
820
|
+
|
800
821
|
const pickEm = (getObjects) => {
|
801
822
|
const picked = {}
|
802
|
-
for (let prop of (testConfig
|
823
|
+
for (let prop of getConfig_getObjectCheck(testConfig)) {
|
803
824
|
if (prop.km) {
|
804
825
|
c = config.getConfig(prop.km)
|
805
826
|
o = getObjects(prop.km)
|
806
827
|
picked[prop.km] = {}
|
807
|
-
for (let p of c.testConfig
|
828
|
+
for (let p of getConfig_getObjectCheck(c.testConfig)) {
|
808
829
|
if (p.km) {
|
809
830
|
continue
|
810
831
|
}
|
@@ -822,11 +843,7 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
822
843
|
}
|
823
844
|
return expected.objects.namespaced[expected.objects.nameToUUID[name]]
|
824
845
|
}
|
825
|
-
|
826
|
-
sortJson(pickEm(expectedGetObjects), { depth: 25 })
|
827
|
-
} catch ( e ) {
|
828
|
-
debugger
|
829
|
-
}
|
846
|
+
sortJson(pickEm(expectedGetObjects), { depth: 25 })
|
830
847
|
const expected_checked = sortJson(pickEm(expectedGetObjects), { depth: 25 })
|
831
848
|
const actualGetObjects = (name) => {
|
832
849
|
if (!name) {
|
@@ -842,7 +859,7 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
842
859
|
const actual_config = sortJson(convertToStable(getConfigForTest(config, testConfig)), { depth: 25 })
|
843
860
|
const expected_config = sortJson(convertToStable(expected.config), { depth: 25 })
|
844
861
|
const failed_config = !matching(actual_config, expected_config)
|
845
|
-
let failed = failed_paraphrases || failed_paraphrasesParenthesized || failed_generatedParenthesized || failed_responses || failed_contexts || failed_objects || failed_config || failed_checked
|
862
|
+
let failed = failed_paraphrases || failed_paraphrasesParenthesized || failed_generatedParenthesized || failed_responses || failed_contexts || failed_objects || failed_config || failed_checked || failedCheckedContexts
|
846
863
|
|
847
864
|
if (expected.metadata && result.metadata && failed) {
|
848
865
|
const priorities = analyzeMetaData(expected.metadata, result.metadata)
|
@@ -861,6 +878,7 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
861
878
|
generatedParenthesized: expected.generatedParenthesized,
|
862
879
|
results: expected.contexts,
|
863
880
|
checked: expected_checked,
|
881
|
+
checkedContexts: pickedExpectedContexts,
|
864
882
|
objects: expected_objects,
|
865
883
|
config: expected.config
|
866
884
|
},
|
@@ -871,6 +889,7 @@ const runTest = async (config, expected, { args, verbose, testConfig, debug }) =
|
|
871
889
|
generatedParenthesized: result.generatedParenthesized,
|
872
890
|
results: result.contexts,
|
873
891
|
checked: actual_checked,
|
892
|
+
checkedContexts: pickedResultContexts,
|
874
893
|
objects: actual_objects,
|
875
894
|
config: actual_config
|
876
895
|
}
|
@@ -1130,7 +1149,7 @@ const defaultInnerProcess = (config, errorHandler, responses) => {
|
|
1130
1149
|
const pickEm = () => {
|
1131
1150
|
const picked = {}
|
1132
1151
|
const namespaced = config.get('objects')['namespaced']
|
1133
|
-
for (let prop of (config.testConfig
|
1152
|
+
for (let prop of getConfig_getObjectCheck(config.testConfig)) {
|
1134
1153
|
if (prop.km) {
|
1135
1154
|
/*
|
1136
1155
|
const objects = namespaced[prop.km]]
|
@@ -1380,10 +1399,10 @@ const knowledgeModule = async ({
|
|
1380
1399
|
test = test.name
|
1381
1400
|
}
|
1382
1401
|
} else {
|
1383
|
-
if (
|
1402
|
+
if (runtime.fs && runtime.fs.existsSync(test)) {
|
1384
1403
|
config.tests = JSON.parse(runtime.fs.readFileSync(test))
|
1385
1404
|
} else {
|
1386
|
-
config.tests =
|
1405
|
+
config.tests = {}
|
1387
1406
|
}
|
1388
1407
|
}
|
1389
1408
|
config.setTestConfig(testConfig)
|
@@ -1674,6 +1693,9 @@ const knowledgeModule = async ({
|
|
1674
1693
|
if (JSON.stringify(result.expected.checked) !== JSON.stringify(result.actual.checked)) {
|
1675
1694
|
hasError = true
|
1676
1695
|
}
|
1696
|
+
if (JSON.stringify(result.expected.checkedContexts) !== JSON.stringify(result.actual.checkedContexts)) {
|
1697
|
+
hasError = true
|
1698
|
+
}
|
1677
1699
|
}
|
1678
1700
|
|
1679
1701
|
if (hasError) {
|
@@ -1737,6 +1759,24 @@ const knowledgeModule = async ({
|
|
1737
1759
|
newError = true
|
1738
1760
|
headerShown = true
|
1739
1761
|
}
|
1762
|
+
if (JSON.stringify(result.expected.checkedContexts) !== JSON.stringify(result.actual.checkedContexts)) {
|
1763
|
+
if (!headerShown) {
|
1764
|
+
console.log(' Failure')
|
1765
|
+
}
|
1766
|
+
const widths = [4, 18, 72]
|
1767
|
+
const lines = new Lines(widths)
|
1768
|
+
lines.setElement(1, 1, 'expected checkedContexts', true)
|
1769
|
+
lines.setElement(2, 2, JSON.stringify(result.expected.checkedContexts, null, 2))
|
1770
|
+
lines.log()
|
1771
|
+
lines.setElement(1, 1, 'actual checkedContexts', true)
|
1772
|
+
lines.setElement(2, 2, JSON.stringify(result.actual.checkedContexts, null, 2))
|
1773
|
+
lines.log()
|
1774
|
+
if (args.vimdiff) {
|
1775
|
+
vimdiff(result.actual.checkedContexts, result.expected.checkedContexts)
|
1776
|
+
}
|
1777
|
+
newError = true
|
1778
|
+
headerShown = true
|
1779
|
+
}
|
1740
1780
|
}
|
1741
1781
|
} else {
|
1742
1782
|
if (results.length > 0 && args.vimdiff) {
|
package/lines.js
CHANGED
@@ -10,12 +10,12 @@ class Lines {
|
|
10
10
|
}
|
11
11
|
|
12
12
|
// will wrap to next line within the column
|
13
|
-
setElement (row, column, value) {
|
13
|
+
setElement (row, column, value, fullWidth = false) {
|
14
14
|
const values = value.toString().split('\n')
|
15
15
|
if (column >= this.widths.length) {
|
16
16
|
throw new Error("Column out of range.")
|
17
17
|
}
|
18
|
-
const width = this.widths[column]
|
18
|
+
const width = fullWidth ? value.length: this.widths[column]
|
19
19
|
let index = 0
|
20
20
|
for (value of values) {
|
21
21
|
while (value.length > 0) {
|