add gs
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
--[[
|
||||
Component that wraps its provided children with a store provider,
|
||||
a LayoutValues object, and a ScreenGui. Convenient for testing!
|
||||
]]
|
||||
local CorePackages = game:GetService("CorePackages")
|
||||
local LocalizationService = game:GetService("LocalizationService")
|
||||
|
||||
local Roact = require(CorePackages.Roact)
|
||||
local Rodux = require(CorePackages.Rodux)
|
||||
local RoactRodux = require(CorePackages.RoactRodux)
|
||||
|
||||
local LayoutValues = require(script.Parent.Parent.Services.LayoutValues)
|
||||
local LayoutValuesProvider = require(script.Parent.Parent.Components.Connection.LayoutValuesProvider)
|
||||
|
||||
local LocalizationContextProvider = require(script.Parent.Parent.Components.Connection.LocalizationContextProvider)
|
||||
local getLocalizationContext = require(script.Parent.Parent.Localization.getLocalizationContext)
|
||||
|
||||
local Reducer = require(script.Parent.Parent.Reducers.Reducer)
|
||||
|
||||
local UnitTestContainer = Roact.Component:extend("UnitTestContainer")
|
||||
|
||||
function UnitTestContainer:init()
|
||||
self.layoutValues = LayoutValues.generate(false)
|
||||
|
||||
self.store = self.props.overrideStore or Rodux.Store.new(Reducer, {})
|
||||
|
||||
local locale = self.props.overrideLocale or LocalizationService.RobloxLocaleId
|
||||
self.localizationContext = getLocalizationContext(locale)
|
||||
end
|
||||
|
||||
function UnitTestContainer:render()
|
||||
assert(#self.props[Roact.Children] > 0,
|
||||
"UnitTestContainer: no children provided, nothing will be tested")
|
||||
|
||||
return Roact.createElement(RoactRodux.StoreProvider, {
|
||||
store = self.store,
|
||||
}, {
|
||||
PurchasePrompt = Roact.createElement(LocalizationContextProvider, {
|
||||
localizationContext = self.localizationContext,
|
||||
render = function()
|
||||
return Roact.createElement(LayoutValuesProvider, {
|
||||
layoutValues = self.layoutValues,
|
||||
render = function()
|
||||
return Roact.createElement("ScreenGui", {
|
||||
AutoLocalize = false,
|
||||
IgnoreGuiInset = true,
|
||||
}, self.props[Roact.Children])
|
||||
end,
|
||||
})
|
||||
end,
|
||||
})
|
||||
})
|
||||
end
|
||||
|
||||
return UnitTestContainer
|
||||
Reference in New Issue
Block a user