// file: crates/ksp-program-api/tests/public_api.rs // version: 1 //! Integration canaries for the public `ksp-program-api` scaffold. fn consume_result(value: ksp_program_api::Result) -> ksp_program_api::Result { return value; } #[test] fn public_pre_002_core_and_interface_facade_is_available_from_crate_root() { let program_id = ksp_program_api::Pubkey::new_from_array([0xA1_u8; 32]); let account_id = ksp_program_api::Pubkey::new_from_array([0xA2_u8; 32]); let account = ksp_program_api::ProgramAccountMeta::readonly(account_id, true); let instruction = ksp_program_api::ProgramInstruction::try_new(program_id, std::vec![account], std::vec![0xA3_u8]); assert!(instruction.is_ok()); let forwarded = consume_result(std::result::Result::Ok(program_id)); assert!(forwarded.is_ok()); let error_code_type: std::option::Option = std::option::Option::None; let error_context_type: std::option::Option = std::option::Option::None; let error_type: std::option::Option = std::option::Option::None; assert!(error_code_type.is_none()); assert!(error_context_type.is_none()); assert!(error_type.is_none()); return; } #[test] fn public_pre_002_scaffold_does_not_require_private_modules() { let source = include_str!("../src/lib.rs"); assert!(!source.contains("pub mod ")); return; }