Skip to content

Commit 91e547f

Browse files
authored
Merge pull request #1 from mohe2015/mohe2015-ci
Add CI and format code
2 parents 1848cdd + 446b70a commit 91e547f

File tree

9 files changed

+64
-64
lines changed

9 files changed

+64
-64
lines changed

.github/workflows/rust.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Rust
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
pull_request:
7+
branches: [ "main" ]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
12+
jobs:
13+
build:
14+
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
- name: Check formatting
20+
run: cargo fmt --check
21+
- name: Build
22+
run: cargo build --verbose
23+
#- name: Run tests
24+
# run: cargo test --verbose

src/command_sender.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,8 @@ pub async fn send_command<T: Serialize, U: DeserializeOwned>(
8484
CommandError::OneshotReceiverError(e)
8585
})?;
8686

87-
8887
debug!("Received response: {:?}", response);
89-
88+
9089
let rslt = response.get(RESULT_KEY).ok_or_else(|| {
9190
error!("Missing result in the response: {:?}", response);
9291
CommandError::MissingResult

src/commands/input.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use super::id;
66
use super::utils;
77
use crate::define_command;
88
use crate::error::CommandError;
9-
use crate::remote::input::*;
109
use crate::local::result_data::EmptyResult;
10+
use crate::remote::input::*;
1111
use crate::session::WebDriverBiDiSession;
1212

1313
// --------------------------------------------------
@@ -37,4 +37,4 @@ define_command!(
3737
SetFilesParameters,
3838
set_files,
3939
EmptyResult
40-
);
40+
);

src/commands/utils.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ where
1616
C: Serialize,
1717
R: for<'de> Deserialize<'de>,
1818
{
19-
2019
match session.send_command::<C, R>(command).await {
2120
Ok(rslt) => {
2221
// debug!("Command with id: {} succeeded", command_id); // Log success

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ mod commands {
1414
pub mod session;
1515
#[macro_use]
1616
mod utils;
17+
pub mod input;
1718
pub mod network;
1819
pub mod script;
1920
pub mod storage;
20-
pub mod input;
2121
pub mod web_extension;
2222
}
2323
mod command_sender;

src/message_handler.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ use tokio_tungstenite::{MaybeTlsStream, WebSocketStream};
1616

1717
// --------------------------------------------------
1818

19-
use crate::session::EventHandler;
2019
use crate::events::EventType;
20+
use crate::session::EventHandler;
2121

2222
// --------------------------------------------------
2323

@@ -67,9 +67,8 @@ pub async fn handle_messages(
6767
} else if json.get(TYPE_FIELD).and_then(|t| t.as_str())
6868
== Some(EVENT_TYPE_VALUE)
6969
{
70-
if let Some(event_type_str) = json
71-
.get(METHOD_FIELD)
72-
.and_then(|method| method.as_str())
70+
if let Some(event_type_str) =
71+
json.get(METHOD_FIELD).and_then(|method| method.as_str())
7372
{
7473
if let Ok(event_type) = EventType::from_str(event_type_str) {
7574
let event_handlers = Arc::clone(&event_handlers);

src/models/remote/script.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#![allow(clippy::all)]
22

3-
use crate::remote::browsing_context::BrowsingContext;
43
use crate::remote::browser::UserContext;
4+
use crate::remote::browsing_context::BrowsingContext;
55
use crate::remote::{Extensible, JsUint};
66
use serde::{Deserialize, Serialize};
77

@@ -1209,7 +1209,7 @@ pub struct AddPreloadScriptParameters {
12091209
#[serde(skip_serializing_if = "Option::is_none")]
12101210
pub contexts: Option<Vec<BrowsingContext>>,
12111211
#[serde(skip_serializing_if = "Option::is_none", rename = "userContexts")]
1212-
pub user_contexts: Option<Vec<UserContext>>,
1212+
pub user_contexts: Option<Vec<UserContext>>,
12131213
#[serde(skip_serializing_if = "Option::is_none")]
12141214
pub sandbox: Option<String>,
12151215
}

tests/browser.rs

Lines changed: 14 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ mod remove_user_context {
307307
}
308308

309309
#[tokio::test]
310-
async fn test_remove_context_closes_contexts() -> Result<()> {
310+
async fn test_remove_context_closes_contexts() -> Result<()> {
311311
let mut bidi_session = utils::session::init().await?;
312312

313313
let events = Arc::new(Mutex::new(Vec::<serde_json::Value>::new()));
@@ -338,51 +338,39 @@ mod remove_user_context {
338338
None,
339339
None,
340340
))
341-
.await
342-
?;
341+
.await?;
343342

344343
let user_context_1 = utils::create_user_context(&mut bidi_session).await?;
345344
let user_context_2 = utils::create_user_context(&mut bidi_session).await?;
346345

347-
let context_1 = utils::new_tab_in_user_context(&mut bidi_session, user_context_1.clone())
348-
.await
349-
?;
346+
let context_1 =
347+
utils::new_tab_in_user_context(&mut bidi_session, user_context_1.clone()).await?;
350348

351-
let context_2 = utils::new_tab_in_user_context(&mut bidi_session, user_context_1.clone())
352-
.await
353-
?;
349+
let context_2 =
350+
utils::new_tab_in_user_context(&mut bidi_session, user_context_1.clone()).await?;
354351

355-
let context_3 = utils::new_tab_in_user_context(&mut bidi_session, user_context_2.clone())
356-
.await
357-
?;
352+
let context_3 =
353+
utils::new_tab_in_user_context(&mut bidi_session, user_context_2.clone()).await?;
358354

359-
let context_4 = utils::new_tab_in_user_context(&mut bidi_session, user_context_2.clone())
360-
.await
361-
?;
355+
let context_4 =
356+
utils::new_tab_in_user_context(&mut bidi_session, user_context_2.clone()).await?;
362357

363358
bidi_session
364359
.browser_remove_user_context(RemoveUserContextParameters::new(user_context_1))
365-
.await
366-
?;
360+
.await?;
367361

368362
let initial_events_len = events.lock().await.len();
369363

370364
let initial_destroyed_contexts = events
371365
.lock()
372366
.await
373367
.iter()
374-
.map(|event| {
375-
event.clone()["params"]["context"]
376-
.as_str()
377-
?
378-
.to_string()
379-
})
368+
.map(|event| event.clone()["params"]["context"].as_str()?.to_string())
380369
.collect::<Vec<_>>();
381370

382371
bidi_session
383372
.browser_remove_user_context(RemoveUserContextParameters::new(user_context_2))
384-
.await
385-
?;
373+
.await?;
386374

387375
utils::close_session(&mut bidi_session).await?;
388376

@@ -392,12 +380,7 @@ mod remove_user_context {
392380
.lock()
393381
.await
394382
.iter()
395-
.map(|event| {
396-
event.clone()["params"]["context"]
397-
.as_str()
398-
?
399-
.to_string()
400-
})
383+
.map(|event| event.clone()["params"]["context"].as_str()?.to_string())
401384
.collect::<Vec<_>>();
402385

403386
assert!(initial_events_len == 2);

tests/browsing_context.rs

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
// use webdriverbidi::remote::browsing_context::ActivateParameters;
32
// use webdriverbidi::remote::script::{ContextTarget, EvaluateParameters, Target};
43

@@ -202,7 +201,6 @@ mod utils;
202201
// }
203202
// }
204203

205-
206204
// // async def get_viewport_dimensions(bidi_session, context: str,
207205
// // with_scrollbar: bool = True, quirk_mode: bool = False):
208206
// // if with_scrollbar:
@@ -247,11 +245,11 @@ mod utils;
247245
// // https://github.com/web-platform-tests/wpt/tree/master/webdriver/tests/bidi/browsing_context/capture_screenshot
248246
// mod capture_screenshot {
249247
// use super::*;
250-
248+
251249
// // async def test_capture(bidi_session, top_context, inline, compare_png_bidi,
252250
// // activate):
253251
// // expected_size = await get_physical_viewport_dimensions(bidi_session, top_context)
254-
252+
255253
// // await bidi_session.browsing_context.navigate(
256254
// // context=top_context["context"], url="about:blank", wait="complete"
257255
// // )
@@ -261,7 +259,7 @@ mod utils;
261259
// // reference_data = await bidi_session.browsing_context.capture_screenshot(
262260
// // context=top_context["context"])
263261
// // assert png_dimensions(reference_data) == expected_size
264-
262+
265263
// // await bidi_session.browsing_context.navigate(
266264
// // context=top_context["context"], url=inline("<div>foo</div>"), wait="complete"
267265
// // )
@@ -270,10 +268,10 @@ mod utils;
270268
// // context=top_context["context"])
271269
// // data = await bidi_session.browsing_context.capture_screenshot(
272270
// // context=top_context["context"])
273-
271+
274272
// // comparison = await compare_png_bidi(data, reference_data)
275273
// // assert not comparison.equal()
276-
274+
277275
// // # Take a second screenshot that should be identical to validate that
278276
// // # we don't just always return false here
279277
// // await bidi_session.browsing_context.navigate(
@@ -284,58 +282,56 @@ mod utils;
284282
// // context=top_context["context"])
285283
// // new_data = await bidi_session.browsing_context.capture_screenshot(
286284
// // context=top_context["context"])
287-
285+
288286
// // comparison = await compare_png_bidi(new_data, data)
289287
// // assert comparison.equal()
290-
291-
288+
292289
// // @pytest.mark.parametrize("delta_width", [-10, +20], ids=["width smaller", "width larger"])
293290
// // @pytest.mark.parametrize("delta_height", [-30, +40], ids=["height smaller", "height larger"])
294291
// // @pytest.mark.asyncio
295292
// // async def test_capture_with_viewport(bidi_session, new_tab, delta_width, delta_height):
296293
// // original_viewport = await get_viewport_dimensions(bidi_session, new_tab)
297-
294+
298295
// // dpr = await get_device_pixel_ratio(bidi_session, new_tab)
299-
296+
300297
// // test_viewport = {
301298
// // "width": original_viewport["width"] + delta_width,
302299
// // "height": original_viewport["height"] + delta_height
303300
// // }
304301
// // await bidi_session.browsing_context.set_viewport(
305302
// // context=new_tab["context"],
306303
// // viewport=test_viewport)
307-
304+
308305
// // expected_size = {
309306
// // "width": floor(test_viewport["width"] * dpr),
310307
// // "height": floor(test_viewport["height"] * dpr)
311308
// // }
312-
309+
313310
// // await bidi_session.browsing_context.navigate(
314311
// // context=new_tab["context"], url="about:blank", wait="complete"
315312
// // )
316-
313+
317314
// // result = await bidi_session.browsing_context.capture_screenshot(
318315
// // context=new_tab["context"])
319316
// // assert png_dimensions(result) == (expected_size["width"], expected_size["height"])
320-
321-
317+
322318
// // @pytest.mark.parametrize("dpr", [0.5, 2])
323319
// // @pytest.mark.asyncio
324320
// // async def test_capture_with_different_dpr(bidi_session, new_tab, inline, dpr):
325321
// // page = inline("<div style='background-color: black; width: 100px; height: 100px;'></div>")
326322
// // await bidi_session.browsing_context.navigate(
327323
// // context=new_tab["context"], url=page, wait="complete"
328324
// // )
329-
325+
330326
// // original_viewport = await get_viewport_dimensions(bidi_session, new_tab)
331-
327+
332328
// // await bidi_session.browsing_context.set_viewport(
333329
// // context=new_tab["context"],
334330
// // device_pixel_ratio=dpr)
335-
331+
336332
// // expected_width = original_viewport["width"] * dpr
337333
// // expected_height = original_viewport["height"] * dpr
338-
334+
339335
// // data = await bidi_session.browsing_context.capture_screenshot(context=new_tab["context"])
340336
// // (actual_width, actual_height) = png_dimensions(data)
341337
// // # The rounding is implementation-specific and can be either floor, ceil or round depending on the browser

0 commit comments

Comments
 (0)