natalie
natalie copied to clipboard
Implement methods of String
Our main approach is to work on one spec from ruby/spec at a time, implementing as much of the spec as possible, then check it off the list:
- [x] allocate_spec.rb
- [x] append_spec.rb
- [x] ascii_only_spec.rb
- [x] b_spec.rb
- [x] byteindex_spec.rb
- [x] byterindex_spec.rb
- [x] bytesize_spec.rb
- [x] byteslice_spec.rb
- [ ] bytesplice_spec.rb
- [x] bytes_spec.rb
- [x] capitalize_spec.rb
- [x] casecmp_spec.rb
- [x] case_compare_spec.rb
- [x] center_spec.rb
- [x] chars_spec.rb
- [ ] chilled_string_spec.rb
- [x] chomp_spec.rb
- [x] chop_spec.rb
- [x] chr_spec.rb
- [x] clear_spec.rb
- [x] clone_spec.rb
- [x] codepoints_spec.rb
- [x] comparison_spec.rb
- [x] concat_spec.rb
- [x] count_spec.rb
- [x] crypt_spec.rb
- [ ] dedup_spec.rb
- [x] delete_prefix_spec.rb
- [x] delete_spec.rb
- [x] delete_suffix_spec.rb
- [x] downcase_spec.rb
- [x] dump_spec.rb
- [x] dup_spec.rb
- [x] each_byte_spec.rb
- [x] each_char_spec.rb
- [x] each_codepoint_spec.rb
- [x] each_grapheme_cluster_spec.rb
- [x] each_line_spec.rb
- [x] element_reference_spec.rb
- [x] element_set_spec.rb
- [x] empty_spec.rb
- [x] encode_spec.rb
- [x] encoding_spec.rb
- [x] end_with_spec.rb
- [x] eql_spec.rb
- [x] equal_value_spec.rb
- [x] force_encoding_spec.rb
- [x] freeze_spec.rb
- [x] getbyte_spec.rb
- [x] grapheme_clusters_spec.rb
- [x] gsub_spec.rb
- [x] hash_spec.rb
- [x] hex_spec.rb
- [x] include_spec.rb
- [x] index_spec.rb
- [x] initialize_spec.rb
- [x] insert_spec.rb
- [ ] inspect_spec.rb
- [x] intern_spec.rb
- [ ] length_spec.rb
- [ ] lines_spec.rb
- [x] ljust_spec.rb
- [x] lstrip_spec.rb
- [ ] match_spec.rb
- [x] modulo_spec.rb
- [x] multiply_spec.rb
- [x] new_spec.rb
- [ ] next_spec.rb
- [ ] oct_spec.rb
- [x] ord_spec.rb
- [x] partition_spec.rb
- [ ] plus_spec.rb
- [x] prepend_spec.rb
- [x] replace_spec.rb
- [x] reverse_spec.rb
- [ ] rindex_spec.rb
- [ ] rjust_spec.rb
- [ ] rpartition_spec.rb
- [x] rstrip_spec.rb
- [x] scan_spec.rb
- [ ] scrub_spec.rb
- [x] setbyte_spec.rb
- [x] size_spec.rb
- [ ] slice_spec.rb
- [ ] split_spec.rb
- [ ] squeeze_spec.rb
- [x] start_with_spec.rb
- [x] string_spec.rb
- [x] strip_spec.rb
- [x] sub_spec.rb
- [ ] succ_spec.rb
- [x] sum_spec.rb
- [ ] swapcase_spec.rb
- [ ] to_c_spec.rb
- [ ] to_f_spec.rb
- [x] to_i_spec.rb
- [x] to_r_spec.rb
- [x] to_s_spec.rb
- [x] to_str_spec.rb
- [x] to_sym_spec.rb
- [x] tr_spec.rb
- [ ] tr_s_spec.rb
- [x] try_convert_spec.rb
- [ ] uminus_spec.rb
- [ ] undump_spec.rb
- [ ] unicode_normalized_spec.rb
- [ ] unicode_normalize_spec.rb
- [ ] unpack1_spec.rb
- [ ] unpack_spec.rb
- [x] upcase_spec.rb
- [x] uplus_spec.rb
- [x] upto_spec.rb
- [x] valid_encoding_spec.rb
Note: there is another issue for String#unpack
here: #667
Both String#lstrip
and String#rstrip
are spec-compliant!
String#size
is also spec-compliant (minus the encoding tests).
String#center
is spec-compliant since #518 too :)