jay-compositor 1.15.0

The Jay compositor
use crate::it::test_client::TestClientExt;
use crate::it::test_error::TestError;
use crate::it::testrun::TestRun;
use crate::rect::Rect;
use crate::tree::NodeBase;
use crate::tree::TreeTimeline::LiveTL;
use std::rc::Rc;

testcase!();

/// Create and map two surfaces
async fn test(run: Rc<TestRun>) -> Result<(), TestError> {
    run.backend.install_default().await?;

    let client = run.create_client()?;

    let window = client.create_window().await?;
    window.map().await?;

    let window2 = client.create_window().await?;
    window2.map().await?;

    let otop = 2 * run.state.theme.title_plus_underline_height();
    let bw = run.state.theme.sizes.border_width.get();

    tassert_eq!(
        window.tl.server.node_absolute_position(LiveTL),
        Rect::new_sized(0, otop, (800 - bw) / 2, 600 - otop).unwrap()
    );

    tassert_eq!(
        window2.tl.server.node_absolute_position(LiveTL),
        Rect::new_sized((800 - bw) / 2 + bw, otop, (800 - bw) / 2, 600 - otop).unwrap()
    );

    Ok(())
}