diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-08 23:44:29 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-08 23:54:14 +0100 |
commit | 1e9ac4c5cc486f03d49a8dd04fe83d4000b8fc12 (patch) | |
tree | 0568d9c4776f1c50e2982ecd770429aadaec50bc | |
parent | c1df471feacaf2590216aa476ce242908dac38cf (diff) | |
download | poky-1e9ac4c5cc486f03d49a8dd04fe83d4000b8fc12.tar.gz |
bitbake: toastergui: Add missing files from 1c2f6b9b7b9e700146944b9d6d2114e0d014ee81
(Bitbake rev: cf2b6b621cb483aa1a1a66c09fc431efc207c91e)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/toaster/toastergui/static/js/tests/test.js | 175 | ||||
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/js-unit-tests.html | 39 |
2 files changed, 214 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/static/js/tests/test.js b/bitbake/lib/toaster/toastergui/static/js/tests/test.js new file mode 100644 index 0000000000..d610113029 --- /dev/null +++ b/bitbake/lib/toaster/toastergui/static/js/tests/test.js | |||
@@ -0,0 +1,175 @@ | |||
1 | "use strict"; | ||
2 | /* Unit tests for Toaster's JS */ | ||
3 | |||
4 | /* libtoaster tests */ | ||
5 | |||
6 | QUnit.test("Layer alert notification", function(assert) { | ||
7 | var layer = { | ||
8 | "layerdetailurl":"/toastergui/project/1/layer/22", | ||
9 | "vcs_url":"git://example.com/example.git", | ||
10 | "detail":"[ git://example.com/example.git | master ]", | ||
11 | "vcs_reference":"master", | ||
12 | "id": 22, | ||
13 | "name":"meta-example" | ||
14 | }; | ||
15 | |||
16 | var correctResponse = "You have added <strong>3</strong> layers to your project: <a id=\"layer-affected-name\" href=\"/toastergui/project/1/layer/22\">meta-example</a> and its dependencies <a href=\"/toastergui/project/1/layer/9\" data-original-title=\"\" title=\"\">meta-example-two</a>, <a href=\"/toastergui/project/1/layer/9\" data-original-title=\"\" title=\"\">meta-example-three</a>"; | ||
17 | |||
18 | var layerDepsList = [ | ||
19 | { | ||
20 | "layerdetailurl":"/toastergui/project/1/layer/9", | ||
21 | "vcs_url":"git://example.com/example.git", | ||
22 | "detail":"[ git://example.com/example.git | master ]", | ||
23 | "vcs_reference":"master", | ||
24 | "id": 9, | ||
25 | "name":"meta-example-two" | ||
26 | }, | ||
27 | { | ||
28 | "layerdetailurl":"/toastergui/project/1/layer/9", | ||
29 | "vcs_url":"git://example.com/example.git", | ||
30 | "detail":"[ git://example.com/example.git | master ]", | ||
31 | "vcs_reference":"master", | ||
32 | "id": 10, | ||
33 | "name":"meta-example-three" | ||
34 | }, | ||
35 | ]; | ||
36 | |||
37 | var msg = libtoaster.makeLayerAddRmAlertMsg(layer, layerDepsList, true); | ||
38 | var test = $("<div></div>"); | ||
39 | |||
40 | test.html(msg); | ||
41 | |||
42 | assert.equal(test.children("strong").text(), "3"); | ||
43 | assert.equal(test.children("a").length, 3); | ||
44 | }); | ||
45 | |||
46 | QUnit.test("Project info", function(assert){ | ||
47 | var done = assert.async(); | ||
48 | libtoaster.getProjectInfo(libtoaster.ctx.projectPageUrl, function(prjInfo){ | ||
49 | assert.ok(prjInfo.machine.name); | ||
50 | assert.ok(prjInfo.releases.length > 0); | ||
51 | assert.ok(prjInfo.layers.length > 0); | ||
52 | assert.ok(prjInfo.freqtargets); | ||
53 | assert.ok(prjInfo.release); | ||
54 | done(); | ||
55 | }); | ||
56 | }); | ||
57 | |||
58 | QUnit.test("Show notification", function(assert){ | ||
59 | var msg = "Testing"; | ||
60 | var element = $("#change-notification-msg"); | ||
61 | |||
62 | libtoaster.showChangeNotification(msg); | ||
63 | |||
64 | assert.equal(element.text(), msg); | ||
65 | assert.ok(element.is(":visible")); | ||
66 | |||
67 | $("#change-notification").hide(); | ||
68 | }); | ||
69 | |||
70 | var layer = { | ||
71 | "id": 91, | ||
72 | "name": "meta-crystalforest", | ||
73 | "layerdetailurl": "/toastergui/project/4/layer/91" | ||
74 | }; | ||
75 | |||
76 | QUnit.test("Add layer", function(assert){ | ||
77 | var done = assert.async(); | ||
78 | |||
79 | /* Wait for the modal to be added to the dom */ | ||
80 | var checkModal = setInterval(function(){ | ||
81 | if ($("#dependencies-modal").length > 0) { | ||
82 | $("#dependencies-modal .btn-primary").click(); | ||
83 | clearInterval(checkModal); | ||
84 | } | ||
85 | }, 200); | ||
86 | |||
87 | libtoaster.addRmLayer(layer, true, function(deps){ | ||
88 | assert.equal(deps.length, 1); | ||
89 | done(); | ||
90 | }); | ||
91 | |||
92 | }); | ||
93 | |||
94 | QUnit.test("Rm layer", function(assert){ | ||
95 | var done = assert.async(); | ||
96 | |||
97 | libtoaster.addRmLayer(layer, false, function(deps){ | ||
98 | assert.equal(deps.length, 0); | ||
99 | done(); | ||
100 | }); | ||
101 | |||
102 | }); | ||
103 | |||
104 | QUnit.test("Parse url params", function(assert){ | ||
105 | var params = libtoaster.parseUrlParams(); | ||
106 | assert.ok(params); | ||
107 | }); | ||
108 | |||
109 | QUnit.test("Dump url params", function(assert){ | ||
110 | var params = libtoaster.dumpsUrlParams(); | ||
111 | assert.ok(params); | ||
112 | }); | ||
113 | |||
114 | QUnit.test("Make typeaheads", function(assert){ | ||
115 | var layersT = $("#layers"); | ||
116 | var machinesT = $("#machines"); | ||
117 | var projectsT = $("#projects"); | ||
118 | var recipesT = $("#recipes"); | ||
119 | |||
120 | libtoaster.makeTypeahead(layersT, | ||
121 | libtoaster.ctx.layersTypeAheadUrl, {}, function(){}); | ||
122 | |||
123 | libtoaster.makeTypeahead(machinesT, | ||
124 | libtoaster.ctx.machinesTypeAheadUrl, {}, function(){}); | ||
125 | |||
126 | libtoaster.makeTypeahead(projectsT, | ||
127 | libtoaster.ctx.projectsTypeAheadUrl, {}, function(){}); | ||
128 | |||
129 | libtoaster.makeTypeahead(recipesT, | ||
130 | libtoaster.ctx.recipesTypeAheadUrl, {}, function(){}); | ||
131 | |||
132 | assert.ok(recipesT.data('typeahead')); | ||
133 | assert.ok(layersT.data('typeahead')); | ||
134 | assert.ok(projectsT.data('typeahead')); | ||
135 | assert.ok(recipesT.data('typeahead')); | ||
136 | }); | ||
137 | |||
138 | |||
139 | |||
140 | /* Page init functions */ | ||
141 | |||
142 | QUnit.test("Import layer page init", function(assert){ | ||
143 | assert.throws(importLayerPageInit()); | ||
144 | }); | ||
145 | |||
146 | QUnit.test("Project page init", function(assert){ | ||
147 | assert.throws(projectPageInit()); | ||
148 | }); | ||
149 | |||
150 | QUnit.test("Layer details page init", function(assert){ | ||
151 | assert.throws(layerDetailsPageInit()); | ||
152 | }); | ||
153 | |||
154 | QUnit.test("Layer btns init", function(assert){ | ||
155 | assert.throws(layerBtnsInit({ projectLayers : [] })); | ||
156 | }); | ||
157 | |||
158 | QUnit.test("Table init", function(assert){ | ||
159 | assert.throws(tableInit({ url : tableUrl })); | ||
160 | }); | ||
161 | |||
162 | $(document).ajaxError(function(event, jqxhr, settings, errMsg){ | ||
163 | if (errMsg === 'abort') | ||
164 | return; | ||
165 | |||
166 | QUnit.test("Ajax error", function(assert){ | ||
167 | assert.notOk(jqxhr.responseText); | ||
168 | }); | ||
169 | }); | ||
170 | |||
171 | |||
172 | |||
173 | |||
174 | |||
175 | |||
diff --git a/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html b/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html new file mode 100644 index 0000000000..5b8fd84470 --- /dev/null +++ b/bitbake/lib/toaster/toastergui/templates/js-unit-tests.html | |||
@@ -0,0 +1,39 @@ | |||
1 | {% extends "base.html" %} | ||
2 | {% load projecttags %} | ||
3 | {% load humanize %} | ||
4 | {% load static %} | ||
5 | {% block pagecontent %} | ||
6 | |||
7 | <link rel="stylesheet" href="//code.jquery.com/qunit/qunit-1.18.0.css" /> | ||
8 | |||
9 | <script src="//code.jquery.com/qunit/qunit-1.18.0.js"></script> | ||
10 | |||
11 | <script src="{% static 'js/layerDepsModal.js' %}"></script> | ||
12 | <script src="{% static 'js/projectpage.js' %}"></script> | ||
13 | |||
14 | <script src="{% static 'js/bootstrap.min.js' %}"></script> | ||
15 | <script src="{% static 'js/filtersnippet.js' %}"></script> | ||
16 | <script src="{% static 'js/importlayer.js' %}"></script> | ||
17 | <script src="{% static 'js/prettify.js' %}"></script> | ||
18 | <script src="{% static 'js/layerBtn.js' %}"></script> | ||
19 | <script src="{% static 'js/layerDepsModal.js' %}"></script> | ||
20 | <script src="{% static 'js/projectpage.js' %}"></script> | ||
21 | <script src="{% static 'js/layerdetails.js' %}"></script> | ||
22 | <script src="{% static 'js/table.js' %}"></script> | ||
23 | |||
24 | <script> | ||
25 | var tableUrl = '{% url 'projectlayers' project.pk %}'; | ||
26 | </script> | ||
27 | |||
28 | <script src="{% static 'js/tests/test.js' %}"></script> | ||
29 | |||
30 | <div id="qunit"></div> | ||
31 | |||
32 | <input type="text" id="layers" placeholder="layers" ></input> | ||
33 | <input type="text" id="recipes" placeholder="recipes"></input> | ||
34 | <input type="text" id="projects" placeholder="projects"></input> | ||
35 | <input type="text" id="machines" placeholder="machines"></input> | ||
36 | |||
37 | {% endblock %} | ||
38 | |||
39 | |||