Files
react-native/scripts/cocoapods/__tests__/test_utils/DirMock.rb
T
Riccardo Cipolleschi 8fe2b591c7 Move LocalPodspecPatch to dedicated file (#34025)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/34025

This diff moves the monkeypatch LocalPodspecPatch to a dedicated ruby file.
It also adds test for that

## Changelog
[iOS][Changed] - Move LocalPodspecPatch to dedicated file

Reviewed By: cortinico

Differential Revision: D37069361

fbshipit-source-id: 28fddb197484f45aa20ccac516c874e79448e999
2022-06-27 01:19:36 -07:00

81 lines
2.0 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
class Dir
@@is_testing = false
@@exist_invocation_params = []
@@mocked_existing_dirs = []
@@glob_invocation = []
@@mocked_existing_globs = {}
@@pwd = nil
# Monkey patched exists? method.
# It is used also by the test runner, so it can't start monkey patched
# To use this, invoke the `is_testing` method before starting your test.
# Remember to invoke `reset` after the test.
def self.exist?(path)
if !@@is_testing
return exists?(path)
end
@@exist_invocation_params.push(path)
return @@mocked_existing_dirs.include?(path)
end
# Getter for the `exist_invocation_params` to check that the exist method
# is invoked with the right parameters
def self.exist_invocation_params()
return @@exist_invocation_params
end
# Set the list of dirs the test must return as existing
def self.mocked_existing_dirs(dirs)
@@mocked_existing_dirs = dirs
end
# Set what the `glob` function should return
def self.mocked_existing_globs(globs, path)
@@mocked_existing_globs[path] = globs
end
def self.glob_invocation
return @@glob_invocation
end
def self.glob(path)
@@glob_invocation.push(path)
return @@mocked_existing_globs[path]
end
def self.set_pwd(pwd)
@@pwd = pwd
end
def self.pwd
if @@pwd != nil
return @@pwd
end
return pwd
end
# Turn on the mocking features of the File mock
def self.enable_testing_mode!()
@@is_testing = true
end
# Resets all the settings for the File mock
def self.reset()
@@pwd = nil
@@mocked_existing_dirs = []
@@is_testing = false
@@exist_invocation_params = []
@@glob_invocation = []
@@mocked_existing_globs = {}
end
end