summaryrefslogtreecommitdiff
path: root/tests/fs/test_writeFile.cc
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2014-05-07 16:28:52 -0700
committerDan Gohman <sunfish@mozilla.com>2014-05-07 16:36:57 -0700
commit42357af40b707c282d00f335bee1e87aab505a1e (patch)
tree82fd4e3dd088e7ac28758c16a8af765c911531c2 /tests/fs/test_writeFile.cc
parent490a4b27d1f8a93f09d44dc725e6042dcd7bd635 (diff)
Add the testcase for https://github.com/kripken/emscripten/issues/2334 to the testsuite.
Diffstat (limited to 'tests/fs/test_writeFile.cc')
-rw-r--r--tests/fs/test_writeFile.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/fs/test_writeFile.cc b/tests/fs/test_writeFile.cc
new file mode 100644
index 00000000..31466b8e
--- /dev/null
+++ b/tests/fs/test_writeFile.cc
@@ -0,0 +1,43 @@
+// https://github.com/kripken/emscripten/issues/2334
+
+#include <fstream>
+#include <iostream>
+#include <string>
+
+#include <emscripten/emscripten.h>
+
+int main()
+{
+ EM_ASM(
+ FS.writeFile("testfile", "a=1\nb=2\nc=3");
+ );
+
+ std::ifstream file("testfile");
+
+ while(!file.eof() && !file.fail())
+ {
+ std::string line;
+ getline(file, line);
+ std::string name;
+
+ std::cout << "read " << line << std::endl;
+
+ size_t equalsPos = 1;
+
+ size_t notSpace = line.find_first_not_of(" \t", equalsPos);
+
+ if(notSpace != std::string::npos && notSpace != equalsPos)
+ {
+ line.erase(std::remove_if(line.begin(), line.begin() + notSpace, isspace), line.end());
+
+ equalsPos = line.find('=');
+ }
+
+ if(equalsPos == std::string::npos)
+ continue;
+
+ name = line.substr(0, equalsPos);
+ }
+
+ return 0;
+}