Generate correct C literals for non-ascii characters
This commit is contained in:
parent
cb5ecbd491
commit
070dc76050
4 changed files with 35 additions and 26 deletions
27
spec/compiler/util/string_helpers_spec.cc
Normal file
27
spec/compiler/util/string_helpers_spec.cc
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#include "compiler/compiler_spec_helper.h"
|
||||
#include "compiler/util/string_helpers.h"
|
||||
|
||||
using namespace rules;
|
||||
using util::escape_char;
|
||||
|
||||
START_TEST
|
||||
|
||||
describe("escape_char", []() {
|
||||
it("returns ascii characters as strings", [&]() {
|
||||
AssertThat(escape_char('x'), Equals("'x'"));
|
||||
});
|
||||
|
||||
it("escapes special characters with backslashes", [&]() {
|
||||
AssertThat(escape_char('\\'), Equals("'\\\\'"));
|
||||
AssertThat(escape_char('\n'), Equals("'\\n'"));
|
||||
AssertThat(escape_char('\t'), Equals("'\\t'"));
|
||||
AssertThat(escape_char('\r'), Equals("'\\r'"));
|
||||
AssertThat(escape_char('\''), Equals("'\\''"));
|
||||
});
|
||||
|
||||
it("prints non-ascii characters as numbers", [&]() {
|
||||
AssertThat(escape_char(256), Equals("256"));
|
||||
});
|
||||
});
|
||||
|
||||
END_TEST
|
||||
Loading…
Add table
Add a link
Reference in a new issue