risei 1.3.4 → 2.0.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 (69) hide show
  1. package/README.md +142 -379
  2. package/Read-me reduced.md +294 -0
  3. package/Read-me redux.md +581 -0
  4. package/index.js +5 -5
  5. package/package.json +10 -11
  6. package/system/ASpoofingFixture.js +7 -8
  7. package/system/ATestCaller.js +3 -3
  8. package/system/ATestFinder.js +2 -2
  9. package/system/ATestReporter.js +2 -1
  10. package/system/ATestSource.js +5 -1
  11. package/system/ChosenTestFinder.js +4 -4
  12. package/system/ClassTestGroup.js +2 -2
  13. package/system/LocalCaller.js +5 -5
  14. package/system/{ClassMethodSpoofer.js → MethodSpoofer.js} +54 -48
  15. package/system/MethodTestGroup.js +2 -2
  16. package/system/Moment.js +1 -1
  17. package/system/NameAnalyzer.js +26 -0
  18. package/system/PropertySpoofer.js +156 -0
  19. package/system/Risei.js +5 -5
  20. package/system/SpoofDef.js +260 -0
  21. package/system/TerminalReporter.js +8 -8
  22. package/system/{TestDefinition.js → TestDef.js} +153 -107
  23. package/system/TestFinder.js +3 -3
  24. package/system/TestFrame.js +15 -52
  25. package/system/TestGroup.js +1 -1
  26. package/system/TestResult.js +2 -2
  27. package/system/TestRunner.js +23 -107
  28. package/system/TestStages.js +80 -76
  29. package/system/TestSummary.js +1 -1
  30. package/system/TotalComparer.js +60 -11
  31. package/system/TotalDisplayer.js +33 -12
  32. package/system/TypeAnalyzer.js +41 -79
  33. package/system/TypeIdentifier.js +18 -8
  34. package/system/Types.js +3 -1
  35. package/test-target-objects/ConditionalThrowTarget.js +11 -0
  36. package/test-target-objects/Counter.js +46 -0
  37. package/test-target-objects/DomTarget.js +37 -0
  38. package/test-target-objects/InterSpoofer.js +230 -0
  39. package/test-target-objects/MixedContents.js +33 -0
  40. package/test-target-objects/MutationTarget.js +37 -0
  41. package/test-target-objects/ObjectComposer.js +34 -0
  42. package/test-target-objects/PolySpoofableInner.js +29 -0
  43. package/test-target-objects/PolySpoofableOuter.js +52 -0
  44. package/test-target-objects/PropertiesTarget.js +98 -0
  45. package/test-target-objects/Returner.js +7 -0
  46. package/test-target-objects/Searcher.js +25 -0
  47. package/test-target-objects/Sorter.js +91 -0
  48. package/test-target-objects/Spoofable.js +36 -0
  49. package/test-target-objects/StateTarget.js +34 -0
  50. package/test-target-objects/StaticTarget.js +17 -0
  51. package/test-target-objects/TestableTarget.js +57 -0
  52. package/trial-tests/SelfTests.outward-rt.js +511 -0
  53. package/trial-tests/TopicTests.outward-rt.js +313 -0
  54. package/usage-examples/Gold-bar-example.png +0 -0
  55. package/usage-examples/Title-example.png +0 -0
  56. package/xternal-tests/ASpoofingFixture.tests.js +242 -0
  57. package/xternal-tests/MethodSpoofer.tests.js +130 -0
  58. package/xternal-tests/SpoofDef.tests.js +91 -0
  59. package/xternal-tests/TotalComparer.tests.js +1055 -0
  60. package/xternal-tests/package.json +7 -0
  61. package/system/AComparer.js +0 -9
  62. package/system/ATestFixture.js +0 -44
  63. package/system/ClassPropertySpoofer.js +0 -185
  64. package/system/ObjectMethodSpoofer.js +0 -58
  65. package/system/ObjectPropertySpoofer.js +0 -136
  66. package/system/SpoofDefinition.js +0 -243
  67. package/system/TestFrameChooser.js +0 -54
  68. package/system/TestFrames.js +0 -232
  69. package/system/TotalCopier.js +0 -106
@@ -0,0 +1,91 @@
1
+ /**/
2
+
3
+ import SpoofDef from "../system/SpoofDef.js";
4
+ import { expect } from "chai";
5
+
6
+ describe("SpoofDef", () => {
7
+ /* Some cases here are effectively impossible to test directly in self-tests, at least
8
+ without complicated workarounds, because of how SpoofDef is used by Risei tests. */
9
+
10
+ describe("isNotASpoof()", () => {
11
+ it("Should return true when arg is undefined.", /* good */ () => {
12
+ let nonce = undefined;
13
+
14
+ let actual = SpoofDef.isNotASpoof(nonce);
15
+
16
+ expect(actual).to.be.true;
17
+ });
18
+
19
+ it("Should return true when arg is null.", /* good */ () => {
20
+ let nonce = null;
21
+
22
+ let actual = SpoofDef.isNotASpoof(nonce);
23
+
24
+ expect(actual).to.be.true;
25
+ });
26
+
27
+ it("Should return true when arg is a string.", /* good */ () => {
28
+ let nonce = "text";
29
+
30
+ let actual = SpoofDef.isNotASpoof(nonce);
31
+
32
+ expect(actual).to.be.true;
33
+ });
34
+
35
+ it("Should return true when arg is a value, such as a number.", /* good */ () => {
36
+ let nonce = 37;
37
+
38
+ let actual = SpoofDef.isNotASpoof(nonce);
39
+
40
+ expect(actual).to.be.true;
41
+ });
42
+
43
+ it("Should return true when arg is a predefined JavaScript Object, such as a Map.", /* good */ () => {
44
+ let nonce = new Map();
45
+
46
+ let actual = SpoofDef.isNotASpoof(nonce);
47
+
48
+ expect(actual).to.be.true;
49
+ });
50
+
51
+ it("Should return true when arg doesn't contain any SpoofDef properties.", /* good */ () => {
52
+ let nonce = { notOn: true, notOf: "true", notAs: "not-as" };
53
+
54
+ let actual = SpoofDef.isNotASpoof(nonce);
55
+
56
+ expect(actual).to.be.true;
57
+ });
58
+
59
+ it("Should return false when arg contains .of.", /* good */ () => {
60
+ let nonce = { of: "some-method" };
61
+
62
+ let actual = SpoofDef.isNotASpoof(nonce);
63
+
64
+ expect(actual).to.be.false;
65
+ });
66
+
67
+ it("Should return false when arg contains .as.", /* good */ () => {
68
+ let nonce = { as: "some-output" };
69
+
70
+ let actual = SpoofDef.isNotASpoof(nonce);
71
+
72
+ expect(actual).to.be.false;
73
+ });
74
+
75
+ it("Should return false when arg contains .method.", /* good */ () => {
76
+ let nonce = { method: "some-method" };
77
+
78
+ let actual = SpoofDef.isNotASpoof(nonce);
79
+
80
+ expect(actual).to.be.false;
81
+ });
82
+
83
+ it("Should return false when arg contains .output.", /* good */ () => {
84
+ let nonce = { output: "some-output" };
85
+
86
+ let actual = SpoofDef.isNotASpoof(nonce);
87
+
88
+ expect(actual).to.be.false;
89
+ });
90
+ });
91
+ });