//
//  StubManagedInsetsPlugin.swift
//  Astro
//
//  Created by Justin Vaillancourt on 2015-06-30.
//  Copyright (c) 2015 Mobify Research & Development Inc. All rights reserved.
//

@testable import Astro

class StubManagedContentInsetsPlugin: Plugin, ViewPlugin {
    class ManagedContentInsetsViewController: UIViewController, ManagedContentInsets {
        var insets: UIEdgeInsets?
        var scrollIndicatorInsets: UIEdgeInsets?

        func adjust(contentInsets: UIEdgeInsets, scrollIndicatorInsets: UIEdgeInsets) {
            self.insets = contentInsets
            self.scrollIndicatorInsets = scrollIndicatorInsets
        }
    }

    @objc let viewController = ManagedContentInsetsViewController() as UIViewController
    @objc var typedViewController: ManagedContentInsetsViewController {
        return viewController as! ManagedContentInsetsViewController
    }

    var insets: UIEdgeInsets? {
        return typedViewController.insets
    }

    required init(address: MessageAddress, messageBus: MessageBus, pluginResolver: PluginResolver, options: JSONObject?) {
        super.init(address: address, messageBus: messageBus, pluginResolver: pluginResolver, options: options)
    }
}
