| | 705 | def test_load_once_constants_should_not_be_unloaded |
|---|
| | 706 | with_loading 'autoloading_fixtures' do |
|---|
| | 707 | Dependencies.load_once_paths = Dependencies.load_paths |
|---|
| | 708 | ::A |
|---|
| | 709 | assert defined?(A) |
|---|
| | 710 | Dependencies.clear |
|---|
| | 711 | assert defined?(A) |
|---|
| | 712 | end |
|---|
| | 713 | ensure |
|---|
| | 714 | Dependencies.load_once_paths = [] |
|---|
| | 715 | Object.send :remove_const, :A rescue nil |
|---|
| | 716 | end |
|---|
| | 717 | |
|---|
| | 718 | def test_load_once_paths_should_behave_when_recursively_loading |
|---|
| | 719 | with_loading 'dependencies', 'autoloading_fixtures' do |
|---|
| | 720 | Dependencies.load_once_paths = [Dependencies.load_paths.last] |
|---|
| | 721 | CrossSiteDepender.nil? |
|---|
| | 722 | assert defined?(CrossSiteDependency) |
|---|
| | 723 | assert ! Dependencies.autoloaded?(CrossSiteDependency), |
|---|
| | 724 | "CrossSiteDependency shouldn't be marked as autoloaded!" |
|---|
| | 725 | Dependencies.clear |
|---|
| | 726 | assert defined?(CrossSiteDependency), |
|---|
| | 727 | "CrossSiteDependency shouldn't have been unloaded!" |
|---|
| | 728 | end |
|---|
| | 729 | ensure |
|---|
| | 730 | Dependencies.load_once_paths = [] |
|---|
| | 731 | end |
|---|
| | 732 | |
|---|