about summary refs log tree commit diff
path: root/src/test/stdtest
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/stdtest')
-rw-r--r--src/test/stdtest/float.rs19
-rw-r--r--src/test/stdtest/stdtest.rc1
2 files changed, 20 insertions, 0 deletions
diff --git a/src/test/stdtest/float.rs b/src/test/stdtest/float.rs
new file mode 100644
index 00000000000..b77d83eb757
--- /dev/null
+++ b/src/test/stdtest/float.rs
@@ -0,0 +1,19 @@
+use std;
+import std::float;
+
+#[test]
+fn test_from_str() {
+   assert ( float::from_str("3.14") == 3.14 );
+   assert ( float::from_str("+3.14") == 3.14 );
+   assert ( float::from_str("-3.14") == -3.14 );
+   assert ( float::from_str("2.5E10") == 25000000000. );
+   assert ( float::from_str("2.5e10") == 25000000000. );
+   assert ( float::from_str("25000000000.E-10") == 2.5 );
+   assert ( float::from_str("") == 0. );
+   assert ( float::from_str("   ") == 0. );
+   assert ( float::from_str(".") == 0. );
+   assert ( float::from_str("5.") == 5. );
+   assert ( float::from_str(".5") == 0.5 );
+   assert ( float::from_str("0.5") == 0.5 );
+
+}
diff --git a/src/test/stdtest/stdtest.rc b/src/test/stdtest/stdtest.rc
index b94f18f77f4..46292756a47 100644
--- a/src/test/stdtest/stdtest.rc
+++ b/src/test/stdtest/stdtest.rc
@@ -29,6 +29,7 @@ mod sys;
 mod task;
 mod test;
 mod uint;
+mod float;
 
 // Local Variables:
 // mode: rust