Comments (4)
This is a larger issue that fakefs does not also mock out the non-module constants that File and FileUtils has. We'll have to be ever so slightly tricky because some of the constants are OS and possibly machine dependent.
File.constants.each do |c|
unless File.const_get(c).is_a?(Module)
puts "#{c}: #{File.const_get(c).inspect}"
end
end
Output on Mac OS X 10.5:
NOCTTY: 131072
Separator: "/"
LOCK_EX: 2
CREAT: 512
RDONLY: 0
FNM_DOTMATCH: 4
PATH_SEPARATOR: ":"
TRUNC: 1024
SEEK_END: 2
LOCK_SH: 1
APPEND: 8
FNM_PATHNAME: 2
ALT_SEPARATOR: nil
LOCK_NB: 4
NONBLOCK: 4
SEEK_CUR: 1
RDWR: 2
FNM_SYSCASE: 0
SYNC: 128
FNM_NOESCAPE: 1
SEPARATOR: "/"
LOCK_UN: 8
EXCL: 2048
SEEK_SET: 0
WRONLY: 1
FNM_CASEFOLD: 8
from fakefs.
I have pushed up a quick 10 minute implementation (with tests) to jmhodges/fakefs/with_constants. It's a little wet, and I can imagine some people having an issue with it, but it does the job.
A cleaned up version would probably be nice, but this seems acceptable.
from fakefs.
This is me trying to say I'd like a code review before I push it to defunkt's master.
from fakefs.
Okay, so this was actually already fixed. My branch explicitly tested for File.const_defined?(WHATEVER) which was failing even though there was a self.const_missing already there.
So, fixed in 5b5961f.
from fakefs.
Related Issues (20)
- make a 1.0.0 release? HOT 1
- please add ruby2.7 support HOT 3
- tests for the verbose option in cp and mv fail randomly under ruby 2.7 HOT 1
- Regression: FakeFS::File became non-IO HOT 2
- inconsitencies with some methods when passed an empty path HOT 1
- Dir.open() { |foo| ... } differs from standard Dir.open HOT 2
- Dir.glob fails if chdir to a directory that contains plus signs '+' HOT 4
- `File.readlines(path, chomp: true)` isn't supported (standard) HOT 1
- How do I simulate an ELOOP? HOT 4
- IO not mocked (specifically, IO.read not mocked) HOT 1
- How to use with byebug? HOT 2
- Mocking isolated directories HOT 1
- Pathname#glob HOT 3
- Using requests with fakefs HOT 2
- git head testsuite fails with ruby3.2dev for some unavailable method HOT 3
- File system and objects are not auto loaded on Ruby 3.0.4 HOT 5
- Can't use IRB when FakeFS is activated HOT 1
- Pathname's #realdirpath and #realpath do not work (as intended) HOT 1
- Ruby3 Kernel.open() handling of kwargs fails after fakefs deactivation HOT 3
- Calling FileUtils.touch on a symlink with a missing target throws an exception instead of creating the file HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fakefs.