about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--050scenario.cc9
-rw-r--r--051scenario_test.mu2
-rw-r--r--070string.mu62
-rw-r--r--edit/005-sandbox.mu2
-rw-r--r--sandbox/005-sandbox.mu2
5 files changed, 40 insertions, 37 deletions
diff --git a/050scenario.cc b/050scenario.cc
index 9f4c5c86..6b785d5c 100644
--- a/050scenario.cc
+++ b/050scenario.cc
@@ -309,7 +309,10 @@ void check_memory(const string& s) {
 
 void check_type(const string& lhs, istream& in) {
   reagent x(lhs);
-  if (x.properties.at(0).second->value == "string") {
+  const string_tree* type_name = x.properties.at(0).second;
+  if (type_name->value == "array"
+      && type_name->right && type_name->right->value == "character"
+      && !type_name->right->right) {
     x.set_value(to_integer(x.name));
     skip_whitespace_and_comments(in);
     string _assign = next_word(in);
@@ -380,7 +383,7 @@ recipe main [
   3:number <- copy 98  # 'b'
   4:number <- copy 99  # 'c'
   memory-should-contain [
-    1:string <- [ab]
+    1:array:character <- [ab]
   ]
 ]
 +error: expected location 1 to contain length 2 of string [ab] but saw 3
@@ -392,7 +395,7 @@ recipe main [
   3:number <- copy 98  # 'b'
   4:number <- copy 99  # 'c'
   memory-should-contain [
-    1:string <- [abc]
+    1:array:character <- [abc]
   ]
 ]
 +run: checking string length at 1
diff --git a/051scenario_test.mu b/051scenario_test.mu
index 7767451b..3e2e5462 100644
--- a/051scenario_test.mu
+++ b/051scenario_test.mu
@@ -38,7 +38,7 @@ scenario check_string_in_memory [
     4:character <- copy 99  # 'c'
   ]
   memory-should-contain [
-    1:string <- [abc]
+    1:array:character <- [abc]
   ]
 ]
 
diff --git a/070string.mu b/070string.mu
index 640a85c8..91afb08e 100644
--- a/070string.mu
+++ b/070string.mu
@@ -308,7 +308,7 @@ scenario integer-to-decimal-digit-zero [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [0]
+    2:array:character <- [0]
   ]
 ]
 
@@ -318,7 +318,7 @@ scenario integer-to-decimal-digit-positive [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [234]
+    2:array:character <- [234]
   ]
 ]
 
@@ -381,7 +381,7 @@ scenario string-append-1 [
     4:array:character/raw <- copy *3:address:array:character/raw
   ]
   memory-should-contain [
-    4:string <- [hello, world!]
+    4:array:character <- [hello, world!]
   ]
 ]
 
@@ -392,7 +392,7 @@ scenario replace-character-in-string [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [azc]
+    2:array:character <- [azc]
   ]
 ]
 
@@ -417,7 +417,7 @@ scenario replace-character-at-start [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [zbc]
+    2:array:character <- [zbc]
   ]
 ]
 
@@ -428,7 +428,7 @@ scenario replace-character-at-end [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [abz]
+    2:array:character <- [abz]
   ]
 ]
 
@@ -439,7 +439,7 @@ scenario replace-character-missing [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [abc]
+    2:array:character <- [abc]
   ]
 ]
 
@@ -450,7 +450,7 @@ scenario replace-all-characters [
     2:array:character/raw <- copy *1:address:array:character/raw
   ]
   memory-should-contain [
-    2:string <- [bznznz]
+    2:array:character <- [bznznz]
   ]
 ]
 
@@ -539,7 +539,7 @@ scenario interpolate-works [
     4:array:character/raw <- copy *3:address:array:character/raw
   ]
   memory-should-contain [
-    4:string <- [abc def]
+    4:array:character <- [abc def]
   ]
 ]
 
@@ -551,7 +551,7 @@ scenario interpolate-at-start [
     4:array:character/raw <- copy *3:address:array:character/raw
   ]
   memory-should-contain [
-    4:string <- [abc, hello!]
+    4:array:character <- [abc, hello!]
     16 <- 0  # out of bounds
   ]
 ]
@@ -564,7 +564,7 @@ scenario interpolate-at-end [
     4:array:character/raw <- copy *3:address:array:character/raw
   ]
   memory-should-contain [
-    4:string <- [hello, abc]
+    4:array:character <- [hello, abc]
   ]
 ]
 
@@ -687,7 +687,7 @@ scenario trim-unmodified [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [abc]
+    3:array:character <- [abc]
   ]
 ]
 
@@ -698,7 +698,7 @@ scenario trim-left [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [abc]
+    3:array:character <- [abc]
   ]
 ]
 
@@ -709,7 +709,7 @@ scenario trim-right [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [abc]
+    3:array:character <- [abc]
   ]
 ]
 
@@ -720,7 +720,7 @@ scenario trim-left-right [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [abc]
+    3:array:character <- [abc]
   ]
 ]
 
@@ -732,7 +732,7 @@ scenario trim-newline-tab [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [abc]
+    3:array:character <- [abc]
   ]
 ]
 
@@ -1094,8 +1094,8 @@ scenario string-split-1 [
   ]
   memory-should-contain [
     3 <- 2  # length of result
-    10:string <- [a]
-    20:string <- [b]
+    10:array:character <- [a]
+    20:array:character <- [b]
   ]
 ]
 
@@ -1113,9 +1113,9 @@ scenario string-split-2 [
   ]
   memory-should-contain [
     3 <- 3  # length of result
-    10:string <- [a]
-    20:string <- [b]
-    30:string <- [c]
+    10:array:character <- [a]
+    20:array:character <- [b]
+    30:array:character <- [c]
   ]
 ]
 
@@ -1129,7 +1129,7 @@ scenario string-split-missing [
   ]
   memory-should-contain [
     3 <- 1  # length of result
-    10:string <- [abc]
+    10:array:character <- [abc]
   ]
 ]
 
@@ -1160,10 +1160,10 @@ scenario string-split-empty-piece [
   ]
   memory-should-contain [
     3 <- 4  # length of result
-    10:string <- [a]
-    20:string <- [b]
-    30:string <- []
-    40:string <- [c]
+    10:array:character <- [a]
+    20:array:character <- [b]
+    30:array:character <- []
+    40:array:character <- [c]
   ]
 ]
 
@@ -1193,8 +1193,8 @@ scenario string-split-first [
     20:array:character <- copy *3:address:array:character
   ]
   memory-should-contain [
-    10:string <- [a]
-    20:string <- [b]
+    10:array:character <- [a]
+    20:array:character <- [b]
   ]
 ]
 
@@ -1230,7 +1230,7 @@ scenario string-copy-copies-substring [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [bc]
+    3:array:character <- [bc]
   ]
 ]
 
@@ -1241,7 +1241,7 @@ scenario string-copy-out-of-bounds [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- [c]
+    3:array:character <- [c]
   ]
 ]
 
@@ -1252,7 +1252,7 @@ scenario string-copy-out-of-bounds-2 [
     3:array:character <- copy *2:address:array:character
   ]
   memory-should-contain [
-    3:string <- []
+    3:array:character <- []
   ]
 ]
 
diff --git a/edit/005-sandbox.mu b/edit/005-sandbox.mu
index 79da2409..d6e8b8a4 100644
--- a/edit/005-sandbox.mu
+++ b/edit/005-sandbox.mu
@@ -500,6 +500,6 @@ scenario editor-provides-edited-contents [
     4:array:character <- copy *3:address:array:character
   ]
   memory-should-contain [
-    4:string <- [abdefc]
+    4:array:character <- [abdefc]
   ]
 ]
diff --git a/sandbox/005-sandbox.mu b/sandbox/005-sandbox.mu
index 083dcc1c..63d86fb6 100644
--- a/sandbox/005-sandbox.mu
+++ b/sandbox/005-sandbox.mu
@@ -432,6 +432,6 @@ scenario editor-provides-edited-contents [
     4:array:character <- copy *3:address:array:character
   ]
   memory-should-contain [
-    4:string <- [abdefc]
+    4:array:character <- [abdefc]
   ]
 ]