Skip to content

Commit

Permalink
chore(i18n,curriculum): processed translations (#43361)
Browse files Browse the repository at this point in the history
  • Loading branch information
camperbot authored Sep 3, 2021
1 parent 53c88ef commit fddb883
Show file tree
Hide file tree
Showing 36 changed files with 530 additions and 521 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,25 @@ dashedName: understanding-the-differences-between-the-freecodecamp-and-browser-c

# --description--

你可能已經注意到一些 freeCodeCamp JavaScript 的挑戰有自己的控制檯。 這些控制檯的行爲與上一次挑戰中使用的瀏覽器控制檯略有不同
你可能已經注意到一些 freeCodeCamp 的挑戰有自己的控制檯。 這個控制檯的行爲與瀏覽器控制檯有些不同

以下挑戰旨在強調 freeCodeCamp 控制檯與瀏覽器控制檯之間的一些差異
有許多方法可以與 `console` 一起使用來輸出消息。 `log``warn``clear` 就是幾個例子。 freeCodeCamp 控制檯只會輸出 `log` 消息,而瀏覽器控制檯會輸出所有消息。 當你對你的代碼進行修改時,它將自動運行並顯示日誌。 每次代碼運行時,freeCodeCamp 控制檯都會被清除

當在瀏覽器中加載並運行 JavaScript 文件時,`console.log()` 語句會在控制檯中按照調用的次數準確地打印出要求的內容。

在編輯器檢測到腳本中的更改之後,以及測試期間,freeCodeCamp 控制檯將打印 `console.log()` 語句。

在運行測試之前,將清除 freeCodeCamp 控制檯,爲避免破壞,僅在第一次測試期間打印日誌(請參見下面的註釋)。
# --instructions--

如果你想看到每次測試的日誌,運行測試,並打開瀏覽器控制檯。 如果你喜歡使用瀏覽器控制檯,想要它模仿 freeCodeCamp 控制檯,請在其他 `console` 調用前加上 `console.clear()`,以清除瀏覽器控制檯
首先,打開瀏覽器控制檯,以便查看日誌。 要做到這一點,在大多數瀏覽器上,你可以右擊頂部的 freeCodeCamp 導航欄,並點擊 `inspect`。 然後在打開的窗口中找到 `console` 選項卡

**注意:** 每次調用函數時,函數內的 `console.log` 都會被打印到 freeCodeCamp 控制檯。 這樣可以幫助在測試期間調試函數
之後,使用 `console.log` 記錄 `output` 變量。 查看這兩個控制檯,可以看到日誌。 最後,在你的日誌後面使用 `console.clear` 清除瀏覽器控制檯。 查看兩個控制檯的差異

# --instructions--
# --hints--

首先,使用 `console.log` 打印 `output` 變量。 然後使用 `console.clear` 清除瀏覽器控制檯
你應該使用 `console.log()` 來打印 `output` 變量。

# --hints--
```js
assert(__helpers.removeWhiteSpace(code).match(/console\.log\(output\)/));
```

應該使用 `console.clear()` 清除瀏覽器控制檯
你應該使用 `console.clear()` 來清除瀏覽器控制檯

```js
assert(
Expand All @@ -38,36 +36,30 @@ assert(
);
```

應該使用 `console.log()` 打印 `output` 變量
你應該在你的日誌之後清除控制檯

```js
assert(__helpers.removeWhiteSpace(code).match(/console\.log\(output\)/));
assert(
__helpers
.removeWhiteSpace(code)
.match(/console\.log\(output\)[\s\S]*console.clear\(\)/)
);
```

# --seed--

## --seed-contents--

```js
// Open your browser console.
let output = "Get this to log once in the freeCodeCamp console and twice in the browser console";
// Use console.log() to print the output variable.

// Run the tests to see the difference between the two consoles.
let output = "Get this to show once in the freeCodeCamp console and not at all in the browser console";

// Now, add console.clear() before your console.log() to clear the browser console, and pass the tests.
```

# --solutions--

```js
// Open your browser console.
let output = "Get this to log once in the freeCodeCamp console and twice in the browser console";
// Use console.log() to print the output variable.
console.clear();
console.log(output);

// Run the tests to see the difference between the two consoles.
let output = "Get this to show once in the freeCodeCamp console and not at all in the browser console";

// Now, add console.clear() before your console.log() to clear the browser console, and pass the tests.
console.log(output);
console.clear();
```
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,52 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iii---put-me

請注意,本項目在[這個 Replit 項目](https://replit.com/github/freeCodeCamp/boilerplate-mochachai)的基礎上進行開發。你也可以從 [GitHub](https://repl.it/github/freeCodeCamp/boilerplate-mochachai) 上克隆。

接下來,我們將瞭解如何使用請求的 payload(body)發送數據。 我們需要測試一個 PUT 請求, `'/travellers'` 接收如下的 JSON 對象:
當你測試一個 `PUT` 請求時,你經常會隨同它一起發送數據。 你在 `PUT` 請求中包含的數據被稱爲請求的主體。

```json
{
"surname": [last name of a traveller of the past]
}
要將 `PUT` 請求和 JSON 對象發送到 `'/travellers'` 端點,你可以使用 `chai-http` 插件的 `put``send` 方法:

```js
chai
.request(server)
.put('/travellers')
.send({
"surname": [last name of a traveller of the past]
})
...
```

路由響應如下
並且路由響應如下

```json
{
"name": [first name], "surname": [last name], "dates": [birth - death years]
"name": [first name],
"surname": [last name],
"dates": [birth - death years]
}
```

更多細節請查看服務器代碼
請參閱服務器代碼以瞭解對 `'/travellers'` 端點的不同響應

# --instructions--

`tests/2_functional-tests.js` 中,修改 `'send {surname: "Colombo"}'` 測試(`// #3`
`tests/2_functional-tests.js` 中,更改 `'Send {surname: "Colombo"}'` 測試(`// #3`,並使用 `put``send` 方法來測試 `'/travellers'` 端點。

發送以下 JSON 響應作爲有效載荷:
在你的 PUT 請求中發送以下 JSON 對象。

```json
{
"surname": "Colombo"
}
```

`request.end` 返回中檢查以下情況
`request.end` 的返回中檢查以下情況

1. `status`
2. `type`
3. `body.name`
4. `body.surname`
1. `status` 應該是 `200`
2. `type` 應該是 `application/json`
3. `body.name` 應該是 `Cristoforo`
4. `body.surname` 應該是 `Colombo`

請按照以上順序書寫斷言,順序錯誤會影響系統判定。 完成後,請務必移除 `assert.fail()`
請按照以上順序書寫斷言,順序錯誤會影響系統判定。 此外,請確保在完成後刪除 `assert.fail()`

# --hints--

Expand All @@ -65,7 +73,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iii---put-me
);
```

應測試 “res.status” 是否爲 200。
應該測試 `res.status` 200。

```js
(getUserInput) =>
Expand All @@ -81,7 +89,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iii---put-me
);
```

需要測試 “res.type 是否爲 application/json
應該測試 `res.type` 是否爲 `'application/json'`

```js
(getUserInput) =>
Expand All @@ -97,7 +105,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iii---put-me
);
```

需要測試 “res.body.name 是否爲 Cristoforo
你應該測試 `res.body.name` 是否爲 `'Cristoforo'`

```js
(getUserInput) =>
Expand All @@ -113,7 +121,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iii---put-me
);
```

需要測試 “res.body.surname 是否爲 Colombo
你應該測試 `res.body.surname` 是否爲 `'Colombo'`

```js
(getUserInput) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,34 +8,36 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iv---put-met

# --description--

請注意,本項目在[這個 Replit 項目](https://replit.com/github/freeCodeCamp/boilerplate-mochachai)的基礎上進行開發。你也可以從 [GitHub](https://repl.it/github/freeCodeCamp/boilerplate-mochachai) 上克隆。 這個練習與上一個類似, 我們詳細看看
請注意,本項目在 [這個 Replit 項目](https://replit.com/github/freeCodeCamp/boilerplate-mochachai) 的基礎上進行開發。你也可以從 [GitHub](https://github.com/freeCodeCamp/boilerplate-mochachai/) 上克隆。

你已經看到了它是如何完成的,現在你需要從零開始搭建。
這個練習與上一個類似。

現在你知道如何測試一個 `PUT` 請求了,輪到你從頭開始做了。

# --instructions--

`tests/2_functional-tests.js` 中,修改 `'send {surname: "da Verrazzano"}'` 測試(`// #4`)。
`tests/2_functional-tests.js` 中,更改 `'Send {surname: "da Verrazzano"}'` 測試(`// #4`並使用 `put``send` 方法來測試 `'/travellers'` 端點

發送以下 JSON 響應作爲有效載荷到 `/travellers` 路徑:
在你的 PUT 請求中發送以下 JSON 對象。

```json
{
"surname": "da Verrazzano"
}
```

`request.end` 返回中檢查以下情況
`request.end` 的返回中檢查以下情況

1. `status`
2. `type`
3. `body.name`
4. `body.surname`
1. `status` 應該是 `200`
2. `type` 應該是 `application/json`
3. `body.name` 應該是 `Giovanni`
4. `body.surname` 應該是 `da Verrazzano`

請按照以上順序書寫斷言,順序錯誤會影響系統判定。 完成後請務必刪除 `assert.fail()`
請按照以上順序書寫斷言,順序錯誤會影響系統判定。 此外,請確保在完成後刪除 `assert.fail()`

# --hints--

需要通過所有測試
應通過所有測試

```js
(getUserInput) =>
Expand All @@ -49,7 +51,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iv---put-met
);
```

需要測試 “res.status” 是否爲 200。
應該測試 `res.status` 200。

```js
(getUserInput) =>
Expand All @@ -65,7 +67,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iv---put-met
);
```

需要測試 “res.type 是否爲 application/json
應該測試 `res.type` 是否爲 `'application/json'`

```js
(getUserInput) =>
Expand All @@ -81,7 +83,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iv---put-met
);
```

需要測試 “res.body.name” 爲 “Giovanni”。
應該測試 `res.body.name` 是否爲 `'Giovanni'`

```js
(getUserInput) =>
Expand All @@ -97,7 +99,7 @@ dashedName: run-functional-tests-on-an-api-response-using-chai-http-iv---put-met
);
```

需要測試 “res.body.surname 是否爲 da Verrazzano”。
應該測試 `res.body.surname` 是否爲 `'da Verrazzano'`

```js
(getUserInput) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ dashedName: run-functional-tests-on-api-endpoints-using-chai-http-ii

# --instructions--

`tests/2_functional-tests.js` 中,修改 `'Test GET /hello with your name'` 測試(`// #2`), `status``text` 斷言
`tests/2_functional-tests.js` 中,修改 `'Test GET /hello with your name'` 測試(`// #2`),對響應的 `status``text` 使用斷言來通過測試

在查詢中發送 name,將 `?name=<your_name>` 添加到路由。 端點響應 `'hello <your_name>'`
通過將 `?name=<your_name>` 附加到路由,將你的姓名作爲 URL 查詢發送。 端點響應 `'hello <your_name>'`

# --hints--

Expand All @@ -32,7 +32,7 @@ dashedName: run-functional-tests-on-api-endpoints-using-chai-http-ii
);
```

應測試 “res.status” 是否爲 200
應該測試 `res.status` 200

```js
(getUserInput) =>
Expand All @@ -48,7 +48,7 @@ dashedName: run-functional-tests-on-api-endpoints-using-chai-http-ii
);
```

應測試 “res.text“ 是否爲 ”hello Guest“。
應該測試 `res.text` == `'hello <your_name>'`

```js
(getUserInput) =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,36 @@ dashedName: run-functional-tests-on-api-endpoints-using-chai-http

請注意,本項目在[這個 Replit 項目](https://replit.com/github/freeCodeCamp/boilerplate-mochachai)的基礎上進行開發。你也可以從 [GitHub](https://repl.it/github/freeCodeCamp/boilerplate-mochachai) 上克隆。

Mocha 允許測試異步操作。 有一個差異, 你能發現它嗎?
Mocha 允許你使用名爲 `chai-http` 的插件測試異步操作,例如調用 API 端點。

我們可以使用一個叫作 `chai-http` 的插件測試 API 端點。 讓我們看看它是如何工作的。 請記住,API 調用是異步的。

以下是使用 `chai-http` 測試 `'GET /hello?name=[name] => "hello [name]"'` 套件的例子。 測試通過 `GET` 請求在 url 查詢字符串 `?name=John` 中發送一個名稱字符串給 `server`。 在 `end` 方法的回調函數中,接收包含 `status` 屬性的響應對象(`res`)。 第一個 `assert.equal` 檢查狀態是否爲 `200`。 第二個 `assert.equal` 檢查響應字符串 `res.text` 是否爲 `"hello John"`
以下是使用 `chai-http` 測試名爲 `'GET /hello?name=[name] => "hello [name]"'` 的套件的示例:

```js
suite('GET /hello?name=[name] => "hello [name]"', function () {
test("?name=John", function (done) {
test('?name=John', function (done) {
chai
.request(server)
.get("/hello?name=John")
.get('/hello?name=John')
.end(function (err, res) {
assert.equal(res.status, 200, "response status should be 200");
assert.equal(
res.text,
"hello John",
'response should be "hello John"'
);
assert.equal(res.status, 200, 'Response status should be 200');
assert.equal(res.text, 'hello John', 'Response should be "hello John"');
done();
});
});
});
```

請注意測試的回調函數中的 `done` 參數。 在沒有傳入參數的情況下調用它,是成功完成異步任務所必需的。
該測試向服務器發送一個 `GET` 請求,並將名稱作爲 URL 查詢字符串(`?name=John`)。 在`end` 方法的回調函數中,接收到響應對象(`res`)幷包含 `status` 屬性。

第一個 `assert.equal` 檢查狀態是否爲 `200`。 第二個 `assert.equal` 檢查響應字符串(`res.text`)是否爲 `"hello John"`

同時,請注意測試的回調函數中的 `done` 參數。 在測試結束時,調用它且不帶參數,是發出異步操作完成所必需的信號。

# --instructions--

`tests/2_functional-tests.js` 中,修改 `'Test GET /hello with no name'` 測試(`// #1`), `status` 和 `text` 使用斷言。 不要修改傳給斷言的參數
`tests/2_functional-tests.js` 中,修改 `'Test GET /hello with no name'` 測試(`// #1`),對響應的 `status``text` 使用斷言來通過測試。 不要改變傳遞給斷言的參數

不要在 query 中傳入 name,端點將會返回 `hello Guest`
不應該有任何 URL 查詢。 如果沒有名稱 URL 查詢,端點將使用 `hello Guest` 進行響應

# --hints--

Expand All @@ -58,7 +57,7 @@ suite('GET /hello?name=[name] => "hello [name]"', function () {
);
```

應測試 “res.status” 是否爲 200
應該測試 `res.status` 200。

```js
(getUserInput) =>
Expand All @@ -74,7 +73,7 @@ suite('GET /hello?name=[name] => "hello [name]"', function () {
);
```

應測試 “res.text“ 是否爲 ”hello Guest
應該測試 `res.text` == `'hello Guest'`

```js
(getUserInput) =>
Expand Down
Loading

0 comments on commit fddb883

Please sign in to comment.