So I have two multiline javascript strings which should be equal that I am comparing. However, Travis is interpreting one of the strings with multiple replacement characters (�).
I’m guessing it might have something to do with utf8 encoding. The table characters like https://graphemica.com/┘ are represented with 3 bytes but utf8 encodes characters with 1 byte (8 bits).
Here is an example of what the string looks like:
Listing open pull requests on protoEvangelion/gh
protoEvangelion/gh
master (1)
┌─────────┬───────────────────────────────────────────────┬─────────────────────┬───────────────┬────────┐
│ # │ Details │ Author │ Opened │ Status │
├─────────┼───────────────────────────────────────────────┼─────────────────────┼───────────────┼────────┤
│ #55 │ Title: │ @protoEvangelion │ a year ago │ ✓ │
│ │ │ │ │ │
│ │ pr title │ │ │ │
│ │ │ │ │ │
│ │ Body: │ │ │ │
│ │ │ │ │ │
│ │ pr description │ │ │ │
│ │ │ │ │ │
│ │ https://github.com/protoEvangelion/gh/pull/55 │ │ │ │
└─────────┴───────────────────────────────────────────────┴─────────────────────┴───────────────┴────────┘
On my local mac machine tests pass. I have tried everything I could think of to fix this for days but have not been able to solve it.
This issue is also reported here in 2016 but is still an issue: https://github.com/travis-ci/travis-ci/issues/7024
Here is an example job that you can view a failing test that includes the replacement character: https://travis-ci.org/node-gh/gh/jobs/486625312