- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
57 lines
1.7 KiB
Swift
57 lines
1.7 KiB
Swift
// Copyright 2022-present 650 Industries. All rights reserved.
|
|
|
|
import ExpoModulesTestCore
|
|
|
|
@testable import ExpoModulesCore
|
|
|
|
final class ViewDefinitionSpec: ExpoSpec {
|
|
override class func spec() {
|
|
describe("View") {
|
|
it("creates a view") {
|
|
let definition = View(UIImageView.self) {}
|
|
let view = definition.createView(appContext: AppContext())
|
|
expect(view).to(beAKindOf(UIImageView.self))
|
|
}
|
|
}
|
|
|
|
describe("Prop") {
|
|
let appContext = AppContext.create()
|
|
|
|
it("sets the prop") {
|
|
let textView = UITextView()
|
|
let content = "hello"
|
|
let definition = View(UITextView.self) {
|
|
Prop("content") { (view: UITextView, value: String) in
|
|
view.text = value
|
|
}
|
|
}
|
|
try definition.propsDict()["content"]?.set(value: content, onView: textView, appContext: appContext)
|
|
expect(textView.text) == content
|
|
}
|
|
|
|
it("infers view type") {
|
|
let textView = UITextView()
|
|
let content = "hello"
|
|
let definition = View(UITextView.self) {
|
|
// The type of `view` is inferred and equals to the type passed to `View`.
|
|
Prop("content") { (view, _: String) in
|
|
expect(view).to(beAKindOf(UITextView.self))
|
|
}
|
|
}
|
|
try definition.propsDict()["content"]?.set(value: content, onView: textView, appContext: appContext)
|
|
}
|
|
}
|
|
|
|
describe("Events") {
|
|
it("defines events") {
|
|
let imageLoadedEvent = "imageLoaded"
|
|
let imageFailedEvent = "imageFailed"
|
|
let definition = View(UIImageView.self) {
|
|
Events(imageLoadedEvent, imageFailedEvent)
|
|
}
|
|
expect(definition.eventNames).to(contain(imageLoadedEvent, imageFailedEvent))
|
|
}
|
|
}
|
|
}
|
|
}
|