Browse Source

Fix tests

David Peter 2 years ago
parent
commit
7d217f37bd
2 changed files with 12 additions and 8 deletions
  1. 2 2
      numbat-cli/tests/integration.rs
  2. 10 6
      numbat/src/markup.rs

+ 2 - 2
numbat-cli/tests/integration.rs

@@ -11,7 +11,7 @@ fn pass_expression_on_command_line() {
         .arg("2 meter + 3 meter")
         .assert()
         .success()
-        .stdout(predicates::str::contains("5.000000 meter"));
+        .stdout(predicates::str::contains("5.0 meter"));
 
     numbat()
         .arg("--expression")
@@ -63,5 +63,5 @@ fn without_prelude() {
         .arg("2 + 3")
         .assert()
         .success()
-        .stdout(predicates::str::contains("5.000000"));
+        .stdout(predicates::str::contains("5.0"));
 }

+ 10 - 6
numbat/src/markup.rs

@@ -28,11 +28,7 @@ impl Markup {
     }
 
     pub fn to_string(self) -> String {
-        let mut result: String = String::new();
-        for part in self.0 {
-            result += &part.2;
-        }
-        result
+        PlainTextFormatter{}.format(self, false)
     }
 }
 
@@ -140,10 +136,18 @@ pub trait Formatter {
         }
         for part in markup.0 {
             output.push_str(&self.format_part(&part));
-            if indent && part.2.contains("\n") {
+            if indent && part.2.contains('\n') {
                 output.push_str(&spaces);
             }
         }
         output
     }
 }
+
+struct PlainTextFormatter;
+
+impl Formatter for PlainTextFormatter {
+    fn format_part(&self, FormattedString(_, _, text): &FormattedString) -> String {
+        text.clone()
+    }
+}