]> git.proxmox.com Git - extjs.git/blame - extjs/classic/theme-crisp/.sencha/test/Ext.cmd.api.adapter.js
add extjs 6.0.1 sources
[extjs.git] / extjs / classic / theme-crisp / .sencha / test / Ext.cmd.api.adapter.js
CommitLineData
6527f429
DM
1Ext.cmd.api.adapter = {\r
2\r
3 testResults: [],\r
4 isRunning: false,\r
5 resultBufferSize: 100,\r
6 api: Ext.cmd.api,\r
7\r
8 setCurrentScript: function(name) {\r
9 // no-op, managed by Ext.Boot.currentFile\r
10 },\r
11\r
12 getCurrentScript: function() {\r
13 return this.api.getCurrentScript(Ext.Boot.currentFile);\r
14 },\r
15\r
16 getSpecStructure: function(spec) {\r
17 var structure = {\r
18 hash: '' + spec.id,\r
19 fileName: spec.fileName,\r
20 description: spec.description\r
21 };\r
22 return structure;\r
23 },\r
24\r
25 getSuiteStructure: function(suite) {\r
26 var structure = {\r
27 hash: '' + suite.id,\r
28 fileName: suite.fileName,\r
29 suites: [],\r
30 specs: [],\r
31 description: suite.description\r
32 },\r
33 specs = suite.specs_,\r
34 spLen = specs.length, spec, sp,\r
35 suites = suite.suites_,\r
36 suLen = suites.length, suite, su;\r
37\r
38 for(su = 0; su < suLen; su++) {\r
39 suite = suites[su];\r
40 structure.suites.push(this.getSuiteStructure(suite));\r
41 }\r
42\r
43 for(sp = 0; sp < spLen; sp++) {\r
44 spec = specs[sp];\r
45 structure.specs.push(this.getSpecStructure(spec));\r
46 }\r
47\r
48 return structure;\r
49 },\r
50\r
51 reportTestStructure: function() {\r
52 var runner = jasmine.getEnv().currentRunner_,\r
53 suites = runner.topLevelSuites(),\r
54 slen = suites.length, suite, s,\r
55 structure = [];\r
56\r
57 for(s = 0; s < slen; s++) {\r
58 suite = suites[s];\r
59 structure.push(this.getSuiteStructure(suite));\r
60 }\r
61 this.api.addTestSuites(structure);\r
62 },\r
63\r
64 executeTests: function() {\r
65 this.isRunning = true;\r
66 jasmine.setOptions(this.api.jsonOptions);\r
67 jasmine.initDebug();\r
68 jasmine.getEnv().addReporter(new SenchaTestRunner.Reporter());\r
69 jasmine.getEnv().execute();\r
70 },\r
71\r
72 flushTestResults: function() {\r
73 if(this.testResults.length > 0) {\r
74 var results = this.testResults;\r
75 this.testResults = [];\r
76 this.api.reportTestResults(results);\r
77 }\r
78 },\r
79\r
80 onTestResult: function(result) {\r
81 this.testResults.push(result);\r
82 if(this.testResults.length >= this.resultBufferSize) {\r
83 this.flushTestResults();\r
84 }\r
85 },\r
86\r
87 captureCoverage: function() {\r
88 var coverageObj = window['__coverage__'];\r
89 if(coverageObj) {\r
90 this.api.addTestCoverage(coverageObj);\r
91 }\r
92 },\r
93\r
94 onTestsDone: function(success) {\r
95 var me = this;\r
96 me.isRunning = false;\r
97 if(success === undefined) {\r
98 me.success = true;\r
99 } else {\r
100 me.success = success;\r
101 }\r
102 me.flushTestResults();\r
103 me.captureCoverage();\r
104 this.api.stopWorkItem(me.success);\r
105 }\r
106};