(resource: Resource, controller: DbgController)
| 467 | |
| 468 | |
| 469 | def test_tasker_api(resource: Resource, controller: DbgController): |
| 470 | print("\n=== test_tasker_api ===") |
| 471 | |
| 472 | # 测试全局选项 (静态方法) |
| 473 | Tasker.set_save_draw(True) |
| 474 | Tasker.set_stdout_level(LoggingLevelEnum.All) |
| 475 | log_dir = install_dir / "bin" / "debug" / "新建文件夹" |
| 476 | assert Tasker.set_log_dir(log_dir) |
| 477 | Tasker.set_debug_mode(True) |
| 478 | Tasker.set_save_on_error(True) |
| 479 | Tasker.set_draw_quality(85) |
| 480 | Tasker.set_reco_image_cache_limit(4096) |
| 481 | |
| 482 | # 创建 Tasker |
| 483 | tasker = Tasker() |
| 484 | print(f" tasker: {tasker}") |
| 485 | |
| 486 | # 测试事件监听器 |
| 487 | tasker_sink = MyTaskerEventSink() |
| 488 | context_sink = MyContextEventSink() |
| 489 | tasker_sink_id = tasker.add_sink(tasker_sink) |
| 490 | context_sink_id = tasker.add_context_sink(context_sink) |
| 491 | print(f" tasker_sink_id: {tasker_sink_id}, context_sink_id: {context_sink_id}") |
| 492 | |
| 493 | # 绑定资源和控制器 |
| 494 | tasker.bind(resource, controller) |
| 495 | print(f" inited: {tasker.inited}") |
| 496 | |
| 497 | if not tasker.inited: |
| 498 | print("Failed to init tasker") |
| 499 | raise RuntimeError("Failed to init tasker") |
| 500 | |
| 501 | # 测试 resource 和 controller 属性 |
| 502 | bound_resource = tasker.resource |
| 503 | bound_controller = tasker.controller |
| 504 | print(f" bound_resource loaded: {bound_resource.loaded}") |
| 505 | print(f" bound_controller connected: {bound_controller.connected}") |
| 506 | |
| 507 | # 测试 post_task |
| 508 | ppover = { |
| 509 | "Entry": {"next": "Rec"}, |
| 510 | "Rec": { |
| 511 | "recognition": "Custom", |
| 512 | "custom_recognition": "MyRec", |
| 513 | "action": "Custom", |
| 514 | "custom_action": "MyAct", |
| 515 | "custom_action_param": "Test111222333", |
| 516 | }, |
| 517 | } |
| 518 | |
| 519 | detail = tasker.post_task("Entry", ppover).wait().get() |
| 520 | if detail: |
| 521 | print(f" task detail entry: {detail.entry}, status: {detail.status}") |
| 522 | print(f" task nodes count: {len(detail.nodes)}") |
| 523 | |
| 524 | # 测试 get_task_detail |
| 525 | task_detail = tasker.get_task_detail(detail.task_id) |
| 526 | print(f" get_task_detail: {task_detail.entry if task_detail else None}") |
no test coverage detected