-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
193 lines (147 loc) · 6.2 KB
/
script.js
File metadata and controls
193 lines (147 loc) · 6.2 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
/* =================
TESTS, LOOK AT THESE
Reading tests will always help you discover your requirements.
You can make this window bigger.
===================
*/
const {
core: { test, expect, run },
prettify
} = window.jestLite;
/* =================
FIND ELEMENTS
These are all the elements we will look for.
===================
*/
const getHeader = document.querySelectorAll("header"),
getH1 = document.querySelectorAll("h1"),
getSiteHeader = document.querySelectorAll(".c-site-header"),
getAria = document.querySelectorAll('nav[aria-label="Main Site Links."]'),
getMain = document.querySelectorAll("main"),
getFooter = document.querySelectorAll("footer"),
getSiteFooter = document.querySelectorAll(".c-site-footer"),
getIFrame = document.querySelectorAll("iframe"),
getImage = document.querySelectorAll("img"),
getWords = document.body.innerText;
/* =================
ASSERTIONS
These are the things we check are true about your page.
Read and update your HTML to discover the requirements.
The tests will run every time you update your code.
===================
*/
test("There is at least one header element", () => {
expect(getHeader.length).toBeGreaterThanOrEqual(1);
});
test("There is at least one h1", () => {
expect(getH1.length).toBeGreaterThanOrEqual(1);
});
test("There is only one header element with the class c-site-header", () => {
expect(getSiteHeader.length).toBe(1);
});
test("There is a nav element with an aria-label of Main Site Links.", () => {
expect(getAria.length).toBeGreaterThanOrEqual(1);
});
test("There is only one main element", () => {
expect(getMain.length).toBe(1);
});
test("There is at least one footer element", () => {
expect(getFooter.length).toBeGreaterThanOrEqual(1);
});
test("There is only one footer element with the class c-site-footer", () => {
expect(getSiteFooter.length).toBe(1);
});
test("There is embedded video", () => {
expect(getIFrame.length).toBeGreaterThanOrEqual(1);
});
test("There is at least one image", () => {
expect(getImage.length).toBeGreaterThanOrEqual(1);
});
test("There are at least 500 words on the page", () => {
expect(getWords.length).toBeGreaterThanOrEqual(500);
});
var food, item;
function getNumberOrString(value) {
// Convert a string value to a number if possible
let number_value = Number(value);
if (Number.isNaN(number_value)) {
return value
} else {
return number_value
}
}
food = ['egg', 'milk', 'bread'];
let element_start = document.getElementById('start');
food.forEach((item) => {
let new_li = document.createElement('li');
new_li.innerText = item;
let new_span = document.createElement('span');
let new_button = document.createElement('button');
new_button.innerText = 'Add';
new_button.setAttribute("id", item);
new_span.appendChild(new_button);
new_li.appendChild(new_span);
element_start.appendChild(new_li);
});
document.getElementById('egg').addEventListener('click', (event) => {
let element_list = document.getElementById('list');
let new_li2 = document.createElement('li');
new_li2.innerText = 'egg';
element_list.appendChild(new_li2);
});
document.getElementById('milk').addEventListener('click', (event) => {
let element_list2 = document.getElementById('list');
let new_li3 = document.createElement('li');
new_li3.innerText = 'milk';
element_list2.appendChild(new_li3);
});
document.getElementById('bread').addEventListener('click', (event) => {
let element_list3 = document.getElementById('list');
let new_li4 = document.createElement('li');
new_li4.innerText = 'bread';
element_list3.appendChild(new_li4);
});
document.getElementById('add').addEventListener('click', (event) => {
let element_list4 = document.getElementById('list');
element_list4.style.backgroundColor = '#ffffff';
let new_li5 = document.createElement('li');
new_li5.innerText = getNumberOrString(document.getElementById('text').value);
element_list4.appendChild(new_li5);
});
var images, pages;
pages = ['Once upon a time there lived a lion in a forest. One day after a heavy meal. It was sleeping under a tree. After a while, there came a mouse and it started to play on the lion.', 'Suddenly the lion got up with anger and looked for those who disturbed its nice sleep. Then it saw a small mouse standing trembling with fear. ', 'The lion jumped on it and started to kill it. The mouse requested the lion to forgive it. The lion felt pity and left it. The mouse ran away.', 'On another day, the lion was caught in a net by a hunter. The mouse came there and cut the net. Thus it escaped. There after, the mouse and the lion became friends. They lived happily in the forest afterwards.'];
images = [null, null, null];
images = 0;
document.getElementById('next_page').addEventListener('click', (event) => {
let element_story = document.getElementById('story');
pages.push(pages[0]);
element_story.innerText = pages.shift();
});
document.getElementById('previous_page').addEventListener('click', (event) => {
let element_story2 = document.getElementById('story');
pages.unshift(pages.slice(-1)[0]);
element_story2.innerText = pages.pop();
});
let element_images = document.getElementById('images');
pages.unshift(pages.shift());
var img;
// Describe this function...
function forward() {
if(--window.LoopTrap <= 0) throw "Infinite loop.";
}
img = ['https://cdn.pixabay.com/photo/2017/07/25/01/22/cat-2536662__480.jpg', 'https://i0.wp.com/thrive50plus.com/wp-content/uploads/2021/12/what-do-you-need-for-your-new-kitten-pet-life-t.jpeg?fit=750%2C500&ssl=1', 'https://i.pinimg.com/originals/af/78/3c/af783c232a225adb7c18e11b3dd57b0d.jpg'];
document.getElementById('next').addEventListener('click', (event) => {
let element_images = document.getElementById('images');
img.push(img[0]);
element_images.setAttribute("src", img.shift());
});
document.getElementById('previous').addEventListener('click', (event) => {
let element_images2 = document.getElementById('images');
img.unshift(img.slice(-1)[0]);
element_images2.setAttribute("src", img.pop());
});
document.getElementById('feedback').addEventListener('click', (event) => {
event.target.style.backgroundColor = '#ffff66';
});
const console = document.getElementById("tests");
prettify.toHTML(run(), console);