zombie-test.js
10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
var chai = require("chai"), plugin = require("chai-jq");
chai.use(plugin);
var expect = require("chai").expect,
Browser = require("zombie");
describe("Barra Antiga", function() {
var browser, barraUrl, barraFonte, barraJS;
barraUrl = "http://localhost/exemplo_antiga.html";
barraFonte = "http://localhost/static/opensans-bold.woff";
barraJS = "http://localhost/barra.js";
beforeEach(function() {
browser = new Browser();
browser.runScripts = true;
browser.headers = {};
});
it("trocar o conteúdo do #barra-brasil pelo correto", function(done) {
browser.visit(barraUrl, function() {
var inner_barra = browser.document.getElementById("barra-brasil");
expect(inner_barra.innerHTML).to.have.string('Acesso à informação</a></li><li class="list-item"><a href="http://www.planalto.gov.br/legislacao" class="link-barra">Legislação</a></li><li class="list-item last last-item"><a href="http://www.brasil.gov.br/canais-do-executivo-federal" class="link-barra">Canais</a></li></ul></nav><span id="brasil-vlibras"><a class="logo-vlibras" id="logovlibras" href="#"></a><span class="link-vlibras"><img src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=" class="barralazy" data-src="//barra.brasil.gov.br/imagens/vlibras.gif" width="132" height="116"> <br>O conteúdo desse portal pode ser acessível em Libras usando o <a href="http://www.vlibras.gov.br">VLibras</a></span></span></div>');
done();
});
});
it("trocar o conteúdo do #footer-brasil pelo correto", function(done) {
browser.visit(barraUrl, function() {
var inner_footer = browser.document.getElementById("footer-brasil");
expect(inner_footer.innerHTML).to.equal('<div id="wrapper-footer-brasil"><a href="http://www.acessoainformacao.gov.br/"><span class="logo-acesso-footer"></span></a><a class="logo-governo-federal" href="http://www.brasil.gov.br/" alt="Governo Federal" title="Governo Federal"></a></div>');
done();
});
});
it("A fonte deve estar respondendo", function(done) {
browser.visit(barraFonte, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'content-type'){
expect(value[1]).to.equal('application/x-font-woff');
}
if (value[0] == 'access-control-allow-origin'){
expect(value[1]).to.equal('*');
}
}
);
expect(browser.response.status).to.equal(200);
done();
});
});
it("Cabeçalhos HTTP do barra.js devem estar ok", function(done) {
browser.headers['Accept-Encoding'] = 'gzip';
browser.visit(barraJS, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'cache-control'){
expect(value[1]).to.equal('max-age=604800, public');
}
if (value[0] == 'content-encoding'){
expect(value[1]).to.equal('gzip');
}
if (value[0] == 'access-control-allow-origin'){
expect(value[1]).to.equal('*');
}
}
);
expect(browser.response.status).to.equal(200);
done();
});
});
it("Barra.js responde 304", function(done) {
browser.visit(barraJS, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'last-modified')
browser.headers['If-Modified-Since'] = value[1];
}
);
browser.visit(barraJS, function() {
expect(browser.response.status).to.equal(304);
done();
});
});
});
it("a barra deve ter o css correto para visualizacao maior que 960px");
it("a barra deve ter o css correto para visualização menor que 960px");
it("o rodapé deve ter o css correto", function(done) {
browser.visit(barraUrl, function() {
var $ = browser.window.$;
var logo_acesso_footer = $("#wrapper-footer-brasil a span");
expect(logo_acesso_footer).to.have.$class("logo-acesso-footer");
var logo_brasil_footer = $("#wrapper-footer-brasil a").next();
expect(logo_brasil_footer).to.have.$class("logo-governo-federal");
done();
});
});
});
describe("Barra Nova", function() {
var browser, barraUrl, barraFonte, barraJS;
barraUrl = "http://localhost/index.html";
barraFonte = "http://localhost/static/Raleway-Bold.woff";
barraJS = "http://localhost/barra_2.0.js";
beforeEach(function() {
browser = new Browser();
browser.runScripts = true;
browser.headers = {};
});
it("trocar o conteúdo do #barra-brasil pelo correto", function(done) {
browser.visit(barraUrl, function() {
var inner_barra = browser.document.getElementById("barra-brasil");
expect(inner_barra.innerHTML).to.have.string('<div class="conteudo-escondido"> <a accesskey="1" href="#conteudo">Ir para o conteúdo</a> </div><div class="conteudo-barra-brasil"> <a href="http://www.brasil.gov.br/" class="pic-gov" title="GovBR">GovBR</a> <nav id="menu-barra-brasil" onscroll="checkScrollBarra(this);"> <ul class="lista-barra-brasil"> <li class="list-item"> <a href="http://www.acessoainformacao.gov.br" class="link-barra link-externo-barra">Acesso à informação</a> </li> <li class="espacador"></li> <li class="list-item"> <a href="http://brasil.gov.br/participacao-social" class="link-barra link-externo-barra">Participe</a> </li> <li class="espacador"></li> <li class="list-item"> <a href="https://servicos.gov.br/" class="link-barra link-externo-barra">Serviços</a> </li> <li class="espacador"></li> <li class="list-item"> <a href="http://www4.planalto.gov.br/legislacao/" class="link-barra link-externo-barra">Legislação</a> </li> <li class="espacador"></li> <li class="list-item"> <a href="javascript:toggleOrgaosGoverno();" id="link-orgaos" class="link-barra link-interno-barra link-baixo-barra">Órgãos do Governo</a> </li> </ul> </nav> <a href="javascript:scrollBarra();" id="botao-seta-direita" class="botao-seta-direita"><i class="arrow right">Navegar para direita</i></a> </div><div class="orgaos-governo-barra" id="orgaos-governo-barra"> <div> <ul> <li class="orgao-barra"> <a href="http://www.casacivil.gov.br/">Casa Civil</a> </li> <li class="orgao-barra"> <a href="http://www.justica.gov.br/">Ministério da Justiça e Segurança Pública</a> </li> <li class="orgao-barra"> <a href="https://www.defesa.gov.br/">Ministério da Defesa</a> </li> <li class="orgao-barra"> <a href="http://www.itamaraty.gov.br/">Ministério das Relações Exteriores</a> </li> <li class="orgao-barra"> <a href="http://www.fazenda.gov.br/">Ministério da Economia</a> </li> <li class="orgao-barra"> <a href="http://www.infraestrutura.gov.br/">Ministério da Infraestrutura</a> </li> <li class="orgao-barra"> <a href="http://www.agricultura.gov.br/">Ministério da Agricultura</a> </li> <li class="orgao-barra"> <a href="http://www.mec.gov.br/">Ministério da Educação</a> </li> <li class="orgao-barra"> <a href="http://mds.gov.br/">Ministério da Cidadania</a> </li> <li class="orgao-barra"> <a href="http://portalms.saude.gov.br/">Ministério da Saúde</a> </li> <li class="orgao-barra"> <a href="http://www.mme.gov.br/">Ministério de Minas e Energia</a> </li> <li class="orgao-barra"> <a href="http://www.mctic.gov.br/">Ministério da Ciência, Tecnologia e Comunicação</a> </li> <li class="orgao-barra"> <a href="http://www.mma.gov.br/">Ministério do Meio Ambiente</a> </li> <li class="orgao-barra"> <a href="http://www.turismo.gov.br/">Ministério do Turismo</a> </li> <li class="orgao-barra"> <a href="http://www.integracao.gov.br/">Ministério do Desenvolvimento Regional</a> </li> <li class="orgao-barra"> <a href="http://www.cgu.gov.br/">Controladoria-Geral da União</a> </li> <li class="orgao-barra"> <a href="http://www.mdh.gov.br/">Ministério da Mulher, da Família e dos Direitos Humanos</a> </li> <li class="orgao-barra"> <a href="http://www.secretariageral.gov.br/">Secretaria-Geral da Presidência da República</a> </li> <li class="orgao-barra"> <a href="http://www.secretariadegoverno.gov.br/">Secretaria De Governo</a> </li> <li class="orgao-barra"> <a href="http://www.gsi.gov.br/">Gabinete de Segurança Institucional</a> </li> <li class="orgao-barra"> <a href="http://www.agu.gov.br/">Advocacia-Geral da União - AGU</a> </li> <li class="orgao-barra"> <a href="http://www.bcb.gov.br/">Banco Central do Brasil</a> </li> </ul> </div></div>');
done();
});
});
it("trocar o conteúdo do #footer-brasil pelo correto", function(done) {
browser.visit(barraUrl, function() {
var inner_footer = browser.document.getElementById("footer-brasil");
expect(inner_footer.innerHTML).to.equal('<div id="wrapper-footer-brasil"><a class="logo-acesso-footer" href="http://www.acessoainformacao.gov.br/" alt="Acesso à informação" title="Acesso à informação"></a><a class="logo-governo-federal" href="http://www.brasil.gov.br/" alt="Governo Federal" title="Governo Federal"></a></div>');
done();
});
});
it("A fonte deve estar respondendo", function(done) {
browser.visit(barraFonte, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'content-type'){
expect(value[1]).to.equal('application/x-font-woff');
}
if (value[0] == 'access-control-allow-origin'){
expect(value[1]).to.equal('*');
}
}
);
expect(browser.response.status).to.equal(200);
done();
});
});
it("Cabeçalhos HTTP do barra.js devem estar ok", function(done) {
browser.headers['Accept-Encoding'] = 'gzip';
browser.visit(barraJS, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'cache-control'){
expect(value[1]).to.equal('max-age=604800, public');
}
if (value[0] == 'content-encoding'){
expect(value[1]).to.equal('gzip');
}
if (value[0] == 'access-control-allow-origin'){
expect(value[1]).to.equal('*');
}
}
);
expect(browser.response.status).to.equal(200);
done();
});
});
it("Barra.js responde 304", function(done) {
browser.visit(barraJS, function() {
browser.response.headers._headers.forEach(
function(value) {
if (value[0] == 'last-modified')
browser.headers['If-Modified-Since'] = value[1];
}
);
browser.visit(barraJS, function() {
expect(browser.response.status).to.equal(304);
done();
});
});
});
});